All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mfd: intel_soc_pmic: use 'depends on' instead of 'select'
@ 2017-06-09 10:44 Arnd Bergmann
  2017-06-09 11:31 ` Hans de Goede
  2017-06-15  8:09 ` Lee Jones
  0 siblings, 2 replies; 6+ messages in thread
From: Arnd Bergmann @ 2017-06-09 10:44 UTC (permalink / raw)
  To: Lee Jones
  Cc: Arnd Bergmann, Rob Herring, Andy Shevchenko, Hans de Goede,
	linux-kernel

I ran into a build error on ARM with a platform that has a non-standard
clk implementation:

drivers/clk/clk.o: In function `clk_disable':
clk.c:(.text.clk_disable+0x0): multiple definition of `clk_disable'
arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_disable+0x0): first defined here
drivers/clk/clk.o: In function `clk_enable':
clk.c:(.text.clk_enable+0x0): multiple definition of `clk_enable'
arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_enable+0x0): first defined here

The problem is a device driver that uses 'select COMMON_CLK', which is
generally a bad idea: selecting a subsystem should only be done from
a platform, otherwise we run into circular dependencies. The same driver
also selects 'GPIOLIB' and 'I2C', which has a similar effect.

This turns all three into 'depends on', as it should be. The same pattern
exists for INTEL_SOC_PMIC and INTEL_SOC_PMIC_CHTWC, so we fix both the
same way to keep them in sync. INTEL_SOC_PMIC does not depend on ACPI,
so we don't need to 'select' the I2C master driver when ACPI is disabled.

Finally, we can limit the build to x86, unless we are compile testing.

Fixes: 2f91ded5f8f4 ("mfd: Add Cherry Trail Whiskey Cove PMIC driver")
Fixes: 5f125f1f5705 ("mfd: intel_soc_pmic: Select designware i2c-bus driver")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/mfd/Kconfig | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index ea5daa935518..74fa52582f06 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -454,14 +454,12 @@ config LPC_SCH
 
 config INTEL_SOC_PMIC
 	bool "Support for Crystal Cove PMIC"
-	depends on HAS_IOMEM
-	select GPIOLIB
-	select I2C
+	depends on HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
+	depends on X86 || COMPILE_TEST
 	select MFD_CORE
 	select REGMAP_I2C
 	select REGMAP_IRQ
-	select COMMON_CLK
-	select I2C_DESIGNWARE_PLATFORM
+	select I2C_DESIGNWARE_PLATFORM if ACPI
 	help
 	  Select this option to enable support for Crystal Cove PMIC
 	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
@@ -484,13 +482,12 @@ config INTEL_SOC_PMIC_BXTWC
 	  on these systems.
 
 config INTEL_SOC_PMIC_CHTWC
-	bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
-	depends on ACPI && HAS_IOMEM
+	tristate "Support for Intel Cherry Trail Whiskey Cove PMIC"
+	depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
+	depends on X86 || COMPILE_TEST
 	select MFD_CORE
-	select I2C
 	select REGMAP_I2C
 	select REGMAP_IRQ
-	select COMMON_CLK
 	select I2C_DESIGNWARE_PLATFORM
 	help
 	  Select this option to enable support for the Intel Cherry Trail
-- 
2.9.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] mfd: intel_soc_pmic: use 'depends on' instead of 'select'
  2017-06-09 10:44 [PATCH] mfd: intel_soc_pmic: use 'depends on' instead of 'select' Arnd Bergmann
@ 2017-06-09 11:31 ` Hans de Goede
  2017-06-09 11:49   ` Andy Shevchenko
  2017-06-15  8:09 ` Lee Jones
  1 sibling, 1 reply; 6+ messages in thread
From: Hans de Goede @ 2017-06-09 11:31 UTC (permalink / raw)
  To: Arnd Bergmann, Lee Jones; +Cc: Rob Herring, Andy Shevchenko, linux-kernel

Hi,

On 09-06-17 12:44, Arnd Bergmann wrote:
> I ran into a build error on ARM with a platform that has a non-standard
> clk implementation:
> 
> drivers/clk/clk.o: In function `clk_disable':
> clk.c:(.text.clk_disable+0x0): multiple definition of `clk_disable'
> arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_disable+0x0): first defined here
> drivers/clk/clk.o: In function `clk_enable':
> clk.c:(.text.clk_enable+0x0): multiple definition of `clk_enable'
> arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_enable+0x0): first defined here
> 
> The problem is a device driver that uses 'select COMMON_CLK', which is
> generally a bad idea: selecting a subsystem should only be done from
> a platform, otherwise we run into circular dependencies. The same driver
> also selects 'GPIOLIB' and 'I2C', which has a similar effect.
> 
> This turns all three into 'depends on', as it should be. The same pattern
> exists for INTEL_SOC_PMIC and INTEL_SOC_PMIC_CHTWC, so we fix both the
> same way to keep them in sync. INTEL_SOC_PMIC does not depend on ACPI,
> so we don't need to 'select' the I2C master driver when ACPI is disabled.
> 
> Finally, we can limit the build to x86, unless we are compile testing.
> 
> Fixes: 2f91ded5f8f4 ("mfd: Add Cherry Trail Whiskey Cove PMIC driver")
> Fixes: 5f125f1f5705 ("mfd: intel_soc_pmic: Select designware i2c-bus driver")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Looks good to me:

Acked-by: Hans de Goede <hdegoede@redhat.com>

Regards,

Hans



> ---
>   drivers/mfd/Kconfig | 15 ++++++---------
>   1 file changed, 6 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index ea5daa935518..74fa52582f06 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -454,14 +454,12 @@ config LPC_SCH
>   
>   config INTEL_SOC_PMIC
>   	bool "Support for Crystal Cove PMIC"
> -	depends on HAS_IOMEM
> -	select GPIOLIB
> -	select I2C
> +	depends on HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
> +	depends on X86 || COMPILE_TEST
>   	select MFD_CORE
>   	select REGMAP_I2C
>   	select REGMAP_IRQ
> -	select COMMON_CLK
> -	select I2C_DESIGNWARE_PLATFORM
> +	select I2C_DESIGNWARE_PLATFORM if ACPI
>   	help
>   	  Select this option to enable support for Crystal Cove PMIC
>   	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
> @@ -484,13 +482,12 @@ config INTEL_SOC_PMIC_BXTWC
>   	  on these systems.
>   
>   config INTEL_SOC_PMIC_CHTWC
> -	bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
> -	depends on ACPI && HAS_IOMEM
> +	tristate "Support for Intel Cherry Trail Whiskey Cove PMIC"
> +	depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
> +	depends on X86 || COMPILE_TEST
>   	select MFD_CORE
> -	select I2C
>   	select REGMAP_I2C
>   	select REGMAP_IRQ
> -	select COMMON_CLK
>   	select I2C_DESIGNWARE_PLATFORM
>   	help
>   	  Select this option to enable support for the Intel Cherry Trail
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] mfd: intel_soc_pmic: use 'depends on' instead of 'select'
  2017-06-09 11:31 ` Hans de Goede
@ 2017-06-09 11:49   ` Andy Shevchenko
  2017-06-09 11:54     ` Hans de Goede
  0 siblings, 1 reply; 6+ messages in thread
From: Andy Shevchenko @ 2017-06-09 11:49 UTC (permalink / raw)
  To: Hans de Goede, Arnd Bergmann, Lee Jones; +Cc: Rob Herring, linux-kernel

