47 lines
1.6 KiB
Diff
47 lines
1.6 KiB
Diff
From: Lars-Peter Clausen <lars@metafoo.de>
|
|
Date: Wed, 16 Nov 2011 10:13:36 +0100
|
|
Subject: I2C: Add helper macro for i2c_driver boilerplate
|
|
|
|
commit 7c92784a546d2945b6d6973a30f7134be78eb7a4 upstream.
|
|
|
|
This patch introduces the module_i2c_driver macro which is a convenience macro
|
|
for I2C driver modules similar to module_platform_driver. It is intended to be
|
|
used by drivers which init/exit section does nothing but register/unregister
|
|
the I2C driver. By using this macro it is possible to eliminate a few lines of
|
|
boilerplate code per I2C driver.
|
|
|
|
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
|
|
Acked-by: Grant Likely <grant.likely@secretlab.ca>
|
|
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
|
|
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
|
|
Acked-by: Jean Delvare <khali@linux-fr.org>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
---
|
|
include/linux/i2c.h | 13 +++++++++++++
|
|
1 file changed, 13 insertions(+)
|
|
|
|
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
|
|
index a81bf6d..7e92854 100644
|
|
--- a/include/linux/i2c.h
|
|
+++ b/include/linux/i2c.h
|
|
@@ -485,6 +485,19 @@ static inline int i2c_adapter_id(struct i2c_adapter *adap)
|
|
{
|
|
return adap->nr;
|
|
}
|
|
+
|
|
+/**
|
|
+ * module_i2c_driver() - Helper macro for registering a I2C driver
|
|
+ * @__i2c_driver: i2c_driver struct
|
|
+ *
|
|
+ * Helper macro for I2C 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_i2c_driver(__i2c_driver) \
|
|
+ module_driver(__i2c_driver, i2c_add_driver, \
|
|
+ i2c_del_driver)
|
|
+
|
|
#endif /* I2C */
|
|
#endif /* __KERNEL__ */
|
|
|