[v3,1/3] mfd: intel_soc_pmic: Fix a mess with compilation units

Message ID 20170317153715.48555-1-andriy.shevchenko@linux.intel.com
State New
Headers show

Commit Message

Andy Shevchenko March 17, 2017, 3:37 p.m.
Crystal Cove and Whiskey Cove are two different PMICs which are
installed on Intel Atom SoC based platforms.

Moreover there are two independent drivers that by some reason were
supposed (*) to get into one kernel module.

Fix the mess by clarifying Kconfig option for Crystal Cove and split
Whiskey Cove out of it.

(*) It looks like the configuration was never tested with
    INTEL_SOC_PMIC=n. The line in Makefile is actually wrong.

Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> (supporter:ACPI)
Cc: Linus Walleij <linus.walleij@linaro.org> (maintainer:GPIO SUBSYSTEM)
Cc: Zhang Rui <rui.zhang@intel.com> (supporter:THERMAL)
Cc: Eduardo Valentin <edubezval@gmail.com> (supporter:THERMAL)
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
- make option visible
- fix dependencies
 drivers/acpi/Kconfig         |  2 +-
 drivers/gpio/Kconfig         |  2 +-
 drivers/mfd/Kconfig          | 14 ++++++++++++--
 drivers/mfd/Makefile         |  2 +-
 drivers/platform/x86/Kconfig |  2 +-
 drivers/thermal/Kconfig      |  2 +-
 6 files changed, 17 insertions(+), 7 deletions(-)

Comments

Linus Walleij March 18, 2017, 4:59 p.m. | #1
On Fri, Mar 17, 2017 at 4:37 PM, Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:

> Crystal Cove and Whiskey Cove are two different PMICs which are
> installed on Intel Atom SoC based platforms.
>
> Moreover there are two independent drivers that by some reason were
> supposed (*) to get into one kernel module.
>
> Fix the mess by clarifying Kconfig option for Crystal Cove and split
> Whiskey Cove out of it.
>
> (*) It looks like the configuration was never tested with
>     INTEL_SOC_PMIC=n. The line in Makefile is actually wrong.
>
> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> (supporter:ACPI)
> Cc: Linus Walleij <linus.walleij@linaro.org> (maintainer:GPIO SUBSYSTEM)
> Cc: Zhang Rui <rui.zhang@intel.com> (supporter:THERMAL)
> Cc: Eduardo Valentin <edubezval@gmail.com> (supporter:THERMAL)
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lee Jones March 23, 2017, 12:12 p.m. | #2
On Fri, 17 Mar 2017, Andy Shevchenko wrote:

> Crystal Cove and Whiskey Cove are two different PMICs which are
> installed on Intel Atom SoC based platforms.
> 
> Moreover there are two independent drivers that by some reason were
> supposed (*) to get into one kernel module.
> 
> Fix the mess by clarifying Kconfig option for Crystal Cove and split
> Whiskey Cove out of it.
> 
> (*) It looks like the configuration was never tested with
>     INTEL_SOC_PMIC=n. The line in Makefile is actually wrong.
> 
> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> (supporter:ACPI)
> Cc: Linus Walleij <linus.walleij@linaro.org> (maintainer:GPIO SUBSYSTEM)
> Cc: Zhang Rui <rui.zhang@intel.com> (supporter:THERMAL)
> Cc: Eduardo Valentin <edubezval@gmail.com> (supporter:THERMAL)
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> - make option visible
> - fix dependencies
>  drivers/acpi/Kconfig         |  2 +-

This needs an ACPI Ack before I can do anything with it.

>  drivers/gpio/Kconfig         |  2 +-
>  drivers/mfd/Kconfig          | 14 ++++++++++++--
>  drivers/mfd/Makefile         |  2 +-
>  drivers/platform/x86/Kconfig |  2 +-
>  drivers/thermal/Kconfig      |  2 +-
>  6 files changed, 17 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
> index 83e5f7e1a20d..03708e08fcb4 100644
> --- a/drivers/acpi/Kconfig
> +++ b/drivers/acpi/Kconfig
> @@ -512,7 +512,7 @@ config XPOWER_PMIC_OPREGION
>  
>  config BXT_WC_PMIC_OPREGION
>  	bool "ACPI operation region support for BXT WhiskeyCove PMIC"
> -	depends on INTEL_SOC_PMIC
> +	depends on INTEL_SOC_PMIC_BXTWC
>  	help
>  	  This config adds ACPI operation region support for BXT WhiskeyCove PMIC.
>  
> diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
> index 05043071fc98..9b1bcb4d0df7 100644
> --- a/drivers/gpio/Kconfig
> +++ b/drivers/gpio/Kconfig
> @@ -1054,7 +1054,7 @@ config GPIO_UCB1400
>  
>  config GPIO_WHISKEY_COVE
>  	tristate "GPIO support for Whiskey Cove PMIC"
> -	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC
> +	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC
>  	select GPIOLIB_IRQCHIP
>  	help
>  	  Support for GPIO pins on Whiskey Cove PMIC.
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index 55ecdfb74d31..e43afb8956ea 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -425,18 +425,28 @@ config LPC_SCH
>  	  System Management Bus and General Purpose I/O.
>  
>  config INTEL_SOC_PMIC
> -	bool "Support for Intel Atom SoC PMIC"
> +	bool "Support for Crystal Cove PMIC"
>  	depends on GPIOLIB
>  	depends on I2C=y
>  	select MFD_CORE
>  	select REGMAP_I2C
>  	select REGMAP_IRQ
>  	help
> -	  Select this option to enable support for the PMIC device
> +	  Select this option to enable support for Crystal Cove PMIC
>  	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
>  	  thermal, charger and related power management functions
>  	  on these systems.
>  
> +config INTEL_SOC_PMIC_BXTWC
> +	tristate "Support for Intel Broxton Whiskey Cove PMIC"
> +	select MFD_CORE
> +	select REGMAP_IRQ
> +	help
> +	  Select this option to enable support for Whiskey Cove PMIC
> +	  on Intel Broxton systems. The PMIC provides ADC, GPIO,
> +	  thermal, charger and related power management functions
> +	  on these systems.
> +
>  config MFD_INTEL_LPSS
>  	tristate
>  	select COMMON_CLK
> diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
> index 31ce07611a6f..201aeaf5112a 100644
> --- a/drivers/mfd/Makefile
> +++ b/drivers/mfd/Makefile
> @@ -207,8 +207,8 @@ obj-$(CONFIG_MFD_RT5033)	+= rt5033.o
>  obj-$(CONFIG_MFD_SKY81452)	+= sky81452.o
>  
>  intel-soc-pmic-objs		:= intel_soc_pmic_core.o intel_soc_pmic_crc.o
> -intel-soc-pmic-$(CONFIG_INTEL_PMC_IPC)	+= intel_soc_pmic_bxtwc.o
>  obj-$(CONFIG_INTEL_SOC_PMIC)	+= intel-soc-pmic.o
> +obj-$(CONFIG_INTEL_SOC_PMIC_BXTWC)	+= intel_soc_pmic_bxtwc.o
>  obj-$(CONFIG_MFD_MT6397)	+= mt6397-core.o
>  
>  obj-$(CONFIG_MFD_ALTERA_A10SR)	+= altera-a10sr.o
> diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
> index e1bffc9bb194..883fbe7a2466 100644
> --- a/drivers/platform/x86/Kconfig
> +++ b/drivers/platform/x86/Kconfig
> @@ -1019,7 +1019,7 @@ config INTEL_PMC_IPC
>  config INTEL_BXTWC_PMIC_TMU
>  	tristate "Intel BXT Whiskey Cove TMU Driver"
>  	depends on REGMAP
> -	depends on INTEL_SOC_PMIC && INTEL_PMC_IPC
> +	depends on INTEL_SOC_PMIC_BXTWC && INTEL_PMC_IPC
>  	---help---
>  	  Select this driver to use Intel BXT Whiskey Cove PMIC TMU feature.
>  	  This driver enables the alarm wakeup functionality in the TMU unit
> diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
> index 776b34396144..751e50a3d946 100644
> --- a/drivers/thermal/Kconfig
> +++ b/drivers/thermal/Kconfig
> @@ -365,7 +365,7 @@ endmenu
>  
>  config INTEL_BXT_PMIC_THERMAL
>  	tristate "Intel Broxton PMIC thermal driver"
> -	depends on X86 && INTEL_SOC_PMIC && REGMAP
> +	depends on X86 && INTEL_SOC_PMIC_BXTWC && REGMAP
>  	help
>  	  Select this driver for Intel Broxton PMIC with ADC channels monitoring
>  	  system temperature measurements and alerts.
Andy Shevchenko March 26, 2017, 12:37 p.m. | #3
On Thu, 2017-03-23 at 12:12 +0000, Lee Jones wrote:
> On Fri, 17 Mar 2017, Andy Shevchenko wrote:
> 
> > Crystal Cove and Whiskey Cove are two different PMICs which are
> > installed on Intel Atom SoC based platforms.
> > 
> > Moreover there are two independent drivers that by some reason were
> > supposed (*) to get into one kernel module.
> > 
> > Fix the mess by clarifying Kconfig option for Crystal Cove and split
> > Whiskey Cove out of it.
> > 
> > (*) It looks like the configuration was never tested with
> >     INTEL_SOC_PMIC=n. The line in Makefile is actually wrong.
> > 
> > Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> (supporter:ACPI)
> > Cc: Linus Walleij <linus.walleij@linaro.org> (maintainer:GPIO
> > SUBSYSTEM)
> > Cc: Zhang Rui <rui.zhang@intel.com> (supporter:THERMAL)
> > Cc: Eduardo Valentin <edubezval@gmail.com> (supporter:THERMAL)
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > ---
> > - make option visible
> > - fix dependencies
> >  drivers/acpi/Kconfig         |  2 +-
> 
> This needs an ACPI Ack before I can do anything with it.