On Fri, 2017-06-09 at 13:31 +0200, Hans de Goede wrote:
> Hi,
> 
> On 09-06-17 12:44, Arnd Bergmann wrote:
> > I ran into a build error on ARM with a platform that has a non-
> > standard
> > clk implementation:
> > 
> > drivers/clk/clk.o: In function `clk_disable':
> > clk.c:(.text.clk_disable+0x0): multiple definition of `clk_disable'
> > arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_disable+0x0): first
> > defined here
> > drivers/clk/clk.o: In function `clk_enable':
> > clk.c:(.text.clk_enable+0x0): multiple definition of `clk_enable'
> > arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_enable+0x0): first
> > defined here
> > 
> > The problem is a device driver that uses 'select COMMON_CLK', which
> > is
> > generally a bad idea: selecting a subsystem should only be done from
> > a platform, otherwise we run into circular dependencies. The same
> > driver
> > also selects 'GPIOLIB' and 'I2C', which has a similar effect.
> > 
> > This turns all three into 'depends on', as it should be. The same
> > pattern
> > exists for INTEL_SOC_PMIC and INTEL_SOC_PMIC_CHTWC, so we fix both
> > the
> > same way to keep them in sync. INTEL_SOC_PMIC does not depend on
> > ACPI,
> > so we don't need to 'select' the I2C master driver when ACPI is
> > disabled.
> > 
> > Finally, we can limit the build to x86, unless we are compile
> > testing.
> > 
> > Fixes: 2f91ded5f8f4 ("mfd: Add Cherry Trail Whiskey Cove PMIC
> > driver")
> > Fixes: 5f125f1f5705 ("mfd: intel_soc_pmic: Select designware i2c-bus 
> > driver")
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 
> Looks good to me:
> 
> Acked-by: Hans de Goede <hdegoede@redhat.com>

No objections if it works for Hans' case.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

> 
> Regards,
> 
> Hans
> 
> 
> 
> > ---
> >   drivers/mfd/Kconfig | 15 ++++++---------
> >   1 file changed, 6 insertions(+), 9 deletions(-)
> > 
> > diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> > index ea5daa935518..74fa52582f06 100644
> > --- a/drivers/mfd/Kconfig
> > +++ b/drivers/mfd/Kconfig
> > @@ -454,14 +454,12 @@ config LPC_SCH
> >   
> >   config INTEL_SOC_PMIC
> >   	bool "Support for Crystal Cove PMIC"
> > -	depends on HAS_IOMEM
> > -	select GPIOLIB
> > -	select I2C
> > +	depends on HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
> > +	depends on X86 || COMPILE_TEST
> >   	select MFD_CORE
> >   	select REGMAP_I2C
> >   	select REGMAP_IRQ
> > -	select COMMON_CLK
> > -	select I2C_DESIGNWARE_PLATFORM
> > +	select I2C_DESIGNWARE_PLATFORM if ACPI
> >   	help
> >   	  Select this option to enable support for Crystal Cove
> > PMIC
> >   	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
> > @@ -484,13 +482,12 @@ config INTEL_SOC_PMIC_BXTWC
> >   	  on these systems.
> >   
> >   config INTEL_SOC_PMIC_CHTWC
> > -	bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
> > -	depends on ACPI && HAS_IOMEM
> > +	tristate "Support for Intel Cherry Trail Whiskey Cove PMIC"
> > +	depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
> > +	depends on X86 || COMPILE_TEST
> >   	select MFD_CORE
> > -	select I2C
> >   	select REGMAP_I2C
> >   	select REGMAP_IRQ
> > -	select COMMON_CLK
> >   	select I2C_DESIGNWARE_PLATFORM
> >   	help
> >   	  Select this option to enable support for the Intel
> > Cherry Trail
> > 

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] mfd: intel_soc_pmic: use 'depends on' instead of 'select'
  2017-06-09 11:49   ` Andy Shevchenko
@ 2017-06-09 11:54     ` Hans de Goede
  0 siblings, 0 replies; 6+ messages in thread
From: Hans de Goede @ 2017-06-09 11:54 UTC (permalink / raw)
  To: Andy Shevchenko, Arnd Bergmann, Lee Jones; +Cc: Rob Herring, linux-kernel

Hi,

On 09-06-17 13:49, Andy Shevchenko wrote:
> On Fri, 2017-06-09 at 13:31 +0200, Hans de Goede wrote:
>> Hi,
>>
>> On 09-06-17 12:44, Arnd Bergmann wrote:
>>> I ran into a build error on ARM with a platform that has a non-
>>> standard
>>> clk implementation:
>>>
>>> drivers/clk/clk.o: In function `clk_disable':
>>> clk.c:(.text.clk_disable+0x0): multiple definition of `clk_disable'
>>> arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_disable+0x0): first
>>> defined here
>>> drivers/clk/clk.o: In function `clk_enable':
>>> clk.c:(.text.clk_enable+0x0): multiple definition of `clk_enable'
>>> arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_enable+0x0): first
>>> defined here
>>>
>>> The problem is a device driver that uses 'select COMMON_CLK', which
>>> is
>>> generally a bad idea: selecting a subsystem should only be done from
>>> a platform, otherwise we run into circular dependencies. The same
>>> driver
>>> also selects 'GPIOLIB' and 'I2C', which has a similar effect.
>>>
>>> This turns all three into 'depends on', as it should be. The same
>>> pattern
>>> exists for INTEL_SOC_PMIC and INTEL_SOC_PMIC_CHTWC, so we fix both
>>> the
>>> same way to keep them in sync. INTEL_SOC_PMIC does not depend on
>>> ACPI,
>>> so we don't need to 'select' the I2C master driver when ACPI is
>>> disabled.
>>>
>>> Finally, we can limit the build to x86, unless we are compile
>>> testing.
>>>
>>> Fixes: 2f91ded5f8f4 ("mfd: Add Cherry Trail Whiskey Cove PMIC
>>> driver")
>>> Fixes: 5f125f1f5705 ("mfd: intel_soc_pmic: Select designware i2c-bus
>>> driver")
>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>
>> Looks good to me:
>>
>> Acked-by: Hans de Goede <hdegoede@redhat.com>
> 
> No objections if it works for Hans' case.

Yes I checked my .config stays the same with a "make oldconfig"
and this patch.

Regards,

Hans


> 
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> 
>>
>> Regards,
>>
>> Hans
>>
>>
>>
>>> ---
>>>    drivers/mfd/Kconfig | 15 ++++++---------
>>>    1 file changed, 6 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
>>> index ea5daa935518..74fa52582f06 100644
>>> --- a/drivers/mfd/Kconfig
>>> +++ b/drivers/mfd/Kconfig
>>> @@ -454,14 +454,12 @@ config LPC_SCH
>>>    
>>>    config INTEL_SOC_PMIC
>>>    	bool "Support for Crystal Cove PMIC"
>>> -	depends on HAS_IOMEM
>>> -	select GPIOLIB
>>> -	select I2C
>>> +	depends on HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
>>> +	depends on X86 || COMPILE_TEST
>>>    	select MFD_CORE
>>>    	select REGMAP_I2C
>>>    	select REGMAP_IRQ
>>> -	select COMMON_CLK
>>> -	select I2C_DESIGNWARE_PLATFORM
>>> +	select I2C_DESIGNWARE_PLATFORM if ACPI
>>>    	help
>>>    	  Select this option to enable support for Crystal Cove
>>> PMIC
>>>    	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
>>> @@ -484,13 +482,12 @@ config INTEL_SOC_PMIC_BXTWC
>>>    	  on these systems.
>>>    
>>>    config INTEL_SOC_PMIC_CHTWC
>>> -	bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
>>> -	depends on ACPI && HAS_IOMEM
>>> +	tristate "Support for Intel Cherry Trail Whiskey Cove PMIC"
>>> +	depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
>>> +	depends on X86 || COMPILE_TEST
>>>    	select MFD_CORE
>>> -	select I2C
>>>    	select REGMAP_I2C
>>>    	select REGMAP_IRQ
>>> -	select COMMON_CLK
>>>    	select I2C_DESIGNWARE_PLATFORM
>>>    	help
>>>    	  Select this option to enable support for the Intel
>>> Cherry Trail
>>>
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] mfd: intel_soc_pmic: use 'depends on' instead of 'select'
  2017-06-09 10:44 [PATCH] mfd: intel_soc_pmic: use 'depends on' instead of 'select' Arnd Bergmann
  2017-06-09 11:31 ` Hans de Goede
@ 2017-06-15  8:09 ` Lee Jones
  2017-06-15 13:07   ` Hans de Goede
  1 sibling, 1 reply; 6+ messages in thread
From: Lee Jones @ 2017-06-15  8:09 UTC (permalink / raw)
  To: Arnd Bergmann; +Cc: Rob Herring, Andy Shevchenko, Hans de Goede, linux-kernel

On Fri, 09 Jun 2017, Arnd Bergmann wrote:

> I ran into a build error on ARM with a platform that has a non-standard
> clk implementation:
> 
> drivers/clk/clk.o: In function `clk_disable':
> clk.c:(.text.clk_disable+0x0): multiple definition of `clk_disable'
> arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_disable+0x0): first defined here
> drivers/clk/clk.o: In function `clk_enable':
> clk.c:(.text.clk_enable+0x0): multiple definition of `clk_enable'
> arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_enable+0x0): first defined here
> 
> The problem is a device driver that uses 'select COMMON_CLK', which is
> generally a bad idea: selecting a subsystem should only be done from
> a platform, otherwise we run into circular dependencies. The same driver
> also selects 'GPIOLIB' and 'I2C', which has a similar effect.
> 
> This turns all three into 'depends on', as it should be. The same pattern
> exists for INTEL_SOC_PMIC and INTEL_SOC_PMIC_CHTWC, so we fix both the
> same way to keep them in sync. INTEL_SOC_PMIC does not depend on ACPI,
> so we don't need to 'select' the I2C master driver when ACPI is disabled.
> 
> Finally, we can limit the build to x86, unless we are compile testing.
> 
> Fixes: 2f91ded5f8f4 ("mfd: Add Cherry Trail Whiskey Cove PMIC driver")
> Fixes: 5f125f1f5705 ("mfd: intel_soc_pmic: Select designware i2c-bus driver")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/mfd/Kconfig | 15 ++++++---------
>  1 file changed, 6 insertions(+), 9 deletions(-)

I need 2 patches, one for each of the Fixes above.  The plan being to
squash them into the original commits (keeping sign-off credits of
course) to prevent bisectability breakage.

If that does not happen, I will have to remove both offending patches
until they are fixed.

> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index ea5daa935518..74fa52582f06 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -454,14 +454,12 @@ config LPC_SCH
>  
>  config INTEL_SOC_PMIC
>  	bool "Support for Crystal Cove PMIC"
> -	depends on HAS_IOMEM
> -	select GPIOLIB
> -	select I2C
> +	depends on HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
> +	depends on X86 || COMPILE_TEST
>  	select MFD_CORE
>  	select REGMAP_I2C
>  	select REGMAP_IRQ
> -	select COMMON_CLK
> -	select I2C_DESIGNWARE_PLATFORM
> +	select I2C_DESIGNWARE_PLATFORM if ACPI
>  	help
>  	  Select this option to enable support for Crystal Cove PMIC
>  	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
> @@ -484,13 +482,12 @@ config INTEL_SOC_PMIC_BXTWC
>  	  on these systems.
>  
>  config INTEL_SOC_PMIC_CHTWC
> -	bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
> -	depends on ACPI && HAS_IOMEM
> +	tristate "Support for Intel Cherry Trail Whiskey Cove PMIC"
> +	depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
> +	depends on X86 || COMPILE_TEST
>  	select MFD_CORE
> -	select I2C
>  	select REGMAP_I2C
>  	select REGMAP_IRQ
> -	select COMMON_CLK
>  	select I2C_DESIGNWARE_PLATFORM
>  	help
>  	  Select this option to enable support for the Intel Cherry Trail

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] mfd: intel_soc_pmic: use 'depends on' instead of 'select'
  2017-06-15  8:09 ` Lee Jones
@ 2017-06-15 13:07   ` Hans de Goede
  0 siblings, 0 replies; 6+ messages in thread
From: Hans de Goede @ 2017-06-15 13:07 UTC (permalink / raw)
  To: Lee Jones, Arnd Bergmann; +Cc: Rob Herring, Andy Shevchenko, linux-kernel

Hi,

On 15-06-17 10:09, Lee Jones wrote:
> On Fri, 09 Jun 2017, Arnd Bergmann wrote:
> 
>> I ran into a build error on ARM with a platform that has a non-standard
>> clk implementation:
>>
>> drivers/clk/clk.o: In function `clk_disable':
>> clk.c:(.text.clk_disable+0x0): multiple definition of `clk_disable'
>> arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_disable+0x0): first defined here
>> drivers/clk/clk.o: In function `clk_enable':
>> clk.c:(.text.clk_enable+0x0): multiple definition of `clk_enable'
>> arch/arm/mach-omap1/clock.o:clock.c:(.text.clk_enable+0x0): first defined here
>>
>> The problem is a device driver that uses 'select COMMON_CLK', which is
>> generally a bad idea: selecting a subsystem should only be done from
>> a platform, otherwise we run into circular dependencies. The same driver
>> also selects 'GPIOLIB' and 'I2C', which has a similar effect.
>>
>> This turns all three into 'depends on', as it should be. The same pattern
>> exists for INTEL_SOC_PMIC and INTEL_SOC_PMIC_CHTWC, so we fix both the
>> same way to keep them in sync. INTEL_SOC_PMIC does not depend on ACPI,
>> so we don't need to 'select' the I2C master driver when ACPI is disabled.
>>
>> Finally, we can limit the build to x86, unless we are compile testing.
>>
>> Fixes: 2f91ded5f8f4 ("mfd: Add Cherry Trail Whiskey Cove PMIC driver")
>> Fixes: 5f125f1f5705 ("mfd: intel_soc_pmic: Select designware i2c-bus driver")
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>> ---
>>   drivers/mfd/Kconfig | 15 ++++++---------
>>   1 file changed, 6 insertions(+), 9 deletions(-)
> 
> I need 2 patches, one for each of the Fixes above.  The plan being to
> squash them into the original commits (keeping sign-off credits of
> course) to prevent bisectability breakage.
> 
> If that does not happen, I will have to remove both offending patches
> until they are fixed.

Ok, I've just send out a split version if this patch.

Regards,

Hans



>> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
>> index ea5daa935518..74fa52582f06 100644
>> --- a/drivers/mfd/Kconfig
>> +++ b/drivers/mfd/Kconfig
>> @@ -454,14 +454,12 @@ config LPC_SCH
>>   
>>   config INTEL_SOC_PMIC
>>   	bool "Support for Crystal Cove PMIC"
>> -	depends on HAS_IOMEM
>> -	select GPIOLIB
>> -	select I2C
>> +	depends on HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
>> +	depends on X86 || COMPILE_TEST
>>   	select MFD_CORE
>>   	select REGMAP_I2C
>>   	select REGMAP_IRQ
>> -	select COMMON_CLK
>> -	select I2C_DESIGNWARE_PLATFORM
>> +	select I2C_DESIGNWARE_PLATFORM if ACPI
>>   	help
>>   	  Select this option to enable support for Crystal Cove PMIC
>>   	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
>> @@ -484,13 +482,12 @@ config INTEL_SOC_PMIC_BXTWC
>>   	  on these systems.
>>   
>>   config INTEL_SOC_PMIC_CHTWC
>> -	bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
>> -	depends on ACPI && HAS_IOMEM
>> +	tristate "Support for Intel Cherry Trail Whiskey Cove PMIC"
>> +	depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
>> +	depends on X86 || COMPILE_TEST
>>   	select MFD_CORE
>> -	select I2C
>>   	select REGMAP_I2C
>>   	select REGMAP_IRQ
>> -	select COMMON_CLK
>>   	select I2C_DESIGNWARE_PLATFORM
>>   	help
>>   	  Select this option to enable support for the Intel Cherry Trail
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-06-15 13:07 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-09 10:44 [PATCH] mfd: intel_soc_pmic: use 'depends on' instead of 'select' Arnd Bergmann
2017-06-09 11:31 ` Hans de Goede
2017-06-09 11:49   ` Andy Shevchenko
2017-06-09 11:54     ` Hans de Goede
2017-06-15  8:09 ` Lee Jones
2017-06-15 13:07   ` Hans de Goede

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.