Message ID | 20210510163625.407105-9-andrey.grodzovsky@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | RFC Support hot device unplug in amdgpu | expand |
In subject: PCI: Add support for dev_groups to struct pci_driver (not "struct pci_device_driver," which does not exist) On Mon, May 10, 2021 at 12:36:17PM -0400, Andrey Grodzovsky wrote: > This helps converting PCI drivers sysfs attributes to static. > > Analogous to b71b283e3d6d ("USB: add support for dev_groups to > struct usb_driver") > > Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com> > Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> With the subject change above, Acked-by: Bjorn Helgaas <bhelgaas@google.com> > --- > drivers/pci/pci-driver.c | 1 + > include/linux/pci.h | 3 +++ > 2 files changed, 4 insertions(+) > > diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c > index ec44a79e951a..3a72352aa5cf 100644 > --- a/drivers/pci/pci-driver.c > +++ b/drivers/pci/pci-driver.c > @@ -1385,6 +1385,7 @@ int __pci_register_driver(struct pci_driver *drv, struct module *owner, > drv->driver.owner = owner; > drv->driver.mod_name = mod_name; > drv->driver.groups = drv->groups; > + drv->driver.dev_groups = drv->dev_groups; > > spin_lock_init(&drv->dynids.lock); > INIT_LIST_HEAD(&drv->dynids.list); > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 86c799c97b77..b57755b03009 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -858,6 +858,8 @@ struct module; > * number of VFs to enable via sysfs "sriov_numvfs" file. > * @err_handler: See Documentation/PCI/pci-error-recovery.rst > * @groups: Sysfs attribute groups. > + * @dev_groups: Attributes attached to the device that will be > + * created once it is bound to the driver. > * @driver: Driver model structure. > * @dynids: List of dynamically added device IDs. > */ > @@ -873,6 +875,7 @@ struct pci_driver { > int (*sriov_configure)(struct pci_dev *dev, int num_vfs); /* On PF */ > const struct pci_error_handlers *err_handler; > const struct attribute_group **groups; > + const struct attribute_group **dev_groups; > struct device_driver driver; > struct pci_dynids dynids; > }; > -- > 2.25.1 >
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index ec44a79e951a..3a72352aa5cf 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c @@ -1385,6 +1385,7 @@ int __pci_register_driver(struct pci_driver *drv, struct module *owner, drv->driver.owner = owner; drv->driver.mod_name = mod_name; drv->driver.groups = drv->groups; + drv->driver.dev_groups = drv->dev_groups; spin_lock_init(&drv->dynids.lock); INIT_LIST_HEAD(&drv->dynids.list); diff --git a/include/linux/pci.h b/include/linux/pci.h index 86c799c97b77..b57755b03009 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -858,6 +858,8 @@ struct module; * number of VFs to enable via sysfs "sriov_numvfs" file. * @err_handler: See Documentation/PCI/pci-error-recovery.rst * @groups: Sysfs attribute groups. + * @dev_groups: Attributes attached to the device that will be + * created once it is bound to the driver. * @driver: Driver model structure. * @dynids: List of dynamically added device IDs. */ @@ -873,6 +875,7 @@ struct pci_driver { int (*sriov_configure)(struct pci_dev *dev, int num_vfs); /* On PF */ const struct pci_error_handlers *err_handler; const struct attribute_group **groups; + const struct attribute_group **dev_groups; struct device_driver driver; struct pci_dynids dynids; };
This helps converting PCI drivers sysfs attributes to static. Analogous to b71b283e3d6d ("USB: add support for dev_groups to struct usb_driver") Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com> Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- drivers/pci/pci-driver.c | 1 + include/linux/pci.h | 3 +++ 2 files changed, 4 insertions(+)