Revert "bsp: Select CONFIG_BCM7120_L2_IRQ"
This reverts commit bd4a4dcd3bbbf210723ae208df0f709728a7d077.
Patch 2/2 from Broadcom to fix IR input handling for Nexus 15.3 bcmdriver.
Should not be needed for Nexus 16.1 bcmdriver.
Change-Id: I96c8599c96a778ef2982b1822439208895bc8a61
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig
index d1dbabe..8b7579b 100644
--- a/arch/arm/mach-bcm/Kconfig
+++ b/arch/arm/mach-bcm/Kconfig
@@ -149,7 +149,6 @@
select SOC_BRCMSTB
select BRCMSTB
select PCI_DOMAINS if PCI
- select BCM7120_L2_IRQ
help
Say Y if you intend to run the kernel on a Broadcom ARM-based STB
chipset.
@@ -220,6 +219,7 @@
bool "7271 Ax"
select BCM7271
select BRCM_HAS_BSPI_V4
+ select BCM7120_L2_IRQ
endchoice
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 4b95aee..80c7703 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -261,6 +261,7 @@
config ARCH_BRCMSTB
bool "Broadcom Set-Top-Box SoCs"
+ select BCM7120_L2_IRQ
select BRCMSTB_L2_IRQ
select GENERIC_IRQ_CHIP
select BRCMSTB
diff --git a/drivers/gpio/gpio-brcmstb.c b/drivers/gpio/gpio-brcmstb.c
index dd99cf8..c0c8eb9 100644
--- a/drivers/gpio/gpio-brcmstb.c
+++ b/drivers/gpio/gpio-brcmstb.c
@@ -550,8 +550,13 @@
if (of_property_read_bool(np, "interrupt-controller")) {
priv->parent_irq = platform_get_irq(pdev, 0);
if (priv->parent_irq <= 0) {
+#ifdef CONFIG_BCM7120_L2_IRQ
dev_err(dev, "Couldn't get IRQ");
return -ENOENT;
+#else
+ /* TODO: change back when BCM7120_L2_IRQ is default */
+ dev_warn(dev, "Couldn't get IRQ. Enable CONFIG_BCM7120_L2_IRQ if you want GPIO interrupt support\n");
+#endif
}
} else {
priv->parent_irq = -ENOENT;
diff --git a/drivers/soc/brcmstb/nexus/irq.c b/drivers/soc/brcmstb/nexus/irq.c
index b6cebb3..d6e5a69 100644
--- a/drivers/soc/brcmstb/nexus/irq.c
+++ b/drivers/soc/brcmstb/nexus/irq.c
@@ -106,7 +106,17 @@
pr_debug("%s IRQ name: %s Node: %s @%d mapped to: %d\n", __func__,
irq_name, np->full_name, i, hwirq);
- return of_irq_get(np, i);
+ ret = of_irq_get(np, i);
+ if (ret < 0) {
+#ifndef CONFIG_BCM7120_L2_IRQ
+ if (ret == -EPROBE_DEFER)
+ pr_warn("Could't get IRQ. Enable CONFIG_BCM7120_L2_IRQ"
+ " if you want \"%s\" interrupt support\n",
+ irq_name);
+#endif
+ }
+
+ return ret;
}
static const char *nexus_irq0_node_names[] = { "nexus-irq0", "nexus-irq0_aon",