Rafael, can you give you tag?

> 
> >  drivers/gpio/Kconfig         |  2 +-
> >  drivers/mfd/Kconfig          | 14 ++++++++++++--
> >  drivers/mfd/Makefile         |  2 +-
> >  drivers/platform/x86/Kconfig |  2 +-
> >  drivers/thermal/Kconfig      |  2 +-
> >  6 files changed, 17 insertions(+), 7 deletions(-)
> > 
> > diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
> > index 83e5f7e1a20d..03708e08fcb4 100644
> > --- a/drivers/acpi/Kconfig
> > +++ b/drivers/acpi/Kconfig
> > @@ -512,7 +512,7 @@ config XPOWER_PMIC_OPREGION
> >  
> >  config BXT_WC_PMIC_OPREGION
> >  	bool "ACPI operation region support for BXT WhiskeyCove
> > PMIC"
> > -	depends on INTEL_SOC_PMIC
> > +	depends on INTEL_SOC_PMIC_BXTWC
> >  	help
> >  	  This config adds ACPI operation region support for BXT
> > WhiskeyCove PMIC.
> >  
> > diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
> > index 05043071fc98..9b1bcb4d0df7 100644
> > --- a/drivers/gpio/Kconfig
> > +++ b/drivers/gpio/Kconfig
> > @@ -1054,7 +1054,7 @@ config GPIO_UCB1400
> >  
> >  config GPIO_WHISKEY_COVE
> >  	tristate "GPIO support for Whiskey Cove PMIC"
> > -	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC
> > +	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC
> >  	select GPIOLIB_IRQCHIP
> >  	help
> >  	  Support for GPIO pins on Whiskey Cove PMIC.
> > diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> > index 55ecdfb74d31..e43afb8956ea 100644
> > --- a/drivers/mfd/Kconfig
> > +++ b/drivers/mfd/Kconfig
> > @@ -425,18 +425,28 @@ config LPC_SCH
> >  	  System Management Bus and General Purpose I/O.
> >  
> >  config INTEL_SOC_PMIC
> > -	bool "Support for Intel Atom SoC PMIC"
> > +	bool "Support for Crystal Cove PMIC"
> >  	depends on GPIOLIB
> >  	depends on I2C=y
> >  	select MFD_CORE
> >  	select REGMAP_I2C
> >  	select REGMAP_IRQ
> >  	help
> > -	  Select this option to enable support for the PMIC device
> > +	  Select this option to enable support for Crystal Cove
> > PMIC
> >  	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
> >  	  thermal, charger and related power management functions
> >  	  on these systems.
> >  
> > +config INTEL_SOC_PMIC_BXTWC
> > +	tristate "Support for Intel Broxton Whiskey Cove PMIC"
> > +	select MFD_CORE
> > +	select REGMAP_IRQ
> > +	help
> > +	  Select this option to enable support for Whiskey Cove
> > PMIC
> > +	  on Intel Broxton systems. The PMIC provides ADC, GPIO,
> > +	  thermal, charger and related power management functions
> > +	  on these systems.
> > +
> >  config MFD_INTEL_LPSS
> >  	tristate
> >  	select COMMON_CLK
> > diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
> > index 31ce07611a6f..201aeaf5112a 100644
> > --- a/drivers/mfd/Makefile
> > +++ b/drivers/mfd/Makefile
> > @@ -207,8 +207,8 @@ obj-$(CONFIG_MFD_RT5033)	+= rt5033.o
> >  obj-$(CONFIG_MFD_SKY81452)	+= sky81452.o
> >  
> >  intel-soc-pmic-objs		:= intel_soc_pmic_core.o
> > intel_soc_pmic_crc.o
> > -intel-soc-pmic-$(CONFIG_INTEL_PMC_IPC)	+=
> > intel_soc_pmic_bxtwc.o
> >  obj-$(CONFIG_INTEL_SOC_PMIC)	+= intel-soc-pmic.o
> > +obj-$(CONFIG_INTEL_SOC_PMIC_BXTWC)	+= intel_soc_pmic_bxtwc.o
> >  obj-$(CONFIG_MFD_MT6397)	+= mt6397-core.o
> >  
> >  obj-$(CONFIG_MFD_ALTERA_A10SR)	+= altera-a10sr.o
> > diff --git a/drivers/platform/x86/Kconfig
> > b/drivers/platform/x86/Kconfig
> > index e1bffc9bb194..883fbe7a2466 100644
> > --- a/drivers/platform/x86/Kconfig
> > +++ b/drivers/platform/x86/Kconfig
> > @@ -1019,7 +1019,7 @@ config INTEL_PMC_IPC
> >  config INTEL_BXTWC_PMIC_TMU
> >  	tristate "Intel BXT Whiskey Cove TMU Driver"
> >  	depends on REGMAP
> > -	depends on INTEL_SOC_PMIC && INTEL_PMC_IPC
> > +	depends on INTEL_SOC_PMIC_BXTWC && INTEL_PMC_IPC
> >  	---help---
> >  	  Select this driver to use Intel BXT Whiskey Cove PMIC TMU
> > feature.
> >  	  This driver enables the alarm wakeup functionality in the
> > TMU unit
> > diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
> > index 776b34396144..751e50a3d946 100644
> > --- a/drivers/thermal/Kconfig
> > +++ b/drivers/thermal/Kconfig
> > @@ -365,7 +365,7 @@ endmenu
> >  
> >  config INTEL_BXT_PMIC_THERMAL
> >  	tristate "Intel Broxton PMIC thermal driver"
> > -	depends on X86 && INTEL_SOC_PMIC && REGMAP
> > +	depends on X86 && INTEL_SOC_PMIC_BXTWC && REGMAP
> >  	help
> >  	  Select this driver for Intel Broxton PMIC with ADC
> > channels monitoring
> >  	  system temperature measurements and alerts.
> 
>
Zhang Rui March 27, 2017, 2:14 a.m. | #4
On Sun, 2017-03-26 at 15:37 +0300, Andy Shevchenko wrote:
> On Thu, 2017-03-23 at 12:12 +0000, Lee Jones wrote:
> > 
> > On Fri, 17 Mar 2017, Andy Shevchenko wrote:
> > 
> > > 
> > > Crystal Cove and Whiskey Cove are two different PMICs which are
> > > installed on Intel Atom SoC based platforms.
> > > 
> > > Moreover there are two independent drivers that by some reason
> > > were
> > > supposed (*) to get into one kernel module.
> > > 
> > > Fix the mess by clarifying Kconfig option for Crystal Cove and
> > > split
> > > Whiskey Cove out of it.
> > > 
> > > (*) It looks like the configuration was never tested with
> > >     INTEL_SOC_PMIC=n. The line in Makefile is actually wrong.
> > > 
> > > Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> (supporter:ACPI)
> > > Cc: Linus Walleij <linus.walleij@linaro.org> (maintainer:GPIO
> > > SUBSYSTEM)
> > > Cc: Zhang Rui <rui.zhang@intel.com> (supporter:THERMAL)
> > > Cc: Eduardo Valentin <edubezval@gmail.com> (supporter:THERMAL)
> > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com
> > > >
> > > ---
> > > - make option visible
> > > - fix dependencies
> > >  drivers/acpi/Kconfig         |  2 +-
> > This needs an ACPI Ack before I can do anything with it.
> Rafael, can you give you tag?
> 
> > 
> > 
> > > 
> > >  drivers/gpio/Kconfig         |  2 +-
> > >  drivers/mfd/Kconfig          | 14 ++++++++++++--
> > >  drivers/mfd/Makefile         |  2 +-
> > >  drivers/platform/x86/Kconfig |  2 +-
> > > 

