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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/16/2011 05:12 PM, Grant Likely wrote:
> 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>
Acked-by: Jonathan Cameron <jic23@xxxxxxxxx>
> 
>> ---
>>  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-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux