diff mbox

[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. UTC
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. UTC | #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. UTC | #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. UTC | #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. UTC | #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
kernel test robot April 2, 2017, 8:03 p.m. UTC | #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. UTC | #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. UTC | #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. UTC | #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?
kernel test robot April 3, 2017, 11:06 a.m. UTC | #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. UTC | #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. UTC | #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. UTC | #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. UTC | #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. UTC | #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. UTC | #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...
diff mbox

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.