> > >  drivers/thermal/Kconfig      |  2 +-

For the thermal part,
Acked-by: Zhang Rui <rui.zhang@intel.com>

thanks,
rui
> > >  6 files changed, 17 insertions(+), 7 deletions(-)
> > > 
> > > diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
> > > index 83e5f7e1a20d..03708e08fcb4 100644
> > > --- a/drivers/acpi/Kconfig
> > > +++ b/drivers/acpi/Kconfig
> > > @@ -512,7 +512,7 @@ config XPOWER_PMIC_OPREGION
> > >  
> > >  config BXT_WC_PMIC_OPREGION
> > >  	bool "ACPI operation region support for BXT WhiskeyCove
> > > PMIC"
> > > -	depends on INTEL_SOC_PMIC
> > > +	depends on INTEL_SOC_PMIC_BXTWC
> > >  	help
> > >  	  This config adds ACPI operation region support for BXT
> > > WhiskeyCove PMIC.
> > >  
> > > diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
> > > index 05043071fc98..9b1bcb4d0df7 100644
> > > --- a/drivers/gpio/Kconfig
> > > +++ b/drivers/gpio/Kconfig
> > > @@ -1054,7 +1054,7 @@ config GPIO_UCB1400
> > >  
> > >  config GPIO_WHISKEY_COVE
> > >  	tristate "GPIO support for Whiskey Cove PMIC"
> > > -	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC
> > > +	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC
> > >  	select GPIOLIB_IRQCHIP
> > >  	help
> > >  	  Support for GPIO pins on Whiskey Cove PMIC.
> > > diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> > > index 55ecdfb74d31..e43afb8956ea 100644
> > > --- a/drivers/mfd/Kconfig
> > > +++ b/drivers/mfd/Kconfig
> > > @@ -425,18 +425,28 @@ config LPC_SCH
> > >  	  System Management Bus and General Purpose I/O.
> > >  
> > >  config INTEL_SOC_PMIC
> > > -	bool "Support for Intel Atom SoC PMIC"
> > > +	bool "Support for Crystal Cove PMIC"
> > >  	depends on GPIOLIB
> > >  	depends on I2C=y
> > >  	select MFD_CORE
> > >  	select REGMAP_I2C
> > >  	select REGMAP_IRQ
> > >  	help
> > > -	  Select this option to enable support for the PMIC
> > > device
> > > +	  Select this option to enable support for Crystal Cove
> > > PMIC
> > >  	  on some Intel SoC systems. The PMIC provides ADC,
> > > GPIO,
> > >  	  thermal, charger and related power management
> > > functions
> > >  	  on these systems.
> > >  
> > > +config INTEL_SOC_PMIC_BXTWC
> > > +	tristate "Support for Intel Broxton Whiskey Cove PMIC"
> > > +	select MFD_CORE
> > > +	select REGMAP_IRQ
> > > +	help
> > > +	  Select this option to enable support for Whiskey Cove
> > > PMIC
> > > +	  on Intel Broxton systems. The PMIC provides ADC, GPIO,
> > > +	  thermal, charger and related power management
> > > functions
> > > +	  on these systems.
> > > +
> > >  config MFD_INTEL_LPSS
> > >  	tristate
> > >  	select COMMON_CLK
> > > diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
> > > index 31ce07611a6f..201aeaf5112a 100644
> > > --- a/drivers/mfd/Makefile
> > > +++ b/drivers/mfd/Makefile
> > > @@ -207,8 +207,8 @@ obj-$(CONFIG_MFD_RT5033)	+= rt5033.o
> > >  obj-$(CONFIG_MFD_SKY81452)	+= sky81452.o
> > >  
> > >  intel-soc-pmic-objs		:= intel_soc_pmic_core.o
> > > intel_soc_pmic_crc.o
> > > -intel-soc-pmic-$(CONFIG_INTEL_PMC_IPC)	+=
> > > intel_soc_pmic_bxtwc.o
> > >  obj-$(CONFIG_INTEL_SOC_PMIC)	+= intel-soc-pmic.o
> > > +obj-$(CONFIG_INTEL_SOC_PMIC_BXTWC)	+=
> > > intel_soc_pmic_bxtwc.o
> > >  obj-$(CONFIG_MFD_MT6397)	+= mt6397-core.o
> > >  
> > >  obj-$(CONFIG_MFD_ALTERA_A10SR)	+= altera-a10sr.o
> > > diff --git a/drivers/platform/x86/Kconfig
> > > b/drivers/platform/x86/Kconfig
> > > index e1bffc9bb194..883fbe7a2466 100644
> > > --- a/drivers/platform/x86/Kconfig
> > > +++ b/drivers/platform/x86/Kconfig
> > > @@ -1019,7 +1019,7 @@ config INTEL_PMC_IPC
> > >  config INTEL_BXTWC_PMIC_TMU
> > >  	tristate "Intel BXT Whiskey Cove TMU Driver"
> > >  	depends on REGMAP
> > > -	depends on INTEL_SOC_PMIC && INTEL_PMC_IPC
> > > +	depends on INTEL_SOC_PMIC_BXTWC && INTEL_PMC_IPC
> > >  	---help---
> > >  	  Select this driver to use Intel BXT Whiskey Cove PMIC
> > > TMU
> > > feature.
> > >  	  This driver enables the alarm wakeup functionality in
> > > the
> > > TMU unit
> > > diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
> > > index 776b34396144..751e50a3d946 100644
> > > --- a/drivers/thermal/Kconfig
> > > +++ b/drivers/thermal/Kconfig
> > > @@ -365,7 +365,7 @@ endmenu
> > >  
> > >  config INTEL_BXT_PMIC_THERMAL
> > >  	tristate "Intel Broxton PMIC thermal driver"
> > > -	depends on X86 && INTEL_SOC_PMIC && REGMAP
> > > +	depends on X86 && INTEL_SOC_PMIC_BXTWC && REGMAP
> > >  	help
> > >  	  Select this driver for Intel Broxton PMIC with ADC
> > > channels monitoring
> > >  	  system temperature measurements and alerts.
> > 
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
kbuild test robot April 2, 2017, 8:03 p.m. | #5
Hi Andy,

