Re: [PATCH 3/5] SPI: Add helper macro for spi_driver boilerplate

2011-11-23 Thread Lars-Peter Clausen
On 11/24/2011 01:13 AM, Ben Dooks wrote:
> On Wed, Nov 16, 2011 at 10:12:54AM -0700, Grant Likely wrote:
>> On Wed, Nov 16, 2011 at 2:13 AM, Lars-Peter Clausen  wrote:
>>> This patch introduces the module_spi_driver macro which is a convenience 
>>> macro
>>> for SPI 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 SPI driver. By using this macro it is possible to eliminate a few lines 
>>> of
>>> boilerplate code per SPI driver.
>>>
>>> Signed-off-by: Lars-Peter Clausen 
>>
>> Acked-by: Grant Likely 
> 
> I'm begining to think we need to make some of these driver and device
> bits more generic... there seems to be so much similar but not quite
> the same code.
> 

I've been thinking the same. A good start would probably be consolidating
the platform/spi/i2c device id handling code. Since those are all name based
ids the code for handling them looks rather similar, though there are some
minor differences.

- Lars
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/5] SPI: Add helper macro for spi_driver boilerplate

2011-11-23 Thread Ben Dooks
On Wed, Nov 16, 2011 at 10:12:54AM -0700, Grant Likely wrote:
> On Wed, Nov 16, 2011 at 2:13 AM, Lars-Peter Clausen  wrote:
> > This patch introduces the module_spi_driver macro which is a convenience 
> > macro
> > for SPI 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 SPI driver. By using this macro it is possible to eliminate a few lines 
> > of
> > boilerplate code per SPI driver.
> >
> > Signed-off-by: Lars-Peter Clausen 
> 
> Acked-by: Grant Likely 

I'm begining to think we need to make some of these driver and device
bits more generic... there seems to be so much similar but not quite
the same code.

-- 
Ben Dooks, b...@fluff.org, http://www.fluff.org/ben/

Large Hadron Colada: A large Pina Colada that makes the universe disappear.

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 3/5] SPI: Add helper macro for spi_driver boilerplate

2011-11-16 Thread Grant Likely
On Wed, Nov 16, 2011 at 2:13 AM, Lars-Peter Clausen  wrote:
> This patch introduces the module_spi_driver macro which is a convenience macro
> for SPI 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 SPI driver. By using this macro it is possible to eliminate a few lines of
> boilerplate code per SPI driver.
>
> Signed-off-by: Lars-Peter Clausen 

Acked-by: Grant Likely 

> ---
>  include/linux/spi/spi.h |   11 +++
>  1 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
> index bb4f5fb..176fce9 100644
> --- a/include/linux/spi/spi.h
> +++ b/include/linux/spi/spi.h
> @@ -200,6 +200,17 @@ static inline void spi_unregister_driver(struct 
> spi_driver *sdrv)
>                driver_unregister(&sdrv->driver);
>  }
>
> +/**
> + * module_spi_driver() - Helper macro for registering a SPI driver
> + * @__spi_driver: spi_driver struct
> + *
> + * Helper macro for SPI 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_spi_driver(__spi_driver) \
> +       module_driver(__spi_driver, spi_register_driver, \
> +                       spi_unregister_driver)
>
>  /**
>  * struct spi_master - interface to SPI master controller
> --
> 1.7.7.1
>
>
>



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


[PATCH 3/5] SPI: Add helper macro for spi_driver boilerplate

2011-11-16 Thread Lars-Peter Clausen
This patch introduces the module_spi_driver macro which is a convenience macro
for SPI 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 SPI driver. By using this macro it is possible to eliminate a few lines of
boilerplate code per SPI driver.

Signed-off-by: Lars-Peter Clausen 
---
 include/linux/spi/spi.h |   11 +++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h
index bb4f5fb..176fce9 100644
--- a/include/linux/spi/spi.h
+++ b/include/linux/spi/spi.h
@@ -200,6 +200,17 @@ static inline void spi_unregister_driver(struct spi_driver 
*sdrv)
driver_unregister(&sdrv->driver);
 }
 
+/**
+ * module_spi_driver() - Helper macro for registering a SPI driver
+ * @__spi_driver: spi_driver struct
+ *
+ * Helper macro for SPI 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_spi_driver(__spi_driver) \
+   module_driver(__spi_driver, spi_register_driver, \
+   spi_unregister_driver)
 
 /**
  * struct spi_master - interface to SPI master controller
-- 
1.7.7.1


--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html