diff mbox

[1/2] mfd: max77693: Allow building as a module

Message ID 1459756459-22061-1-git-send-email-k.kozlowski@samsung.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Krzysztof Kozlowski April 4, 2016, 7:54 a.m. UTC
The consumer of max77693 regulators on Trats2 board (samsung-usb2-phy
driver) supports deferred probing so the max77693 main MFD driver can be
built now as a module. This gives more flexibility and removes manual
ordering of init calls.

Suggested-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
 drivers/mfd/Kconfig    |  4 ++--
 drivers/mfd/max77693.c | 14 ++------------
 2 files changed, 4 insertions(+), 14 deletions(-)

Comments

Javier Martinez Canillas April 5, 2016, 2:02 p.m. UTC | #1
Hello Krzysztof,

On 04/04/2016 03:54 AM, Krzysztof Kozlowski wrote:
> The consumer of max77693 regulators on Trats2 board (samsung-usb2-phy
> driver) supports deferred probing so the max77693 main MFD driver can be
> built now as a module. This gives more flexibility and removes manual
> ordering of init calls.
> 
> Suggested-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---

Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>

Best regards,
Lee Jones April 7, 2016, 1:29 p.m. UTC | #2
On Mon, 04 Apr 2016, Krzysztof Kozlowski wrote:

> The consumer of max77693 regulators on Trats2 board (samsung-usb2-phy
> driver) supports deferred probing so the max77693 main MFD driver can be
> built now as a module. This gives more flexibility and removes manual
> ordering of init calls.
> 
> Suggested-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---
>  drivers/mfd/Kconfig    |  4 ++--
>  drivers/mfd/max77693.c | 14 ++------------
>  2 files changed, 4 insertions(+), 14 deletions(-)

I assume this can be taken immediately and doesn't depend on anything
external to the set?

For my own reference:
  Acked-by: Lee Jones <lee.jones@linaro.org>

> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index eea61e349e26..aa1e7c3f82ee 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -543,8 +543,8 @@ config MFD_MAX77686
>  	  of the device.
>  
>  config MFD_MAX77693
> -	bool "Maxim Semiconductor MAX77693 PMIC Support"
> -	depends on I2C=y
> +	tristate "Maxim Semiconductor MAX77693 PMIC Support"
> +	depends on I2C
>  	select MFD_CORE
>  	select REGMAP_I2C
>  	select REGMAP_IRQ
> diff --git a/drivers/mfd/max77693.c b/drivers/mfd/max77693.c
> index b83b7a7da1ae..78e501feb96c 100644
> --- a/drivers/mfd/max77693.c
> +++ b/drivers/mfd/max77693.c
> @@ -368,6 +368,7 @@ static const struct of_device_id max77693_dt_match[] = {
>  	{ .compatible = "maxim,max77693" },
>  	{},
>  };
> +MODULE_DEVICE_TABLE(of, max77693_dt_match);
>  #endif
>  
>  static struct i2c_driver max77693_i2c_driver = {
> @@ -381,18 +382,7 @@ static struct i2c_driver max77693_i2c_driver = {
>  	.id_table = max77693_i2c_id,
>  };
>  
> -static int __init max77693_i2c_init(void)
> -{
> -	return i2c_add_driver(&max77693_i2c_driver);
> -}
> -/* init early so consumer devices can complete system boot */
> -subsys_initcall(max77693_i2c_init);
> -
> -static void __exit max77693_i2c_exit(void)
> -{
> -	i2c_del_driver(&max77693_i2c_driver);
> -}
> -module_exit(max77693_i2c_exit);
> +module_i2c_driver(max77693_i2c_driver);
>  
>  MODULE_DESCRIPTION("MAXIM 77693 multi-function core driver");
>  MODULE_AUTHOR("SangYoung, Son <hello.son@samsung.com>");
Krzysztof Kozlowski April 8, 2016, 3:54 a.m. UTC | #3
On Thu, Apr 07, 2016 at 02:29:47PM +0100, Lee Jones wrote:
> On Mon, 04 Apr 2016, Krzysztof Kozlowski wrote:
> 
> > The consumer of max77693 regulators on Trats2 board (samsung-usb2-phy
> > driver) supports deferred probing so the max77693 main MFD driver can be
> > built now as a module. This gives more flexibility and removes manual
> > ordering of init calls.
> > 
> > Suggested-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> > Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
> > Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> > ---
> >  drivers/mfd/Kconfig    |  4 ++--
> >  drivers/mfd/max77693.c | 14 ++------------
> >  2 files changed, 4 insertions(+), 14 deletions(-)
> 
> I assume this can be taken immediately and doesn't depend on anything
> external to the set?
> 
> For my own reference:
>   Acked-by: Lee Jones <lee.jones@linaro.org>

Hi,

Yes, this can be taken as is. Only second patch (changing defconfig)
depends on this. I can take the second patch through samsung tree but
that would require a tag/branch with this... which looks like an
overkill. So maybe you would take both?

Best regards,
Krzysztof
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lee Jones April 8, 2016, 7:17 a.m. UTC | #4
On Fri, 08 Apr 2016, Krzysztof Kozlowski wrote:

> On Thu, Apr 07, 2016 at 02:29:47PM +0100, Lee Jones wrote:
> > On Mon, 04 Apr 2016, Krzysztof Kozlowski wrote:
> > 
> > > The consumer of max77693 regulators on Trats2 board (samsung-usb2-phy
> > > driver) supports deferred probing so the max77693 main MFD driver can be
> > > built now as a module. This gives more flexibility and removes manual
> > > ordering of init calls.
> > > 
> > > Suggested-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> > > Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
> > > Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> > > ---
> > >  drivers/mfd/Kconfig    |  4 ++--
> > >  drivers/mfd/max77693.c | 14 ++------------
> > >  2 files changed, 4 insertions(+), 14 deletions(-)
> > 
> > I assume this can be taken immediately and doesn't depend on anything
> > external to the set?
> > 
> > For my own reference:
> >   Acked-by: Lee Jones <lee.jones@linaro.org>
> 
> Hi,
> 
> Yes, this can be taken as is. Only second patch (changing defconfig)
> depends on this. I can take the second patch through samsung tree but
> that would require a tag/branch with this... which looks like an
> overkill. So maybe you would take both?

If I take the defconfig patch without a tag, there will almost
certainly be merge conflicts.  Other solutions include; delaying the
defconfig patch for one cycle or trying to get it in post -rc1.
Krzysztof Kozlowski April 10, 2016, 8:46 a.m. UTC | #5
On Fri, Apr 08, 2016 at 08:17:21AM +0100, Lee Jones wrote:
> > Yes, this can be taken as is. Only second patch (changing defconfig)
> > depends on this. I can take the second patch through samsung tree but
> > that would require a tag/branch with this... which looks like an
> > overkill. So maybe you would take both?
> 
> If I take the defconfig patch without a tag, there will almost
> certainly be merge conflicts.  Other solutions include; delaying the
> defconfig patch for one cycle or trying to get it in post -rc1.

Let's wait for next cycle then. Anyway Javier added module-capability
to some other drivers as well so we can change all them at once.

Best regards,
Krzysztof

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lee Jones April 11, 2016, 8 a.m. UTC | #6
On Mon, 04 Apr 2016, Krzysztof Kozlowski wrote:

> The consumer of max77693 regulators on Trats2 board (samsung-usb2-phy
> driver) supports deferred probing so the max77693 main MFD driver can be
> built now as a module. This gives more flexibility and removes manual
> ordering of init calls.
> 
> Suggested-by: Paul Gortmaker <paul.gortmaker@windriver.com>
> Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---
>  drivers/mfd/Kconfig    |  4 ++--
>  drivers/mfd/max77693.c | 14 ++------------
>  2 files changed, 4 insertions(+), 14 deletions(-)

Applied, thanks.

> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index eea61e349e26..aa1e7c3f82ee 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -543,8 +543,8 @@ config MFD_MAX77686
>  	  of the device.
>  
>  config MFD_MAX77693
> -	bool "Maxim Semiconductor MAX77693 PMIC Support"
> -	depends on I2C=y
> +	tristate "Maxim Semiconductor MAX77693 PMIC Support"
> +	depends on I2C
>  	select MFD_CORE
>  	select REGMAP_I2C
>  	select REGMAP_IRQ
> diff --git a/drivers/mfd/max77693.c b/drivers/mfd/max77693.c
> index b83b7a7da1ae..78e501feb96c 100644
> --- a/drivers/mfd/max77693.c
> +++ b/drivers/mfd/max77693.c
> @@ -368,6 +368,7 @@ static const struct of_device_id max77693_dt_match[] = {
>  	{ .compatible = "maxim,max77693" },
>  	{},
>  };
> +MODULE_DEVICE_TABLE(of, max77693_dt_match);
>  #endif
>  
>  static struct i2c_driver max77693_i2c_driver = {
> @@ -381,18 +382,7 @@ static struct i2c_driver max77693_i2c_driver = {
>  	.id_table = max77693_i2c_id,
>  };
>  
> -static int __init max77693_i2c_init(void)
> -{
> -	return i2c_add_driver(&max77693_i2c_driver);
> -}
> -/* init early so consumer devices can complete system boot */
> -subsys_initcall(max77693_i2c_init);
> -
> -static void __exit max77693_i2c_exit(void)
> -{
> -	i2c_del_driver(&max77693_i2c_driver);
> -}
> -module_exit(max77693_i2c_exit);
> +module_i2c_driver(max77693_i2c_driver);
>  
>  MODULE_DESCRIPTION("MAXIM 77693 multi-function core driver");
>  MODULE_AUTHOR("SangYoung, Son <hello.son@samsung.com>");
diff mbox

Patch

diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index eea61e349e26..aa1e7c3f82ee 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -543,8 +543,8 @@  config MFD_MAX77686
 	  of the device.
 
 config MFD_MAX77693
-	bool "Maxim Semiconductor MAX77693 PMIC Support"
-	depends on I2C=y
+	tristate "Maxim Semiconductor MAX77693 PMIC Support"
+	depends on I2C
 	select MFD_CORE
 	select REGMAP_I2C
 	select REGMAP_IRQ
diff --git a/drivers/mfd/max77693.c b/drivers/mfd/max77693.c
index b83b7a7da1ae..78e501feb96c 100644
--- a/drivers/mfd/max77693.c
+++ b/drivers/mfd/max77693.c
@@ -368,6 +368,7 @@  static const struct of_device_id max77693_dt_match[] = {
 	{ .compatible = "maxim,max77693" },
 	{},
 };
+MODULE_DEVICE_TABLE(of, max77693_dt_match);
 #endif
 
 static struct i2c_driver max77693_i2c_driver = {
@@ -381,18 +382,7 @@  static struct i2c_driver max77693_i2c_driver = {
 	.id_table = max77693_i2c_id,
 };
 
-static int __init max77693_i2c_init(void)
-{
-	return i2c_add_driver(&max77693_i2c_driver);
-}
-/* init early so consumer devices can complete system boot */
-subsys_initcall(max77693_i2c_init);
-
-static void __exit max77693_i2c_exit(void)
-{
-	i2c_del_driver(&max77693_i2c_driver);
-}
-module_exit(max77693_i2c_exit);
+module_i2c_driver(max77693_i2c_driver);
 
 MODULE_DESCRIPTION("MAXIM 77693 multi-function core driver");
 MODULE_AUTHOR("SangYoung, Son <hello.son@samsung.com>");