[auto build test ERROR on ljones-mfd/for-mfd-next]
[also build test ERROR on v4.11-rc4 next-20170331]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Andy-Shevchenko/mfd-intel_soc_pmic-Fix-a-mess-with-compilation-units/20170320-153539
base:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
config: tile-allyesconfig (attached as .config)
compiler: tilegx-linux-gcc (GCC) 4.6.2
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=tile 

All errors (new ones prefixed by >>):

>> drivers/mfd/intel_soc_pmic_bxtwc.c:24:31: fatal error: asm/intel_pmc_ipc.h: No such file or directory
   compilation terminated.

vim +24 drivers/mfd/intel_soc_pmic_bxtwc.c

39d047c0 Qipeng Zha 2015-09-15   8   * version 2, as published by the Free Software Foundation.
39d047c0 Qipeng Zha 2015-09-15   9   *
39d047c0 Qipeng Zha 2015-09-15  10   * This program is distributed in the hope it will be useful, but WITHOUT
39d047c0 Qipeng Zha 2015-09-15  11   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
39d047c0 Qipeng Zha 2015-09-15  12   * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
39d047c0 Qipeng Zha 2015-09-15  13   * more details.
39d047c0 Qipeng Zha 2015-09-15  14   */
39d047c0 Qipeng Zha 2015-09-15  15  
39d047c0 Qipeng Zha 2015-09-15  16  #include <linux/module.h>
39d047c0 Qipeng Zha 2015-09-15  17  #include <linux/acpi.h>
39d047c0 Qipeng Zha 2015-09-15  18  #include <linux/err.h>
39d047c0 Qipeng Zha 2015-09-15  19  #include <linux/delay.h>
39d047c0 Qipeng Zha 2015-09-15  20  #include <linux/interrupt.h>
39d047c0 Qipeng Zha 2015-09-15  21  #include <linux/kernel.h>
39d047c0 Qipeng Zha 2015-09-15  22  #include <linux/mfd/core.h>
39d047c0 Qipeng Zha 2015-09-15  23  #include <linux/mfd/intel_bxtwc.h>
39d047c0 Qipeng Zha 2015-09-15 @24  #include <asm/intel_pmc_ipc.h>
39d047c0 Qipeng Zha 2015-09-15  25  
39d047c0 Qipeng Zha 2015-09-15  26  /* PMIC device registers */
39d047c0 Qipeng Zha 2015-09-15  27  #define REG_ADDR_MASK		0xFF00
39d047c0 Qipeng Zha 2015-09-15  28  #define REG_ADDR_SHIFT		8
39d047c0 Qipeng Zha 2015-09-15  29  #define REG_OFFSET_MASK		0xFF
39d047c0 Qipeng Zha 2015-09-15  30  
39d047c0 Qipeng Zha 2015-09-15  31  /* Interrupt Status Registers */
39d047c0 Qipeng Zha 2015-09-15  32  #define BXTWC_IRQLVL1		0x4E02

:::::: The code at line 24 was first introduced by commit
:::::: 39d047c0b1c812e9f0014e7100e372e61f2de3de mfd: add Intel Broxton Whiskey Cove PMIC driver

:::::: TO: Qipeng Zha <qipeng.zha@intel.com>
:::::: CC: Lee Jones <lee.jones@linaro.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
Andy Shevchenko April 2, 2017, 8:18 p.m. | #6
On Sun, Apr 2, 2017 at 11:03 PM, kbuild test robot <lkp@intel.com> wrote:
> Hi Andy,
>
> [auto build test ERROR on ljones-mfd/for-mfd-next]
> [also build test ERROR on v4.11-rc4 next-20170331]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

Thank you for report, though...

>
> url:    https://github.com/0day-ci/linux/commits/Andy-Shevchenko/mfd-intel_soc_pmic-Fix-a-mess-with-compilation-units/20170320-153539
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
> config: tile-allyesconfig (attached as .config)
> compiler: tilegx-linux-gcc (GCC) 4.6.2
> reproduce:
>         wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # save the attached .config to linux build tree

>         make.cross ARCH=tile

...I doubt how below is related to my patch. This is obvious x86 code
which was initially submitted without
depend on X86
line in corresponding Kconfig.

>
> All errors (new ones prefixed by >>):
>
>>> drivers/mfd/intel_soc_pmic_bxtwc.c:24:31: fatal error: asm/intel_pmc_ipc.h: No such file or directory
>    compilation terminated.
>
> vim +24 drivers/mfd/intel_soc_pmic_bxtwc.c
>
> 39d047c0 Qipeng Zha 2015-09-15   8   * version 2, as published by the Free Software Foundation.
> 39d047c0 Qipeng Zha 2015-09-15   9   *
> 39d047c0 Qipeng Zha 2015-09-15  10   * This program is distributed in the hope it will be useful, but WITHOUT
> 39d047c0 Qipeng Zha 2015-09-15  11   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> 39d047c0 Qipeng Zha 2015-09-15  12   * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> 39d047c0 Qipeng Zha 2015-09-15  13   * more details.
> 39d047c0 Qipeng Zha 2015-09-15  14   */
> 39d047c0 Qipeng Zha 2015-09-15  15
> 39d047c0 Qipeng Zha 2015-09-15  16  #include <linux/module.h>
> 39d047c0 Qipeng Zha 2015-09-15  17  #include <linux/acpi.h>
> 39d047c0 Qipeng Zha 2015-09-15  18  #include <linux/err.h>
> 39d047c0 Qipeng Zha 2015-09-15  19  #include <linux/delay.h>
> 39d047c0 Qipeng Zha 2015-09-15  20  #include <linux/interrupt.h>
> 39d047c0 Qipeng Zha 2015-09-15  21  #include <linux/kernel.h>
> 39d047c0 Qipeng Zha 2015-09-15  22  #include <linux/mfd/core.h>
> 39d047c0 Qipeng Zha 2015-09-15  23  #include <linux/mfd/intel_bxtwc.h>
> 39d047c0 Qipeng Zha 2015-09-15 @24  #include <asm/intel_pmc_ipc.h>
> 39d047c0 Qipeng Zha 2015-09-15  25
> 39d047c0 Qipeng Zha 2015-09-15  26  /* PMIC device registers */
> 39d047c0 Qipeng Zha 2015-09-15  27  #define REG_ADDR_MASK               0xFF00
> 39d047c0 Qipeng Zha 2015-09-15  28  #define REG_ADDR_SHIFT              8
> 39d047c0 Qipeng Zha 2015-09-15  29  #define REG_OFFSET_MASK             0xFF
> 39d047c0 Qipeng Zha 2015-09-15  30
> 39d047c0 Qipeng Zha 2015-09-15  31  /* Interrupt Status Registers */
> 39d047c0 Qipeng Zha 2015-09-15  32  #define BXTWC_IRQLVL1               0x4E02
>
> :::::: The code at line 24 was first introduced by commit
> :::::: 39d047c0b1c812e9f0014e7100e372e61f2de3de mfd: add Intel Broxton Whiskey Cove PMIC driver
>
> :::::: TO: Qipeng Zha <qipeng.zha@intel.com>
> :::::: CC: Lee Jones <lee.jones@linaro.org>
>
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
Lee Jones April 3, 2017, 9:20 a.m. | #7
On Sun, 02 Apr 2017, Andy Shevchenko wrote:

