Re: warning: PINCTRL_BAYTRAIL etc. selects IRQ_DOMAIN which has unmet direct dependencies (HAVE_GENERIC_HARDIRQS)

From: Grant Likely
Date: Tue Jun 25 2013 - 08:06:59 EST


On Mon, 24 Jun 2013 15:41:46 +0100, Grant Likely <grant.likely@xxxxxxxxxxxx> wrote:
> On Mon, Jun 24, 2013 at 3:28 PM, Grant Likely <grant.likely@xxxxxxxxxxxx> wrote:
> > On Mon, 24 Jun 2013 13:44:34 +0200, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote:
> >> On Fri, Jun 21, 2013 at 3:46 AM, Fengguang Wu <fengguang.wu@xxxxxxxxx> 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 <rientjes@xxxxxxxxxx>
> 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 <rientjes@xxxxxxxxxx>
> Acked-by: Simon Glass <sjg@xxxxxxxxxxxx>
> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
>
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/