All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: Wolfram Sang <wsa@the-dreams.de>
Cc: linux-kernel@vger.kernel.org, Lee Jones <lee.jones@linaro.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Alexandre Courbot <gnurou@gmail.com>,
	linux-gpio@vger.kernel.org, linux-i2c@vger.kernel.org
Subject: Re: [PATCH] i2c: create builtin_i2c_driver to avoid registration boilerplate
Date: Tue, 12 Jan 2016 10:45:41 -0500	[thread overview]
Message-ID: <56951FA5.1070206@windriver.com> (raw)
In-Reply-To: <1450038799-27995-1-git-send-email-paul.gortmaker@windriver.com>

On 2015-12-13 03:33 PM, Paul Gortmaker wrote:
> In commit f309d4443130bf814e991f836e919dca22df37ae ("platform_device:
> better support builtin boilerplate avoidance") we introduced the
> builtin_driver macro.
> 
> Here we use that support and extend it to I2C driver registration,
> so where a driver is clearly non-modular and builtin-only, we can
> register it in a similar fashion.  And existing code that is clearly
> non-modular can be updated with the simple mapping of
> 
>      module_i2c_driver(...)  ---> builtin_i2c_driver(...)
> 
> We've essentially cloned the former to make the latter, and taken
> out the remove/module_exit parts since those never get used in a
> non-modular build of the code.
> 
> A similar thing was done in commit b4eb6cdbbd13698704863f680c643c569909e1c2
> ("PCI: Add builtin_pci_driver() to avoid registration boilerplate").
> 
> Cc: Wolfram Sang <wsa@the-dreams.de>
> Cc: Lee Jones <lee.jones@linaro.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Alexandre Courbot <gnurou@gmail.com>
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-i2c@vger.kernel.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> ---
> 
> [I've about 10 drivers/mfd and one drivers/gpio users of this in
>  my personal testing queue, but obviously I can't submit those
>  until builtin_i2c_driver makes it to mainline.  Since there are
>  no drivers/i2c users yet this change is sent to i2c on its own.]

Hi Wolfram,

Was wondering if this is still in consideration for 4.5, so as per
the above info, I can make use of it in MFD in 4.6 without worrying
about cross maintainer dependencies.

Thanks,
Paul.
--
> 
>  include/linux/i2c.h | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/include/linux/i2c.h b/include/linux/i2c.h
> index 768063baafbf..d3ca750bfcdf 100644
> --- a/include/linux/i2c.h
> +++ b/include/linux/i2c.h
> @@ -622,7 +622,7 @@ static inline int i2c_adapter_id(struct i2c_adapter *adap)
>  }
>  
>  /**
> - * module_i2c_driver() - Helper macro for registering a I2C driver
> + * module_i2c_driver() - Helper macro for registering a modular I2C driver
>   * @__i2c_driver: i2c_driver struct
>   *
>   * Helper macro for I2C drivers which do not do anything special in module
> @@ -633,6 +633,17 @@ static inline int i2c_adapter_id(struct i2c_adapter *adap)
>  	module_driver(__i2c_driver, i2c_add_driver, \
>  			i2c_del_driver)
>  
> +/**
> + * builtin_i2c_driver() - Helper macro for registering a builtin I2C driver
> + * @__i2c_driver: i2c_driver struct
> + *
> + * Helper macro for I2C drivers which do not do anything special in their
> + * init. This eliminates a lot of boilerplate. Each driver may only
> + * use this macro once, and calling it replaces device_initcall().
> + */
> +#define builtin_i2c_driver(__i2c_driver) \
> +	builtin_driver(__i2c_driver, i2c_add_driver)
> +
>  #endif /* I2C */
>  
>  #if IS_ENABLED(CONFIG_OF)
> 

WARNING: multiple messages have this Message-ID (diff)
From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: Wolfram Sang <wsa@the-dreams.de>
Cc: <linux-kernel@vger.kernel.org>, Lee Jones <lee.jones@linaro.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Alexandre Courbot <gnurou@gmail.com>,
	<linux-gpio@vger.kernel.org>, <linux-i2c@vger.kernel.org>
Subject: Re: [PATCH] i2c: create builtin_i2c_driver to avoid registration boilerplate
Date: Tue, 12 Jan 2016 10:45:41 -0500	[thread overview]
Message-ID: <56951FA5.1070206@windriver.com> (raw)
In-Reply-To: <1450038799-27995-1-git-send-email-paul.gortmaker@windriver.com>

On 2015-12-13 03:33 PM, Paul Gortmaker wrote:
> In commit f309d4443130bf814e991f836e919dca22df37ae ("platform_device:
> better support builtin boilerplate avoidance") we introduced the
> builtin_driver macro.
> 
> Here we use that support and extend it to I2C driver registration,
> so where a driver is clearly non-modular and builtin-only, we can
> register it in a similar fashion.  And existing code that is clearly
> non-modular can be updated with the simple mapping of
> 
>      module_i2c_driver(...)  ---> builtin_i2c_driver(...)
> 
> We've essentially cloned the former to make the latter, and taken
> out the remove/module_exit parts since those never get used in a
> non-modular build of the code.
> 
> A similar thing was done in commit b4eb6cdbbd13698704863f680c643c569909e1c2
> ("PCI: Add builtin_pci_driver() to avoid registration boilerplate").
> 
> Cc: Wolfram Sang <wsa@the-dreams.de>
> Cc: Lee Jones <lee.jones@linaro.org>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Alexandre Courbot <gnurou@gmail.com>
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-i2c@vger.kernel.org
> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> ---
> 
> [I've about 10 drivers/mfd and one drivers/gpio users of this in
>  my personal testing queue, but obviously I can't submit those
>  until builtin_i2c_driver makes it to mainline.  Since there are
>  no drivers/i2c users yet this change is sent to i2c on its own.]

Hi Wolfram,

Was wondering if this is still in consideration for 4.5, so as per
the above info, I can make use of it in MFD in 4.6 without worrying
about cross maintainer dependencies.

Thanks,
Paul.
--
> 
>  include/linux/i2c.h | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/include/linux/i2c.h b/include/linux/i2c.h
> index 768063baafbf..d3ca750bfcdf 100644
> --- a/include/linux/i2c.h
> +++ b/include/linux/i2c.h
> @@ -622,7 +622,7 @@ static inline int i2c_adapter_id(struct i2c_adapter *adap)
>  }
>  
>  /**
> - * module_i2c_driver() - Helper macro for registering a I2C driver
> + * module_i2c_driver() - Helper macro for registering a modular I2C driver
>   * @__i2c_driver: i2c_driver struct
>   *
>   * Helper macro for I2C drivers which do not do anything special in module
> @@ -633,6 +633,17 @@ static inline int i2c_adapter_id(struct i2c_adapter *adap)
>  	module_driver(__i2c_driver, i2c_add_driver, \
>  			i2c_del_driver)
>  
> +/**
> + * builtin_i2c_driver() - Helper macro for registering a builtin I2C driver
> + * @__i2c_driver: i2c_driver struct
> + *
> + * Helper macro for I2C drivers which do not do anything special in their
> + * init. This eliminates a lot of boilerplate. Each driver may only
> + * use this macro once, and calling it replaces device_initcall().
> + */
> +#define builtin_i2c_driver(__i2c_driver) \
> +	builtin_driver(__i2c_driver, i2c_add_driver)
> +
>  #endif /* I2C */
>  
>  #if IS_ENABLED(CONFIG_OF)
> 

  reply	other threads:[~2016-01-12 15:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-13 20:33 [PATCH] i2c: create builtin_i2c_driver to avoid registration boilerplate Paul Gortmaker
2015-12-13 20:33 ` Paul Gortmaker
2016-01-12 15:45 ` Paul Gortmaker [this message]
2016-01-12 15:45   ` Paul Gortmaker
2016-01-13 10:06 ` Wolfram Sang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56951FA5.1070206@windriver.com \
    --to=paul.gortmaker@windriver.com \
    --cc=gnurou@gmail.com \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=wsa@the-dreams.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.