> On Sun, Apr 2, 2017 at 11:03 PM, kbuild test robot <lkp@intel.com> wrote:
> > Hi Andy,
> >
> > [auto build test ERROR on ljones-mfd/for-mfd-next]
> > [also build test ERROR on v4.11-rc4 next-20170331]
> > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
> 
> Thank you for report, though...
> 
> >
> > url:    https://github.com/0day-ci/linux/commits/Andy-Shevchenko/mfd-intel_soc_pmic-Fix-a-mess-with-compilation-units/20170320-153539
> > base:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
> > config: tile-allyesconfig (attached as .config)
> > compiler: tilegx-linux-gcc (GCC) 4.6.2
> > reproduce:
> >         wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> >         chmod +x ~/bin/make.cross
> >         # save the attached .config to linux build tree
> 
> >         make.cross ARCH=tile
> 
> ...I doubt how below is related to my patch. This is obvious x86 code
> which was initially submitted without
> depend on X86
> line in corresponding Kconfig.

I think you should probably specify the architecture in the Kconfig
entry, or else some `randconfig`s will fail.

> > All errors (new ones prefixed by >>):
> >
> >>> drivers/mfd/intel_soc_pmic_bxtwc.c:24:31: fatal error: asm/intel_pmc_ipc.h: No such file or directory
> >    compilation terminated.
> >
> > vim +24 drivers/mfd/intel_soc_pmic_bxtwc.c
> >
> > 39d047c0 Qipeng Zha 2015-09-15   8   * version 2, as published by the Free Software Foundation.
> > 39d047c0 Qipeng Zha 2015-09-15   9   *
> > 39d047c0 Qipeng Zha 2015-09-15  10   * This program is distributed in the hope it will be useful, but WITHOUT
> > 39d047c0 Qipeng Zha 2015-09-15  11   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> > 39d047c0 Qipeng Zha 2015-09-15  12   * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> > 39d047c0 Qipeng Zha 2015-09-15  13   * more details.
> > 39d047c0 Qipeng Zha 2015-09-15  14   */
> > 39d047c0 Qipeng Zha 2015-09-15  15
> > 39d047c0 Qipeng Zha 2015-09-15  16  #include <linux/module.h>
> > 39d047c0 Qipeng Zha 2015-09-15  17  #include <linux/acpi.h>
> > 39d047c0 Qipeng Zha 2015-09-15  18  #include <linux/err.h>
> > 39d047c0 Qipeng Zha 2015-09-15  19  #include <linux/delay.h>
> > 39d047c0 Qipeng Zha 2015-09-15  20  #include <linux/interrupt.h>
> > 39d047c0 Qipeng Zha 2015-09-15  21  #include <linux/kernel.h>
> > 39d047c0 Qipeng Zha 2015-09-15  22  #include <linux/mfd/core.h>
> > 39d047c0 Qipeng Zha 2015-09-15  23  #include <linux/mfd/intel_bxtwc.h>
> > 39d047c0 Qipeng Zha 2015-09-15 @24  #include <asm/intel_pmc_ipc.h>
> > 39d047c0 Qipeng Zha 2015-09-15  25
> > 39d047c0 Qipeng Zha 2015-09-15  26  /* PMIC device registers */
> > 39d047c0 Qipeng Zha 2015-09-15  27  #define REG_ADDR_MASK               0xFF00
> > 39d047c0 Qipeng Zha 2015-09-15  28  #define REG_ADDR_SHIFT              8
> > 39d047c0 Qipeng Zha 2015-09-15  29  #define REG_OFFSET_MASK             0xFF
> > 39d047c0 Qipeng Zha 2015-09-15  30
> > 39d047c0 Qipeng Zha 2015-09-15  31  /* Interrupt Status Registers */
> > 39d047c0 Qipeng Zha 2015-09-15  32  #define BXTWC_IRQLVL1               0x4E02
> >
> > :::::: The code at line 24 was first introduced by commit
> > :::::: 39d047c0b1c812e9f0014e7100e372e61f2de3de mfd: add Intel Broxton Whiskey Cove PMIC driver
> >
> > :::::: TO: Qipeng Zha <qipeng.zha@intel.com>
> > :::::: CC: Lee Jones <lee.jones@linaro.org>
> >
> > ---
> > 0-DAY kernel test infrastructure                Open Source Technology Center
> > https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
> 
> 
>
Andy Shevchenko April 3, 2017, 9:26 a.m. | #8
On Mon, Apr 3, 2017 at 12:20 PM, Lee Jones <lee.jones@linaro.org> wrote:
> On Sun, 02 Apr 2017, Andy Shevchenko wrote:
>
>> On Sun, Apr 2, 2017 at 11:03 PM, kbuild test robot <lkp@intel.com> wrote:
>> > Hi Andy,
>> >
>> > [auto build test ERROR on ljones-mfd/for-mfd-next]
>> > [also build test ERROR on v4.11-rc4 next-20170331]
>> > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>>
>> Thank you for report, though...
>>
>> >
>> > url:    https://github.com/0day-ci/linux/commits/Andy-Shevchenko/mfd-intel_soc_pmic-Fix-a-mess-with-compilation-units/20170320-153539
>> > base:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
>> > config: tile-allyesconfig (attached as .config)
>> > compiler: tilegx-linux-gcc (GCC) 4.6.2
>> > reproduce:
>> >         wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>> >         chmod +x ~/bin/make.cross
>> >         # save the attached .config to linux build tree
>>
>> >         make.cross ARCH=tile
>>
>> ...I doubt how below is related to my patch. This is obvious x86 code
>> which was initially submitted without
>> depend on X86
>> line in corresponding Kconfig.
>
> I think you should probably specify the architecture in the Kconfig
> entry, or else some `randconfig`s will fail.

Yes, I understand how to fix this, though it's not a problem of this
patch per se.

Fengguang, is there any possible way to determine the relation between
an error and a root cause change?
kbuild test robot April 3, 2017, 11:06 a.m. | #9
On Mon, Apr 03, 2017 at 12:26:54PM +0300, Andy Shevchenko wrote:
>On Mon, Apr 3, 2017 at 12:20 PM, Lee Jones <lee.jones@linaro.org> wrote:
>> On Sun, 02 Apr 2017, Andy Shevchenko wrote:
>>
>>> On Sun, Apr 2, 2017 at 11:03 PM, kbuild test robot <lkp@intel.com> wrote:
>>> > Hi Andy,
>>> >
>>> > [auto build test ERROR on ljones-mfd/for-mfd-next]
>>> > [also build test ERROR on v4.11-rc4 next-20170331]
>>> > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>>>
>>> Thank you for report, though...
>>>
>>> >
>>> > url:    https://github.com/0day-ci/linux/commits/Andy-Shevchenko/mfd-intel_soc_pmic-Fix-a-mess-with-compilation-units/20170320-153539
>>> > base:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
>>> > config: tile-allyesconfig (attached as .config)
>>> > compiler: tilegx-linux-gcc (GCC) 4.6.2
>>> > reproduce:
>>> >         wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>> >         chmod +x ~/bin/make.cross
>>> >         # save the attached .config to linux build tree
>>>
>>> >         make.cross ARCH=tile
>>>
>>> ...I doubt how below is related to my patch. This is obvious x86 code
>>> which was initially submitted without
>>> depend on X86
>>> line in corresponding Kconfig.
>>
>> I think you should probably specify the architecture in the Kconfig
>> entry, or else some `randconfig`s will fail.
>
>Yes, I understand how to fix this, though it's not a problem of this
>patch per se.
>
>Fengguang, is there any possible way to determine the relation between
>an error and a root cause change?

