2013-06-24 14:42:09

by Grant Likely

[permalink] [raw]
Subject: Re: warning: PINCTRL_BAYTRAIL etc. selects IRQ_DOMAIN which has unmet direct dependencies (HAVE_GENERIC_HARDIRQS)

On Mon, Jun 24, 2013 at 3:28 PM, Grant Likely <[email protected]> wrote:
> On Mon, 24 Jun 2013 13:44:34 +0200, Linus Walleij <[email protected]> wrote:
>> On Fri, Jun 21, 2013 at 3:46 AM, Fengguang Wu <[email protected]> wrote:
>>
>> config: make ARCH=s390 allmodconfig
>> (...)
>> > warning: (ARM_GIC && ARM_VIC && ORION_IRQCHIP && RENESAS_INTC_IRQPIN && RENESAS_IRQC && VERSATILE_FPGA_IRQ && REGMAP && PINCTRL_BAYTRAIL && GPIO_LYNXPOINT && GPIO_GRGPIO && GPIO_PCF857X && GPIO_LANGWELL && MFD_CORE && MFD_MAX77686 && MFD_MAX8997 && AB8500_CORE && MFD_LP8788 && MFD_TPS65910 && TWL4030_CORE && MFD_WM831X_I2C && MFD_WM831X_SPI && EXTCON_MAX77693) selects IRQ_DOMAIN which has unmet direct dependencies (HAVE_GENERIC_HARDIRQS)
>>
>> Hm I wonder how you actually fix this...
>>
>> This must be the offending Kconfig fragment:
>>
>> config PINCTRL_BAYTRAIL
>> bool "Intel Baytrail GPIO pin control"
>> depends on GPIOLIB && ACPI && X86
>> select IRQ_DOMAIN
>
> I get that warning on gpio/next which doesn't have the PINCTRL_BAYTRAIL
> defined. I don't think this is caused by that hunk. The problem exists
> in mainline (v3.10-rc7) also.
>
> g.

It bisects down to the following commit, but reverting it doesn't
solve the problem. I haven't looked deeper, but I expect that further
patches have done something similar of pulling in IRQ_DOMAIN, quite
possibly other MFD drivers, but not necessarily.

g.

commit 5a324acfce6f7f05ab2a044f7d0ece5f44e812c6
Author: David Rientjes <[email protected]>
Date: Thu Mar 21 12:08:33 2013 -0700

mfd: cros_ec: Add MFD_CORE dependency

CONFIG_MFD_CROS_EC requires CONFIG_MFD_CORE for a couple of functions that
are declared but not defined:

ERROR: "mfd_remove_devices" [drivers/mfd/cros_ec.ko] undefined!
ERROR: "mfd_add_devices" [drivers/mfd/cros_ec.ko] undefined!

Fix it by selecting CONFIG_MFD_CORE anytime CONFIG_MFD_CROS_EC is enabled.

Signed-off-by: David Rientjes <[email protected]>
Acked-by: Simon Glass <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>

diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
index 94b4547..67e56dc 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -23,6 +23,7 @@ config MFD_88PM860X

config MFD_CROS_EC
tristate "Support ChromeOS Embedded Controller"
+ select MFD_CORE
help
If you say Y here you get support for the ChromeOS Embedded
Controller (EC) providing keyboard, battery and power services.


2013-06-25 12:06:47

by Grant Likely

[permalink] [raw]
Subject: Re: warning: PINCTRL_BAYTRAIL etc. selects IRQ_DOMAIN which has unmet direct dependencies (HAVE_GENERIC_HARDIRQS)

On Mon, 24 Jun 2013 15:41:46 +0100, Grant Likely <[email protected]> wrote:
> On Mon, Jun 24, 2013 at 3:28 PM, Grant Likely <[email protected]> wrote:
> > On Mon, 24 Jun 2013 13:44:34 +0200, Linus Walleij <[email protected]> wrote:
> >> On Fri, Jun 21, 2013 at 3:46 AM, Fengguang Wu <[email protected]> wrote:
> >>
> >> config: make ARCH=s390 allmodconfig
> >> (...)
> >> > warning: (ARM_GIC && ARM_VIC && ORION_IRQCHIP && RENESAS_INTC_IRQPIN && RENESAS_IRQC && VERSATILE_FPGA_IRQ && REGMAP && PINCTRL_BAYTRAIL && GPIO_LYNXPOINT && GPIO_GRGPIO && GPIO_PCF857X && GPIO_LANGWELL && MFD_CORE && MFD_MAX77686 && MFD_MAX8997 && AB8500_CORE && MFD_LP8788 && MFD_TPS65910 && TWL4030_CORE && MFD_WM831X_I2C && MFD_WM831X_SPI && EXTCON_MAX77693) selects IRQ_DOMAIN which has unmet direct dependencies (HAVE_GENERIC_HARDIRQS)
> >>
> >> Hm I wonder how you actually fix this...
> >>
> >> This must be the offending Kconfig fragment:
> >>
> >> config PINCTRL_BAYTRAIL
> >> bool "Intel Baytrail GPIO pin control"
> >> depends on GPIOLIB && ACPI && X86
> >> select IRQ_DOMAIN
> >
> > I get that warning on gpio/next which doesn't have the PINCTRL_BAYTRAIL
> > defined. I don't think this is caused by that hunk. The problem exists
> > in mainline (v3.10-rc7) also.
> >
> > g.
>
> It bisects down to the following commit, but reverting it doesn't
> solve the problem. I haven't looked deeper, but I expect that further
> patches have done something similar of pulling in IRQ_DOMAIN, quite
> possibly other MFD drivers, but not necessarily.
>
> g.

I've tracked it down to the following config args:

CONFIG_REGMAP_IRQ
CONFIG_MFD_CORE

Both unconditionally select IRQ_DOMAIN, which would be fine except that
IRQ_DOMAIN depends on HAVE_GENERIC_HARDIRQS.

s390 is the only architecture that does not enable
CONFIG_HAVE_GENERIC_HARDIRQS... maybe it's time to fix that.

g.

>
> commit 5a324acfce6f7f05ab2a044f7d0ece5f44e812c6
> Author: David Rientjes <[email protected]>
> Date: Thu Mar 21 12:08:33 2013 -0700
>
> mfd: cros_ec: Add MFD_CORE dependency
>
> CONFIG_MFD_CROS_EC requires CONFIG_MFD_CORE for a couple of functions that
> are declared but not defined:
>
> ERROR: "mfd_remove_devices" [drivers/mfd/cros_ec.ko] undefined!
> ERROR: "mfd_add_devices" [drivers/mfd/cros_ec.ko] undefined!
>
> Fix it by selecting CONFIG_MFD_CORE anytime CONFIG_MFD_CROS_EC is enabled.
>
> Signed-off-by: David Rientjes <[email protected]>
> Acked-by: Simon Glass <[email protected]>
> Signed-off-by: Samuel Ortiz <[email protected]>
>
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index 94b4547..67e56dc 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -23,6 +23,7 @@ config MFD_88PM860X
>
> config MFD_CROS_EC
> tristate "Support ChromeOS Embedded Controller"
> + select MFD_CORE
> help
> If you say Y here you get support for the ChromeOS Embedded
> Controller (EC) providing keyboard, battery and power services.

--
email sent from notmuch.vim plugin