[06/11] i2c: imx-lpi2c: improve i2c driver probe priority

Message ID 20210317065359.3109394-7-xiaoning.wang@nxp.com
State New
Headers show
Series
  • i2c: imx-lpi2c: New features and bug fixes
Related show

Commit Message

Clark Wang March 17, 2021, 6:53 a.m.
From: Gao Pan <pandy.gao@nxp.com>

use subsys_initcall for i2c driver to improve i2c driver probe priority

Signed-off-by: Gao Pan <pandy.gao@nxp.com>
---
 drivers/i2c/busses/i2c-imx-lpi2c.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

Comments

Aisheng Dong March 19, 2021, 5:05 a.m. | #1
> From: Clark Wang <xiaoning.wang@nxp.com>

> Sent: Wednesday, March 17, 2021 2:54 PM

> 

> use subsys_initcall for i2c driver to improve i2c driver probe priority


Will this affect DMA support which will be probed much later compared with subsys_initcall?

> 

> Signed-off-by: Gao Pan <pandy.gao@nxp.com>


Add your sign-off

> ---

>  drivers/i2c/busses/i2c-imx-lpi2c.c | 12 +++++++++++-

>  1 file changed, 11 insertions(+), 1 deletion(-)

> 

> diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c

> b/drivers/i2c/busses/i2c-imx-lpi2c.c

> index 8f9dd3dd2951..86b69852f7be 100644

> --- a/drivers/i2c/busses/i2c-imx-lpi2c.c

> +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c

> @@ -710,7 +710,17 @@ static struct platform_driver lpi2c_imx_driver = {

>  	},

>  };

> 

> -module_platform_driver(lpi2c_imx_driver);

> +static int __init lpi2c_imx_init(void)

> +{

> +	return platform_driver_register(&lpi2c_imx_driver);

> +}

> +subsys_initcall(lpi2c_imx_init);

> +

> +static void __exit lpi2c_imx_exit(void) {

> +	platform_driver_unregister(&lpi2c_imx_driver);

> +}

> +module_exit(lpi2c_imx_exit);

> 

>  MODULE_AUTHOR("Gao Pan <pandy.gao@nxp.com>");

> MODULE_DESCRIPTION("I2C adapter driver for LPI2C bus");

> --

> 2.25.1
Wolfram Sang March 19, 2021, 5:38 a.m. | #2
On Wed, Mar 17, 2021 at 02:53:54PM +0800, Clark Wang wrote:
> From: Gao Pan <pandy.gao@nxp.com>

> 

> use subsys_initcall for i2c driver to improve i2c driver probe priority

> 

> Signed-off-by: Gao Pan <pandy.gao@nxp.com>


I usually don't take subsys_initcall patches anymore. In most cases, the
client drivers can be fixed instead. If this is not the case for you,
you need to state that explicitly in the commit message.
Clark Wang March 19, 2021, 7:39 a.m. | #3
> -----Original Message-----

> From: Wolfram Sang <wsa@kernel.org>

> Sent: Friday, March 19, 2021 13:39

> To: Clark Wang <xiaoning.wang@nxp.com>

> Cc: Aisheng Dong <aisheng.dong@nxp.com>; shawnguo@kernel.org;

> s.hauer@pengutronix.de; kernel@pengutronix.de; festevam@gmail.com;

> dl-linux-imx <linux-imx@nxp.com>; sumit.semwal@linaro.org;

> christian.koenig@amd.com; linux-i2c@vger.kernel.org; linux-arm-

> kernel@lists.infradead.org; linux-kernel@vger.kernel.org

> Subject: [EXT] Re: [PATCH 06/11] i2c: imx-lpi2c: improve i2c driver probe

> priority

> 

> On Wed, Mar 17, 2021 at 02:53:54PM +0800, Clark Wang wrote:

> > From: Gao Pan <pandy.gao@nxp.com>

> >

> > use subsys_initcall for i2c driver to improve i2c driver probe

> > priority

> >

> > Signed-off-by: Gao Pan <pandy.gao@nxp.com>

> 

> I usually don't take subsys_initcall patches anymore. In most cases, the

client
> drivers can be fixed instead. If this is not the case for you, you need to

state
> that explicitly in the commit message.


Okay. Because it is an old patch, I will check if it is necessary. If no,
I will continue to use module_platform_driver(lpi2c_imx_driver);
Thanks.

Best Regards,
Clark Wang

Patch

diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c
index 8f9dd3dd2951..86b69852f7be 100644
--- a/drivers/i2c/busses/i2c-imx-lpi2c.c
+++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
@@ -710,7 +710,17 @@  static struct platform_driver lpi2c_imx_driver = {
 	},
 };
 
-module_platform_driver(lpi2c_imx_driver);
+static int __init lpi2c_imx_init(void)
+{
+	return platform_driver_register(&lpi2c_imx_driver);
+}
+subsys_initcall(lpi2c_imx_init);
+
+static void __exit lpi2c_imx_exit(void)
+{
+	platform_driver_unregister(&lpi2c_imx_driver);
+}
+module_exit(lpi2c_imx_exit);
 
 MODULE_AUTHOR("Gao Pan <pandy.gao@nxp.com>");
 MODULE_DESCRIPTION("I2C adapter driver for LPI2C bus");