Andy, our 0day build error reports are all bisected ones. It means the
error happens since the reported patch/commit, which is either
responsible for the root cause, or somehow triggers (or changes the
exact form of) an old bug.

I just manual confirmed the bisect is correct:

=============== commit 162c61d1a ===============
/home/wfg/linux
HEAD is now at 162c61d... mfd: intel_soc_pmic: Fix a mess with compilation units
/home/wfg/linux/obj-compiletest

make ARCH=tile allyesconfig
make ARCH=tile drivers/mfd/

!!! BUILD ERROR !!!
make ARCH=tile M=drivers/mfd/

!!! BUILD ERROR !!!
grep -a -F drivers/mfd/ /tmp/build-err-162c61d1a76aa5ccfb398225b3f6f2e896fb58b0-wfg --color
../drivers/mfd/intel_soc_pmic_bxtwc.c:24:31: fatal error: asm/intel_pmc_ipc.h: No such file or directory
compilation terminated.
make[2]: *** [drivers/mfd/intel_soc_pmic_bxtwc.o] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [drivers/mfd/] Error 2
make: *** [sub-make] Error 2
make[2]: *** No rule to make target 'drivers/mfd//intel_soc_pmic_bxtwc.o', needed by 'drivers/mfd//built-in.o'.
make[2]: Target '__build' not remade because of errors.
make[1]: *** [_module_drivers/mfd/] Error 2
make[1]: Target '_all' not remade because of errors.
make: *** [sub-make] Error 2

=============== PREV commit e93c10211d03c35271896b03a40d3eca4a674770 ===============
/home/wfg/linux
Previous HEAD position was 162c61d... mfd: intel_soc_pmic: Fix a mess with compilation units
HEAD is now at e93c102... mfd: lpc_ich: Enable watchdog on Intel Apollo Lake PCH
/home/wfg/linux/obj-compiletest

make ARCH=tile allyesconfig
make ARCH=tile drivers/mfd/

make ARCH=tile M=drivers/mfd/

grep -a -F drivers/mfd/ /tmp/build-err-e93c10211d03c35271896b03a40d3eca4a674770-wfg --color

Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andy Shevchenko April 3, 2017, 11:12 a.m. | #10
On Mon, Apr 3, 2017 at 2:06 PM, Fengguang Wu <lkp@intel.com> wrote:
> On Mon, Apr 03, 2017 at 12:26:54PM +0300, Andy Shevchenko wrote:
>> On Mon, Apr 3, 2017 at 12:20 PM, Lee Jones <lee.jones@linaro.org> wrote:
>>> On Sun, 02 Apr 2017, Andy Shevchenko wrote:
>>>> On Sun, Apr 2, 2017 at 11:03 PM, kbuild test robot <lkp@intel.com>
>>>> wrote:
>>>> > Hi Andy,
>>>> >
>>>> > [auto build test ERROR on ljones-mfd/for-mfd-next]
>>>> > [also build test ERROR on v4.11-rc4 next-20170331]
>>>> > [if your patch is applied to the wrong git tree, please drop us a note
>>>> > to help improve the system]
>>>>
>>>> Thank you for report, though...

>>>> ...I doubt how below is related to my patch. This is obvious x86 code
>>>> which was initially submitted without
>>>> depend on X86
>>>> line in corresponding Kconfig.
>>>
>>>
>>> I think you should probably specify the architecture in the Kconfig
>>> entry, or else some `randconfig`s will fail.
>>
>>
>> Yes, I understand how to fix this, though it's not a problem of this
>> patch per se.
>>
>> Fengguang, is there any possible way to determine the relation between
>> an error and a root cause change?
>
>
> Andy, our 0day build error reports are all bisected ones. It means the
> error happens since the reported patch/commit, which is either
> responsible for the root cause, or somehow triggers (or changes the
> exact form of) an old bug.

Thanks, like you said in this case it looks pretty much for triggering
an old bug.
Lee Jones April 3, 2017, 2:33 p.m. | #11
On Mon, 03 Apr 2017, Andy Shevchenko wrote:

> On Mon, Apr 3, 2017 at 2:06 PM, Fengguang Wu <lkp@intel.com> wrote:
> > On Mon, Apr 03, 2017 at 12:26:54PM +0300, Andy Shevchenko wrote:
> >> On Mon, Apr 3, 2017 at 12:20 PM, Lee Jones <lee.jones@linaro.org> wrote:
> >>> On Sun, 02 Apr 2017, Andy Shevchenko wrote:
> >>>> On Sun, Apr 2, 2017 at 11:03 PM, kbuild test robot <lkp@intel.com>
> >>>> wrote:
> >>>> > Hi Andy,
> >>>> >
> >>>> > [auto build test ERROR on ljones-mfd/for-mfd-next]
> >>>> > [also build test ERROR on v4.11-rc4 next-20170331]
> >>>> > [if your patch is applied to the wrong git tree, please drop us a note
> >>>> > to help improve the system]
> >>>>
> >>>> Thank you for report, though...
> 
> >>>> ...I doubt how below is related to my patch. This is obvious x86 code
> >>>> which was initially submitted without
> >>>> depend on X86
> >>>> line in corresponding Kconfig.
> >>>
> >>>
> >>> I think you should probably specify the architecture in the Kconfig
> >>> entry, or else some `randconfig`s will fail.
> >>
> >>
> >> Yes, I understand how to fix this, though it's not a problem of this
> >> patch per se.
> >>
> >> Fengguang, is there any possible way to determine the relation between
> >> an error and a root cause change?
> >
> >
> > Andy, our 0day build error reports are all bisected ones. It means the
> > error happens since the reported patch/commit, which is either
> > responsible for the root cause, or somehow triggers (or changes the
> > exact form of) an old bug.
> 
> Thanks, like you said in this case it looks pretty much for triggering
> an old bug.

Quite.  But as a good open source citizen, you'll follow up with
patches too, right? :)
Lee Jones April 3, 2017, 2:34 p.m. | #12
On Fri, 17 Mar 2017, Andy Shevchenko wrote:

> Crystal Cove and Whiskey Cove are two different PMICs which are
> installed on Intel Atom SoC based platforms.
> 
> Moreover there are two independent drivers that by some reason were
> supposed (*) to get into one kernel module.
> 
> Fix the mess by clarifying Kconfig option for Crystal Cove and split
> Whiskey Cove out of it.
> 
> (*) It looks like the configuration was never tested with
>     INTEL_SOC_PMIC=n. The line in Makefile is actually wrong.
> 
> Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net> (supporter:ACPI)
> Cc: Linus Walleij <linus.walleij@linaro.org> (maintainer:GPIO SUBSYSTEM)
> Cc: Zhang Rui <rui.zhang@intel.com> (supporter:THERMAL)
> Cc: Eduardo Valentin <edubezval@gmail.com> (supporter:THERMAL)
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> - make option visible
> - fix dependencies
>  drivers/acpi/Kconfig         |  2 +-
>  drivers/gpio/Kconfig         |  2 +-
>  drivers/mfd/Kconfig          | 14 ++++++++++++--
>  drivers/mfd/Makefile         |  2 +-
>  drivers/platform/x86/Kconfig |  2 +-
>  drivers/thermal/Kconfig      |  2 +-
>  6 files changed, 17 insertions(+), 7 deletions(-)

