[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1321434819-23678-3-git-send-email-lars@metafoo.de>
Date: Wed, 16 Nov 2011 10:13:36 +0100
From: Lars-Peter Clausen <lars@...afoo.de>
To: Greg Kroah-Hartman <gregkh@...e.de>,
Jean Delvare <khali@...ux-fr.org>,
Grant Likely <grant.likely@...retlab.ca>
CC: Jonathan Cameron <jic23@...nel.org>,
Michael Hennerich <Michael.Hennerich@...log.com>,
<linux-iio@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-i2c@...r.kernel.org>,
<spi-devel-general@...ts.sourceforge.net>,
Lars-Peter Clausen <lars@...afoo.de>
Subject: [PATCH 2/5] I2C: Add helper macro for i2c_driver boilerplate
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@...afoo.de>
---
include/linux/i2c.h | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
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__ */
--
1.7.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists