Re: [GIT PULL] gpio fixes for v3.6-rc1

From: Arnd Bergmann
Date: Mon Aug 13 2012 - 10:36:10 EST


On Friday 10 August 2012, Linus Walleij wrote:
> Daniel Mack (1):
> GPIO: gpio-pxa: fix devicetree functions
>

Unfortunately, this one caused a build regression, see the fix below.
I also wonder why pxa_irq_domain_ops isn't static.

Arnd

8<----
GPIO: gpio-pxa: fix building without CONFIG_OF

Patch 7212157267 "GPIO: gpio-pxa: fix devicetree functions" added an
"xlate" function pointer to the irq_domain_ops, but this function
is nor declared or defined anywhere when CONFIG_OF is disabled, causing
the build error:

drivers/gpio/gpio-pxa.c:532:11: error: 'irq_domain_xlate_twocell' undeclared here (not in a function)

Extending the DT-only code section to cover the irq_domain_ops
and the pxa_gpio_dt_ids solves this problem and makes it clearer
which code is actually used without DT.

Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c
index 793767b0..9cac88a 100644
--- a/drivers/gpio/gpio-pxa.c
+++ b/drivers/gpio/gpio-pxa.c
@@ -512,6 +512,7 @@ static int pxa_gpio_nums(void)
return count;
}

+#ifdef CONFIG_OF
static struct of_device_id pxa_gpio_dt_ids[] = {
{ .compatible = "mrvl,pxa-gpio" },
{ .compatible = "mrvl,mmp-gpio", .data = (void *)MMP_GPIO },
@@ -532,7 +533,6 @@ const struct irq_domain_ops pxa_irq_domain_ops = {
.xlate = irq_domain_xlate_twocell,
};

-#ifdef CONFIG_OF
static int __devinit pxa_gpio_probe_dt(struct platform_device *pdev)
{
int ret, nr_banks, nr_gpios, irq_base;
@@ -679,7 +679,7 @@ static struct platform_driver pxa_gpio_driver = {
.probe = pxa_gpio_probe,
.driver = {
.name = "pxa-gpio",
- .of_match_table = pxa_gpio_dt_ids,
+ .of_match_table = of_match_ptr(pxa_gpio_dt_ids),
},
};

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