usb: kbd: Do not deregister usbkbd twice when using dm
The dm usb_kbd_remove function() will deregister the usb keyboard for us on a "usb reset" / "usb stop" so there is no need to manually call usb_kbd_deregister() in the dm case. This commit removes usb_kbd_deregister() in the dm case fixing the following "usb reset" errors: usb_kbd_remove: warning, ret=-6 device_remove: Device 'usb_kbd' failed to remove, but children are gone Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
cfb3f1cd0e
commit
9a80e71435
|
@ -541,7 +541,7 @@ static int do_usbboot(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
|
|
||||||
static int do_usb_stop_keyboard(int force)
|
static int do_usb_stop_keyboard(int force)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_USB_KEYBOARD
|
#if !defined CONFIG_DM_USB && defined CONFIG_USB_KEYBOARD
|
||||||
if (usb_kbd_deregister(force) != 0) {
|
if (usb_kbd_deregister(force) != 0) {
|
||||||
printf("USB not stopped: usbkbd still using USB\n");
|
printf("USB not stopped: usbkbd still using USB\n");
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -566,7 +566,6 @@ int drv_usb_kbd_init(void)
|
||||||
/* No USB Keyboard found */
|
/* No USB Keyboard found */
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Deregister the keyboard. */
|
/* Deregister the keyboard. */
|
||||||
int usb_kbd_deregister(int force)
|
int usb_kbd_deregister(int force)
|
||||||
|
@ -599,6 +598,8 @@ int usb_kbd_deregister(int force)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_DM_USB
|
#ifdef CONFIG_DM_USB
|
||||||
|
|
||||||
static int usb_kbd_probe(struct udevice *dev)
|
static int usb_kbd_probe(struct udevice *dev)
|
||||||
|
|
Loading…
Reference in New Issue