summaryrefslogtreecommitdiffstats
path: root/include/pcmcia
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2013-03-06 19:24:44 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-03-15 20:26:03 +0100
commit6ed7ffddcf61f668114edb676417e5fb33773b59 (patch)
tree931cc141550bbe82283e96b713f296c9e271f258 /include/pcmcia
parentdrivers: char: use module_platform_driver_probe() (diff)
downloadlinux-6ed7ffddcf61f668114edb676417e5fb33773b59.tar.xz
linux-6ed7ffddcf61f668114edb676417e5fb33773b59.zip
pcmcia/ds.h: introduce helper for pcmcia_driver module boilerplate
Introduce the module_pcmcia_driver() macro which is a convenience macro for pcmcia driver modules. It is intended to be used by pcmcia drivers with init/exit sections that do nothing but register/unregister the pcmcia driver. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: linux-pcmcia@lists.infradead.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/pcmcia')
-rw-r--r--include/pcmcia/ds.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h
index 3bbbd78e1439..2d56e428506c 100644
--- a/include/pcmcia/ds.h
+++ b/include/pcmcia/ds.h
@@ -65,6 +65,18 @@ struct pcmcia_driver {
int pcmcia_register_driver(struct pcmcia_driver *driver);
void pcmcia_unregister_driver(struct pcmcia_driver *driver);
+/**
+ * module_pcmcia_driver() - Helper macro for registering a pcmcia driver
+ * @__pcmcia_driver: pcmcia_driver struct
+ *
+ * Helper macro for pcmcia 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_pcmcia_driver(__pcmcia_driver) \
+ module_driver(__pcmcia_driver, pcmcia_register_driver, \
+ pcmcia_unregister_driver)
+
/* for struct resource * array embedded in struct pcmcia_device */
enum {
PCMCIA_IOPORT_0,