Re: [PATCH 2/5] I2C: Add helper macro for i2c_driver boilerplate

From: Grant Likely
Date: Wed Nov 16 2011 - 12:12:44 EST


On Wed, Nov 16, 2011 at 2:13 AM, Lars-Peter Clausen <lars@xxxxxxxxxx> wrote:
> 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@xxxxxxxxxx>

Acked-by: Grant Likely <grant.likely@xxxxxxxxxxxx>

> ---
>  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
>
>
>



--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/