Now that the driver core supports the ability for individual drivers to have attribute groups added/removed when a device is bound/unbound to a driver automatically, we should take advantage of that in the USB subsystem. This patch series adds dev_groups support to struct usb_driver and struct usb_device_driver (needed for the usbip driver), and then converts a number of individual USB drivers over to use this api. Greg Kroah-Hartman (12): USB: add support for dev_groups to struct usb_driver USB: add support for dev_groups to struct usb_device_driver USB: atm: cxacru: convert to use dev_groups USB: ueagle-atm: convert to use dev_groups USB: usblp: convert to use dev_groups USB: usbtmc: convert to use dev_groups USB: cypress_cy7c63: convert to use dev_groups USB: cytherm: convert to use dev_groups USB: lvstest: convert to use dev_groups USB: trancevibrator: convert to use dev_groups USB: usbsevseg: convert to use dev_groups USB: usbip: convert to use dev_groups drivers/usb/atm/cxacru.c | 58 ++++++++++++++++------------ drivers/usb/atm/ueagle-atm.c | 16 ++------ drivers/usb/class/usblp.c | 13 ++++--- drivers/usb/class/usbtmc.c | 13 ++----- drivers/usb/core/driver.c | 2 + drivers/usb/misc/cypress_cy7c63.c | 29 ++++---------- drivers/usb/misc/cytherm.c | 64 +++++++++---------------------- drivers/usb/misc/lvstest.c | 19 ++------- drivers/usb/misc/trancevibrator.c | 15 ++++---- drivers/usb/misc/usbsevseg.c | 17 ++------ drivers/usb/usbip/stub_dev.c | 50 ++++-------------------- include/linux/usb.h | 6 +++ 12 files changed, 104 insertions(+), 198 deletions(-) -- 2.22.0