PCI: Add builtin_pci_driver() to avoid registration boilerplate
In f309d44431
("platform_device: better support builtin boilerplate
avoidance"), we introduced the builtin_driver() macro.
Here we use that support and extend it to PCI driver registration, so where
a driver is clearly non-modular and builtin-only, we can register it in a
similar fashion. Existing code that is clearly non-modular can be updated
with the simple mapping of
module_pci_driver(...) ---> builtin_pci_driver(...)
We've essentially cloned the former to make the latter, and taken out the
remove/module_exit parts since those never get used in a non-modular build
of the code.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
9222097f0d
commit
b4eb6cdbbd
|
@ -1192,6 +1192,17 @@ void pci_unregister_driver(struct pci_driver *dev);
|
|||
module_driver(__pci_driver, pci_register_driver, \
|
||||
pci_unregister_driver)
|
||||
|
||||
/**
|
||||
* builtin_pci_driver() - Helper macro for registering a PCI driver
|
||||
* @__pci_driver: pci_driver struct
|
||||
*
|
||||
* Helper macro for PCI drivers which do not do anything special in their
|
||||
* init code. This eliminates a lot of boilerplate. Each driver may only
|
||||
* use this macro once, and calling it replaces device_initcall(...)
|
||||
*/
|
||||
#define builtin_pci_driver(__pci_driver) \
|
||||
builtin_driver(__pci_driver, pci_register_driver)
|
||||
|
||||
struct pci_driver *pci_dev_driver(const struct pci_dev *dev);
|
||||
int pci_add_dynid(struct pci_driver *drv,
|
||||
unsigned int vendor, unsigned int device,
|
||||
|
|
Loading…
Reference in New Issue