On Fri, Mar 4, 2016 at 6:42 PM, Matthias Brugger <mbrugger@xxxxxxxx> wrote:
The standby GPIO controller can be used as a interrupt controller.
Select GPIOLIB_IRQCHIP when compiling this driver. Otherwise we get
a compilation error:
drivers/gpio/gpio-xgene-sb.c: In function 'xgene_gpio_sb_probe':
drivers/gpio/gpio-xgene-sb.c:312:10: error: 'struct gpio_chip' has no member named 'irqdomain'
priv->gc.irqdomain = priv->irq_domain;
^
scripts/Makefile.build:295: recipe for target 'drivers/gpio/gpio-xgene-sb.o' failed
make[2]: *** [drivers/gpio/gpio-xgene-sb.o] Error 1
Apart if compiled as module, we get the following modpost errors:
ERROR: "irq_chip_eoi_parent" [drivers/gpio/gpio-xgene-sb.ko] undefined!
ERROR: "irq_chip_unmask_parent" [drivers/gpio/gpio-xgene-sb.ko] undefined!
ERROR: "irq_chip_mask_parent" [drivers/gpio/gpio-xgene-sb.ko] undefined!
ERROR: "irq_domain_create_hierarchy" [drivers/gpio/gpio-xgene-sb.ko] undefined!
ERROR: "gpiochip_get_data" [drivers/gpio/gpio-xgene-sb.ko] undefined!
ERROR: "irq_chip_set_type_parent" [drivers/gpio/gpio-xgene-sb.ko] undefined!
ERROR: "irq_domain_alloc_irqs_parent" [drivers/gpio/gpio-xgene-sb.ko] undefined!
ERROR: "irq_domain_set_hwirq_and_chip" [drivers/gpio/gpio-xgene-sb.ko] undefined!
ERROR: "irq_domain_reset_irq_data" [drivers/gpio/gpio-xgene-sb.ko] undefined!
This patch changes the kconfig so that the gpio controller can only be
build-in and selects GPIOLIB_IRQCHIP.
Fixes: 1013fc41 "gpio: xgene: Enable X-Gene standby GPIO as interrupt controller"
Cc: Quan Nguyen <qnguyen@xxxxxxx>
Signed-off-by: Matthias Brugger <mbrugger@xxxxxxxx>
---
Changes for v2:
- Add modprobe fix, changing tristate to bool
- Add Cc tag
Quan has sent a patch exporting the offending functions, but no reply from
the irqchip maintainers yet.
If they don't react we'll have to merge this and handle the module loading
later.