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;