Commit b71b283e authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

USB: add support for dev_groups to struct usb_driver

Now that the driver core supports dev_groups for individual drivers,
expose that pointer to struct usb_driver to make it easier for USB
drivers to also use it.
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20190806144502.17792-2-gregkh@linuxfoundation.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 91148dba
...@@ -954,6 +954,7 @@ int usb_register_driver(struct usb_driver *new_driver, struct module *owner, ...@@ -954,6 +954,7 @@ int usb_register_driver(struct usb_driver *new_driver, struct module *owner,
new_driver->drvwrap.driver.remove = usb_unbind_interface; new_driver->drvwrap.driver.remove = usb_unbind_interface;
new_driver->drvwrap.driver.owner = owner; new_driver->drvwrap.driver.owner = owner;
new_driver->drvwrap.driver.mod_name = mod_name; new_driver->drvwrap.driver.mod_name = mod_name;
new_driver->drvwrap.driver.dev_groups = new_driver->dev_groups;
spin_lock_init(&new_driver->dynids.lock); spin_lock_init(&new_driver->dynids.lock);
INIT_LIST_HEAD(&new_driver->dynids.list); INIT_LIST_HEAD(&new_driver->dynids.list);
......
...@@ -1151,6 +1151,8 @@ struct usbdrv_wrap { ...@@ -1151,6 +1151,8 @@ struct usbdrv_wrap {
* @id_table: USB drivers use ID table to support hotplugging. * @id_table: USB drivers use ID table to support hotplugging.
* Export this with MODULE_DEVICE_TABLE(usb,...). This must be set * Export this with MODULE_DEVICE_TABLE(usb,...). This must be set
* or your driver's probe function will never get called. * or your driver's probe function will never get called.
* @dev_groups: Attributes attached to the device that will be created once it
* is bound to the driver.
* @dynids: used internally to hold the list of dynamically added device * @dynids: used internally to hold the list of dynamically added device
* ids for this driver. * ids for this driver.
* @drvwrap: Driver-model core structure wrapper. * @drvwrap: Driver-model core structure wrapper.
...@@ -1198,6 +1200,7 @@ struct usb_driver { ...@@ -1198,6 +1200,7 @@ struct usb_driver {
int (*post_reset)(struct usb_interface *intf); int (*post_reset)(struct usb_interface *intf);
const struct usb_device_id *id_table; const struct usb_device_id *id_table;
const struct attribute_group **dev_groups;
struct usb_dynids dynids; struct usb_dynids dynids;
struct usbdrv_wrap drvwrap; struct usbdrv_wrap drvwrap;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment