diff options
author | Peter Huewe <PeterHuewe@gmx.de> | 2015-03-16 21:46:30 +0100 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2015-03-18 22:39:16 +0100 |
commit | 95c0fd457b03099b5ce385f3982e06d01ad42c5c (patch) | |
tree | 7713cb18831fa024ea9a45b5fd54e3a038d9fcc8 /include/linux/pnp.h | |
parent | 2eb1eb02dda368fb224bf5a379d2448c742b71db (diff) | |
download | lwn-95c0fd457b03099b5ce385f3982e06d01ad42c5c.tar.gz lwn-95c0fd457b03099b5ce385f3982e06d01ad42c5c.zip |
PNP: Add helper macro for pnp_register_driver boilerplate
This patch introduces the module_pnp_driver macro which is a
convenience macro for PNP driver modules similar to module_pci_driver.
It is intended to be used by drivers which init/exit section does nothing
but register/unregister the PNP driver. By using this macro it is
possible to eliminate a few lines of boilerplate code per PNP driver.
Based on work done by Lars-Peter Clausen <lars@metafoo.de> for other
busses (i2c and spi) and Greg KH for PCI.
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include/linux/pnp.h')
-rw-r--r-- | include/linux/pnp.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/pnp.h b/include/linux/pnp.h index 6512e9cbc6d5..5df733b8f704 100644 --- a/include/linux/pnp.h +++ b/include/linux/pnp.h @@ -510,4 +510,16 @@ static inline void pnp_unregister_driver(struct pnp_driver *drv) { } #endif /* CONFIG_PNP */ +/** + * module_pnp_driver() - Helper macro for registering a PnP driver + * @__pnp_driver: pnp_driver struct + * + * Helper macro for PnP drivers which do not do anything special in module + * init/exit. This eliminates a lot of boilerplate. Each module may only + * use this macro once, and calling it replaces module_init() and module_exit() + */ +#define module_pnp_driver(__pnp_driver) \ + module_driver(__pnp_driver, pnp_register_driver, \ + pnp_unregister_driver) + #endif /* _LINUX_PNP_H */ |