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

From: Grant Likely
Date: Mon Jun 24 2013 - 10:42:14 EST


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.

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.
--
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/