@ -108,9 +108,8 @@ static int usb_emul_get_descriptor(struct usb_dev_platdata *plat, int value,
return upto ? upto : length ? - EIO : 0 ;
}
int usb_emul_find ( struct udevice * bus , ulong pipe , struct udevice * * emulp )
static int usb_emul_find_devnum ( int devnum , struct udevice * * emulp )
{
int devnum = usb_pipedevice ( pipe ) ;
struct udevice * dev ;
struct uclass * uc ;
int ret ;
@ -134,6 +133,20 @@ int usb_emul_find(struct udevice *bus, ulong pipe, struct udevice **emulp)
return - ENOENT ;
}
int usb_emul_find ( struct udevice * bus , ulong pipe , struct udevice * * emulp )
{
int devnum = usb_pipedevice ( pipe ) ;
return usb_emul_find_devnum ( devnum , emulp ) ;
}
int usb_emul_find_for_dev ( struct udevice * dev , struct udevice * * emulp )
{
struct usb_dev_platdata * udev = dev_get_parent_platdata ( dev ) ;
return usb_emul_find_devnum ( udev - > devnum , emulp ) ;
}
int usb_emul_control ( struct udevice * emul , struct usb_device * udev ,
unsigned long pipe , void * buffer , int length ,
struct devrequest * setup )