Re: [PATCH] irq: fix a Kconfig dependency

From: Kamble, Nitin A
Date: Tue Feb 04 2014 - 12:36:12 EST



On 1/31/2014 9:44 AM, Kamble, Nitin A wrote:

On 1/31/2014 2:27 AM, David Rientjes wrote:
On Thu, 30 Jan 2014, nitin.a.kamble@xxxxxxxxx wrote:

From: Nitin A Kamble <nitin.a.kamble@xxxxxxxxx>

The generic_chip.c uses interfaces from irq_domain.c which is controlled by
the IRQ_DOMAIN config option.

Add a select statement in the Kconfig to reflect this requirement.

Without this fix, the generic_chip.c compilation fails like this:

linux/kernel/irq/generic-chip.c:400:11:
error: 'irq_domain_xlate_onetwocell' undeclared here (not in a function)

You're not specifying which config option you have enabled that selects
CONFIG_GENERIC_IRQ_CHIP and does not select CONFIG_IRQ_DOMAIN, but it does
look like there is a dependency here.
It is enabled by GPIO_PCH as seen here:

config GPIO_PCH
tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO"
depends on PCI && X86
select GENERIC_IRQ_CHIP
help
This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff
which is an IOH(Input/Output Hub) for x86 embedded processor.
This driver can access PCH GPIO device.


So, if this dependency is reasonable, it begs the question of why we have
CONFIG_GENERIC_IRQ_CHIP at all and shouldn't just make generic-chip.c
depend on CONFIG_IRQ_DOMAIN.
Looking at the code there are cases where IRQ_DOMAIN functionality is used
without using the GENERIC_IRQ_CHIP. So making generic-chip.c depend
on CONFIG_IRQ_DOMAIN in the makefile will reduce the flexibility of using
these config options separately.

Nitin


Hi David, Thomas,
Is there any more feedback for this fix? Currently kernel is not building for the
affected platform without this fix. and I am happy to help here to get the fix
pulled in sooner. Let me know.

Thanks,
Nitin

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