]> git.baikalelectronics.ru Git - kernel.git/commit
USB: Select better matching USB drivers when available
authorBastien Nocera <hadess@hadess.net>
Wed, 16 Oct 2019 09:39:31 +0000 (11:39 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 12 Feb 2020 19:01:55 +0000 (11:01 -0800)
commit7688d7f5dbf38605357d625923acb5694a7f984b
tree74bb40156ebfcf5b169cb703c6b79821d26913ca
parent1037def6e101ae1d660111c1d6eb587f0d2af102
USB: Select better matching USB drivers when available

Now that USB device drivers can reuse code from the generic USB device
driver, we need to make sure that they get selected rather than the
generic driver. Add an id_table and match vfunc to the usb_device_driver
struct, which will get used to select a better matching driver at
->probe time.

This is a similar mechanism to that used in the HID drivers, with the
generic driver being selected unless there's a better matching one found
in the registered drivers (see hid_generic_match() in
drivers/hid/hid-generic.c).

Signed-off-by: Bastien Nocera <hadess@hadess.net>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/20191016093933.693-5-hadess@hadess.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/driver.c
drivers/usb/core/generic.c
include/linux/usb.h