From eea227c60d593c2fe5692365936703bbebdbd1ad Mon Sep 17 00:00:00 2001 From: Jonas Gorski Date: Fri, 27 Feb 2015 17:39:49 +0000 Subject: brcm63xx: probe gpio controllers through DT Add a generic mmio gpio controller based driver and probe it through device tree. Use aliases for base calculation until we converted all users to device tree or named gpios. Convert bcm63xx_enet's ephy-reset gpio to use a named gpio. While at it, remove the duplicate reset gpio defintion for livebox. Signed-off-by: Jonas Gorski SVN-Revision: 44565 --- ...bcm63xx-use-alias-id-for-base-calculation.patch | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 target/linux/brcm63xx/patches-3.14/379-gpio-gpio-bcm63xx-use-alias-id-for-base-calculation.patch (limited to 'target/linux/brcm63xx/patches-3.14/379-gpio-gpio-bcm63xx-use-alias-id-for-base-calculation.patch') diff --git a/target/linux/brcm63xx/patches-3.14/379-gpio-gpio-bcm63xx-use-alias-id-for-base-calculation.patch b/target/linux/brcm63xx/patches-3.14/379-gpio-gpio-bcm63xx-use-alias-id-for-base-calculation.patch new file mode 100644 index 0000000..5be625a --- /dev/null +++ b/target/linux/brcm63xx/patches-3.14/379-gpio-gpio-bcm63xx-use-alias-id-for-base-calculation.patch @@ -0,0 +1,34 @@ +From 6759a62f28bb1995afe6562c0adfbbb6e8540933 Mon Sep 17 00:00:00 2001 +From: Jonas Gorski +Date: Sun, 22 Feb 2015 12:57:58 +0100 +Subject: [PATCH 6/6] gpio: gpio-bcm63xx: use alias id for base calculation + +Signed-off-by: Jonas Gorski +--- + drivers/gpio/gpio-bcm63xx.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/drivers/gpio/gpio-bcm63xx.c ++++ b/drivers/gpio/gpio-bcm63xx.c +@@ -32,6 +32,8 @@ + #include + #include + ++#define BCM63XX_GPIOS_PER_BANK 32 ++ + static int bcm63xx_gpio_probe(struct platform_device *pdev) + { + struct device *dev = &pdev->dev; +@@ -73,8 +75,12 @@ static int bcm63xx_gpio_probe(struct pla + platform_set_drvdata(pdev, bgc); + + if (dev->of_node) { ++ int id = of_alias_get_id(dev->of_node, "gpio"); + u32 ngpios; + ++ if (id >= 0) ++ bgc->gc.base = id * BCM63XX_GPIOS_PER_BANK; ++ + if (!of_property_read_u32(dev->of_node, "ngpios", &ngpios)) + bgc->gc.ngpio = ngpios; + -- cgit v1.1