Applied, thanks.

> diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
> index 83e5f7e1a20d..03708e08fcb4 100644
> --- a/drivers/acpi/Kconfig
> +++ b/drivers/acpi/Kconfig
> @@ -512,7 +512,7 @@ config XPOWER_PMIC_OPREGION
>  
>  config BXT_WC_PMIC_OPREGION
>  	bool "ACPI operation region support for BXT WhiskeyCove PMIC"
> -	depends on INTEL_SOC_PMIC
> +	depends on INTEL_SOC_PMIC_BXTWC
>  	help
>  	  This config adds ACPI operation region support for BXT WhiskeyCove PMIC.
>  
> diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
> index 05043071fc98..9b1bcb4d0df7 100644
> --- a/drivers/gpio/Kconfig
> +++ b/drivers/gpio/Kconfig
> @@ -1054,7 +1054,7 @@ config GPIO_UCB1400
>  
>  config GPIO_WHISKEY_COVE
>  	tristate "GPIO support for Whiskey Cove PMIC"
> -	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC
> +	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC
>  	select GPIOLIB_IRQCHIP
>  	help
>  	  Support for GPIO pins on Whiskey Cove PMIC.
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index 55ecdfb74d31..e43afb8956ea 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -425,18 +425,28 @@ config LPC_SCH
>  	  System Management Bus and General Purpose I/O.
>  
>  config INTEL_SOC_PMIC
> -	bool "Support for Intel Atom SoC PMIC"
> +	bool "Support for Crystal Cove PMIC"
>  	depends on GPIOLIB
>  	depends on I2C=y
>  	select MFD_CORE
>  	select REGMAP_I2C
>  	select REGMAP_IRQ
>  	help
> -	  Select this option to enable support for the PMIC device
> +	  Select this option to enable support for Crystal Cove PMIC
>  	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
>  	  thermal, charger and related power management functions
>  	  on these systems.
>  
> +config INTEL_SOC_PMIC_BXTWC
> +	tristate "Support for Intel Broxton Whiskey Cove PMIC"
> +	select MFD_CORE
> +	select REGMAP_IRQ
> +	help
> +	  Select this option to enable support for Whiskey Cove PMIC
> +	  on Intel Broxton systems. The PMIC provides ADC, GPIO,
> +	  thermal, charger and related power management functions
> +	  on these systems.
> +
>  config MFD_INTEL_LPSS
>  	tristate
>  	select COMMON_CLK
> diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
> index 31ce07611a6f..201aeaf5112a 100644
> --- a/drivers/mfd/Makefile
> +++ b/drivers/mfd/Makefile
> @@ -207,8 +207,8 @@ obj-$(CONFIG_MFD_RT5033)	+= rt5033.o
>  obj-$(CONFIG_MFD_SKY81452)	+= sky81452.o
>  
>  intel-soc-pmic-objs		:= intel_soc_pmic_core.o intel_soc_pmic_crc.o
> -intel-soc-pmic-$(CONFIG_INTEL_PMC_IPC)	+= intel_soc_pmic_bxtwc.o
>  obj-$(CONFIG_INTEL_SOC_PMIC)	+= intel-soc-pmic.o
> +obj-$(CONFIG_INTEL_SOC_PMIC_BXTWC)	+= intel_soc_pmic_bxtwc.o
>  obj-$(CONFIG_MFD_MT6397)	+= mt6397-core.o
>  
>  obj-$(CONFIG_MFD_ALTERA_A10SR)	+= altera-a10sr.o
> diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
> index e1bffc9bb194..883fbe7a2466 100644
> --- a/drivers/platform/x86/Kconfig
> +++ b/drivers/platform/x86/Kconfig
> @@ -1019,7 +1019,7 @@ config INTEL_PMC_IPC
>  config INTEL_BXTWC_PMIC_TMU
>  	tristate "Intel BXT Whiskey Cove TMU Driver"
>  	depends on REGMAP
> -	depends on INTEL_SOC_PMIC && INTEL_PMC_IPC
> +	depends on INTEL_SOC_PMIC_BXTWC && INTEL_PMC_IPC
>  	---help---
>  	  Select this driver to use Intel BXT Whiskey Cove PMIC TMU feature.
>  	  This driver enables the alarm wakeup functionality in the TMU unit
> diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
> index 776b34396144..751e50a3d946 100644
> --- a/drivers/thermal/Kconfig
> +++ b/drivers/thermal/Kconfig
> @@ -365,7 +365,7 @@ endmenu
>  
>  config INTEL_BXT_PMIC_THERMAL
>  	tristate "Intel Broxton PMIC thermal driver"
> -	depends on X86 && INTEL_SOC_PMIC && REGMAP
> +	depends on X86 && INTEL_SOC_PMIC_BXTWC && REGMAP
>  	help
>  	  Select this driver for Intel Broxton PMIC with ADC channels monitoring
>  	  system temperature measurements and alerts.
Andy Shevchenko April 3, 2017, 2:43 p.m. | #13
On Mon, 2017-04-03 at 15:33 +0100, Lee Jones wrote:
> On Mon, 03 Apr 2017, Andy Shevchenko wrote:
> 
> > On Mon, Apr 3, 2017 at 2:06 PM, Fengguang Wu <lkp@intel.com> wrote:
> > > On Mon, Apr 03, 2017 at 12:26:54PM +0300, Andy Shevchenko wrote:
> > > > On Mon, Apr 3, 2017 at 12:20 PM, Lee Jones <lee.jones@linaro.org
> > > > > wrote:
> > > > > On Sun, 02 Apr 2017, Andy Shevchenko wrote:
> > > > > > On Sun, Apr 2, 2017 at 11:03 PM, kbuild test robot <lkp@inte
> > > > > > l.com>
> > > > > > wrote:

> > > > Yes, I understand how to fix this, though it's not a problem of
> > > > this
> > > > patch per se.
> > > > 
> > > > Fengguang, is there any possible way to determine the relation
> > > > between
> > > > an error and a root cause change?
> > > 
> > > 
> > > Andy, our 0day build error reports are all bisected ones. It means
> > > the
> > > error happens since the reported patch/commit, which is either
> > > responsible for the root cause, or somehow triggers (or changes
> > > the
> > > exact form of) an old bug.
> > 
> > Thanks, like you said in this case it looks pretty much for
> > triggering
> > an old bug.
> 
> Quite.  But as a good open source citizen, you'll follow up with
> patches too, right? :)

It looks like I have to submit fix for older bug first. Likely I can do
this without delays and give you a green light to apply via your tree.
Unfortunately I will continue on this tomorrow.
Lee Jones April 4, 2017, 8:41 a.m. | #14
On Mon, 03 Apr 2017, Andy Shevchenko wrote:

> On Mon, 2017-04-03 at 15:33 +0100, Lee Jones wrote:
> > On Mon, 03 Apr 2017, Andy Shevchenko wrote:
> > 
> > > On Mon, Apr 3, 2017 at 2:06 PM, Fengguang Wu <lkp@intel.com> wrote:
> > > > On Mon, Apr 03, 2017 at 12:26:54PM +0300, Andy Shevchenko wrote:
> > > > > On Mon, Apr 3, 2017 at 12:20 PM, Lee Jones <lee.jones@linaro.org
> > > > > > wrote:
> > > > > > On Sun, 02 Apr 2017, Andy Shevchenko wrote:
> > > > > > > On Sun, Apr 2, 2017 at 11:03 PM, kbuild test robot <lkp@inte
> > > > > > > l.com>
> > > > > > > wrote:
> 
> > > > > Yes, I understand how to fix this, though it's not a problem of
> > > > > this
> > > > > patch per se.
> > > > > 
> > > > > Fengguang, is there any possible way to determine the relation
> > > > > between
> > > > > an error and a root cause change?
> > > > 
> > > > 
> > > > Andy, our 0day build error reports are all bisected ones. It means
> > > > the
> > > > error happens since the reported patch/commit, which is either
> > > > responsible for the root cause, or somehow triggers (or changes
> > > > the
> > > > exact form of) an old bug.
> > > 
> > > Thanks, like you said in this case it looks pretty much for
> > > triggering
> > > an old bug.
> > 
> > Quite.  But as a good open source citizen, you'll follow up with
> > patches too, right? :)
> 
> It looks like I have to submit fix for older bug first. Likely I can do
> this without delays and give you a green light to apply via your tree.
> Unfortunately I will continue on this tomorrow.

Turns out that this is not an older bug.

You need to fix your patch.  I believe you lose the depend on
INTEL_PMC_IPC, which ensures it's only built on x86 systems.

NB: I discovered this after a 20 second scan, so it might not be the
correct fix.  Please investigate.
Andy Shevchenko April 4, 2017, 12:13 p.m. | #15
On Tue, 2017-04-04 at 09:41 +0100, Lee Jones wrote:
> On Mon, 03 Apr 2017, Andy Shevchenko wrote:
> 
> > On Mon, 2017-04-03 at 15:33 +0100, Lee Jones wrote:
> > > On Mon, 03 Apr 2017, Andy Shevchenko wrote:
> > > 
> > > > On Mon, Apr 3, 2017 at 2:06 PM, Fengguang Wu <lkp@intel.com>
> > > > wrote:
> > > > > On Mon, Apr 03, 2017 at 12:26:54PM +0300, Andy Shevchenko
> > > > > wrote:
> > > > > > On Mon, Apr 3, 2017 at 12:20 PM, Lee Jones <lee.jones@linaro
> > > > > > .org
> > > > > > > wrote:
> > > > > > > On Sun, 02 Apr 2017, Andy Shevchenko wrote:
> > > > > > > > On Sun, Apr 2, 2017 at 11:03 PM, kbuild test robot <lkp@
> > > > > > > > inte
> > > > > > > > l.com>
> > > > > > > > wrote:

> > > > > > It looks like I have to submit fix for older bug first.
> > > > > > Likely I can do
> > this without delays and give you a green light to apply via your
> > tree.
> > Unfortunately I will continue on this tomorrow.
> 
> Turns out that this is not an older bug.
> 
> You need to fix your patch.  I believe you lose the depend on
> INTEL_PMC_IPC, which ensures it's only built on x86 systems.
> 
> NB: I discovered this after a 20 second scan, so it might not be the
> correct fix.  Please investigate.

Oh my gosh, I was looking to older version of the patch which does a
select and thus I was quite sure that that triggers an old bug.

Thank you everyone who raised concern.

P.S. Certainly need a vacation...

Patch

diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
index 83e5f7e1a20d..03708e08fcb4 100644
--- a/drivers/acpi/Kconfig
+++ b/drivers/acpi/Kconfig
@@ -512,7 +512,7 @@  config XPOWER_PMIC_OPREGION
 
 config BXT_WC_PMIC_OPREGION
 	bool "ACPI operation region support for BXT WhiskeyCove PMIC"
-	depends on INTEL_SOC_PMIC
+	depends on INTEL_SOC_PMIC_BXTWC
 	help
 	  This config adds ACPI operation region support for BXT WhiskeyCove PMIC.
 
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
index 05043071fc98..9b1bcb4d0df7 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -1054,7 +1054,7 @@  config GPIO_UCB1400
 
 config GPIO_WHISKEY_COVE
 	tristate "GPIO support for Whiskey Cove PMIC"
-	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC
+	depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC
 	select GPIOLIB_IRQCHIP
 	help
 	  Support for GPIO pins on Whiskey Cove PMIC.
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 55ecdfb74d31..e43afb8956ea 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -425,18 +425,28 @@  config LPC_SCH
 	  System Management Bus and General Purpose I/O.
 
 config INTEL_SOC_PMIC
-	bool "Support for Intel Atom SoC PMIC"
+	bool "Support for Crystal Cove PMIC"
 	depends on GPIOLIB
 	depends on I2C=y
 	select MFD_CORE
 	select REGMAP_I2C
 	select REGMAP_IRQ
 	help
-	  Select this option to enable support for the PMIC device
+	  Select this option to enable support for Crystal Cove PMIC
 	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
 	  thermal, charger and related power management functions
 	  on these systems.
 
+config INTEL_SOC_PMIC_BXTWC
+	tristate "Support for Intel Broxton Whiskey Cove PMIC"
+	select MFD_CORE
+	select REGMAP_IRQ
+	help
+	  Select this option to enable support for Whiskey Cove PMIC
+	  on Intel Broxton systems. The PMIC provides ADC, GPIO,
+	  thermal, charger and related power management functions
+	  on these systems.
+
 config MFD_INTEL_LPSS
 	tristate
 	select COMMON_CLK
diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
index 31ce07611a6f..201aeaf5112a 100644
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
@@ -207,8 +207,8 @@  obj-$(CONFIG_MFD_RT5033)	+= rt5033.o
 obj-$(CONFIG_MFD_SKY81452)	+= sky81452.o
 
 intel-soc-pmic-objs		:= intel_soc_pmic_core.o intel_soc_pmic_crc.o
-intel-soc-pmic-$(CONFIG_INTEL_PMC_IPC)	+= intel_soc_pmic_bxtwc.o
 obj-$(CONFIG_INTEL_SOC_PMIC)	+= intel-soc-pmic.o
+obj-$(CONFIG_INTEL_SOC_PMIC_BXTWC)	+= intel_soc_pmic_bxtwc.o
 obj-$(CONFIG_MFD_MT6397)	+= mt6397-core.o
 
 obj-$(CONFIG_MFD_ALTERA_A10SR)	+= altera-a10sr.o
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index e1bffc9bb194..883fbe7a2466 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -1019,7 +1019,7 @@  config INTEL_PMC_IPC
 config INTEL_BXTWC_PMIC_TMU
 	tristate "Intel BXT Whiskey Cove TMU Driver"
 	depends on REGMAP
-	depends on INTEL_SOC_PMIC && INTEL_PMC_IPC
+	depends on INTEL_SOC_PMIC_BXTWC && INTEL_PMC_IPC
 	---help---
 	  Select this driver to use Intel BXT Whiskey Cove PMIC TMU feature.
 	  This driver enables the alarm wakeup functionality in the TMU unit
diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
index 776b34396144..751e50a3d946 100644
--- a/drivers/thermal/Kconfig
+++ b/drivers/thermal/Kconfig
@@ -365,7 +365,7 @@  endmenu
 
 config INTEL_BXT_PMIC_THERMAL
 	tristate "Intel Broxton PMIC thermal driver"
-	depends on X86 && INTEL_SOC_PMIC && REGMAP
+	depends on X86 && INTEL_SOC_PMIC_BXTWC && REGMAP
 	help
 	  Select this driver for Intel Broxton PMIC with ADC channels monitoring
 	  system temperature measurements and alerts.