Changeset 44846


Ignore:
Timestamp:
2015-03-16T14:37:38+01:00 (3 years ago)
Author:
jogo
Message:

brcm63xx: use consistent gpio chip labeling for OF/non-OF

Ensure gpio chips are always labeled the same; this allows simplifying
any arch setup gpio lookups.

Signed-off-by: Jonas Gorski <jogo@…>

Location:
trunk/target/linux/brcm63xx
Files:
4 edited
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/brcm63xx/patches-3.14/374-gpio-add-a-simple-GPIO-driver-for-bcm63xx.patch

    r44574 r44846  
    99 drivers/gpio/Kconfig        |    8 +++ 
    1010 drivers/gpio/Makefile       |    1 + 
    11  drivers/gpio/gpio-bcm63xx.c |  117 +++++++++++++++++++++++++++++++++++++++++++ 
    12  3 files changed, 126 insertions(+) 
     11 drivers/gpio/gpio-bcm63xx.c |  122 +++++++++++++++++++++++++++++++++++++++++++ 
     12 3 files changed, 131 insertions(+) 
    1313 create mode 100644 drivers/gpio/gpio-bcm63xx.c 
    1414 
     
    4242--- /dev/null 
    4343+++ b/drivers/gpio/gpio-bcm63xx.c 
    44 @@ -0,0 +1,117 @@ 
     44@@ -0,0 +1,122 @@ 
    4545+/* 
    4646+ * Driver for BCM63XX memory-mapped GPIO controllers, based on 
     
    118118+ 
    119119+       if (dev->of_node) { 
     120+               int id = of_alias_get_id(dev->of_node, "gpio"); 
    120121+               u32 ngpios; 
     122+ 
     123+               if (id >= 0) 
     124+                       bgc->gc.label = devm_kasprintf(dev, GFP_KERNEL, 
     125+                                                      "bcm63xx-gpio.%d", id); 
    121126+ 
    122127+               if (!of_property_read_u32(dev->of_node, "ngpios", &ngpios)) 
  • trunk/target/linux/brcm63xx/patches-3.14/378-MIPS-BCM63XX-do-not-register-gpio-controller-if-pres.patch

    r44845 r44846  
    22From: Jonas Gorski <jogo@openwrt.org> 
    33Date: Sat, 21 Feb 2015 17:26:50 +0100 
    4 Subject: [PATCH 5/6] MIPS: BCM63XX: calculate labels for DT registered 
    5  controllers 
    6  
     4Subject: [PATCH 5/6] MIPS: BCM63XX: do not register gpio-controller if 
     5present in dtb 
    76 
    87Signed-off-by: Jonas Gorski <jogo@openwrt.org> 
    98--- 
    10  arch/mips/bcm63xx/gpio.c |   16 +++++++++++++--- 
    11  1 file changed, 13 insertions(+), 3 deletions(-) 
     9 arch/mips/bcm63xx/gpio.c |   7 +++++-- 
     10 1 file changed, 5 insertions(+), 2 deletions(-) 
    1211 
    1312--- a/arch/mips/bcm63xx/gpio.c 
     
    2221 static char *gpio_chip_labels[] = { 
    2322        "xxxxxxxx.gpio-controller", 
    24 @@ -49,9 +51,17 @@ static void __init bcm63xx_gpio_init_one 
    25         pdata.base = id * 32; 
     23@@ -50,8 +52,9 @@ static void __init bcm63xx_gpio_init_one 
    2624        pdata.ngpio = ngpio; 
    2725  
    28 -       sprintf(gpio_chip_labels[id], "bcm63xx-gpio.%d", id); 
     26        sprintf(gpio_chip_labels[id], "bcm63xx-gpio.%d", id); 
    2927-       platform_device_register_resndata(NULL, "bcm63xx-gpio", id, res, 2, 
    3028-                                         &pdata, sizeof(pdata)); 
    31 +       if (board_of_device_present("gpio0")) { 
    32 +               unsigned long base = res[0].start; 
    33 + 
    34 +               if (base < 0xf0000000U) 
    35 +                       base = CPHYSADDR(base); 
    36 +               sprintf(gpio_chip_labels[id], "%lx.gpio-controller", base); 
    37 +       } else { 
    38 +               sprintf(gpio_chip_labels[id], "bcm63xx-gpio.%d", id); 
     29+       if (!board_of_device_present("gpio0")) 
    3930+               platform_device_register_resndata(NULL, "bcm63xx-gpio", id, res, 
    4031+                                                 2, &pdata, sizeof(pdata)); 
    41 +       } 
    4232 } 
    4333  
  • trunk/target/linux/brcm63xx/patches-3.14/568-board_DGND3700v1_3800B.patch

    r44831 r44846  
    11--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c 
    22+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c 
    3 @@ -2132,6 +2132,48 @@ 
     3@@ -2132,6 +2132,48 @@ static struct board_info __initdata boar 
    44        .has_ehci0 = 1, 
    55 }; 
     
    5050        { .offset = 97, .value = 0xfeb3 }, 
    5151        { .offset = 98, .value = 0x1618 }, 
    52 @@ -2723,6 +2765,7 @@ 
     52@@ -2723,6 +2765,7 @@ static const struct board_info __initcon 
    5353 #ifdef CONFIG_BCM63XX_CPU_6368 
    5454        &board_96368mvwg, 
     
    5858        &board_VR3025u, 
    5959        &board_VR3025un, 
    60 @@ -2813,6 +2856,7 @@ 
     60@@ -2813,6 +2856,7 @@ static struct of_device_id const bcm963x 
    6161        { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, }, 
    6262        { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, }, 
  • trunk/target/linux/brcm63xx/patches-3.18/374-gpio-add-a-simple-GPIO-driver-for-bcm63xx.patch

    r44574 r44846  
    99 drivers/gpio/Kconfig        |    8 +++ 
    1010 drivers/gpio/Makefile       |    1 + 
    11  drivers/gpio/gpio-bcm63xx.c |  117 +++++++++++++++++++++++++++++++++++++++++++ 
    12  3 files changed, 126 insertions(+) 
     11 drivers/gpio/gpio-bcm63xx.c |  122 +++++++++++++++++++++++++++++++++++++++++++ 
     12 3 files changed, 131 insertions(+) 
    1313 create mode 100644 drivers/gpio/gpio-bcm63xx.c 
    1414 
     
    4242--- /dev/null 
    4343+++ b/drivers/gpio/gpio-bcm63xx.c 
    44 @@ -0,0 +1,117 @@ 
     44@@ -0,0 +1,122 @@ 
    4545+/* 
    4646+ * Driver for BCM63XX memory-mapped GPIO controllers, based on 
     
    118118+ 
    119119+       if (dev->of_node) { 
     120+               int id = of_alias_get_id(dev->of_node, "gpio"); 
    120121+               u32 ngpios; 
     122+ 
     123+               if (id >= 0) 
     124+                       bgc->gc.label = devm_kasprintf(dev, GFP_KERNEL, 
     125+                                                      "bcm63xx-gpio.%d", id); 
    121126+ 
    122127+               if (!of_property_read_u32(dev->of_node, "ngpios", &ngpios)) 
  • trunk/target/linux/brcm63xx/patches-3.18/378-MIPS-BCM63XX-do-not-register-gpio-controller-if-pres.patch

    r44845 r44846  
    22From: Jonas Gorski <jogo@openwrt.org> 
    33Date: Sat, 21 Feb 2015 17:26:50 +0100 
    4 Subject: [PATCH 5/6] MIPS: BCM63XX: calculate labels for DT registered 
    5  controllers 
    6  
     4Subject: [PATCH 5/6] MIPS: BCM63XX: do not register gpio-controller if 
     5present in dtb 
    76 
    87Signed-off-by: Jonas Gorski <jogo@openwrt.org> 
    98--- 
    10  arch/mips/bcm63xx/gpio.c |   16 +++++++++++++--- 
    11  1 file changed, 13 insertions(+), 3 deletions(-) 
     9 arch/mips/bcm63xx/gpio.c |   7 +++++-- 
     10 1 file changed, 5 insertions(+), 2 deletions(-) 
    1211 
    1312--- a/arch/mips/bcm63xx/gpio.c 
     
    2221 static char *gpio_chip_labels[] = { 
    2322        "xxxxxxxx.gpio-controller", 
    24 @@ -49,9 +51,17 @@ static void __init bcm63xx_gpio_init_one 
    25         pdata.base = id * 32; 
     23@@ -50,8 +52,9 @@ static void __init bcm63xx_gpio_init_one 
    2624        pdata.ngpio = ngpio; 
    2725  
    28 -       sprintf(gpio_chip_labels[id], "bcm63xx-gpio.%d", id); 
     26        sprintf(gpio_chip_labels[id], "bcm63xx-gpio.%d", id); 
    2927-       platform_device_register_resndata(NULL, "bcm63xx-gpio", id, res, 2, 
    3028-                                         &pdata, sizeof(pdata)); 
    31 +       if (board_of_device_present("gpio0")) { 
    32 +               unsigned long base = res[0].start; 
    33 + 
    34 +               if (base < 0xf0000000U) 
    35 +                       base = CPHYSADDR(base); 
    36 +               sprintf(gpio_chip_labels[id], "%lx.gpio-controller", base); 
    37 +       } else { 
    38 +               sprintf(gpio_chip_labels[id], "bcm63xx-gpio.%d", id); 
     29+       if (!board_of_device_present("gpio0")) 
    3930+               platform_device_register_resndata(NULL, "bcm63xx-gpio", id, res, 
    4031+                                                 2, &pdata, sizeof(pdata)); 
    41 +       } 
    4232 } 
    4333  
  • trunk/target/linux/brcm63xx/patches-3.18/568-board_DGND3700v1_3800B.patch

    r44831 r44846  
    11--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c 
    22+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c 
    3 @@ -2132,6 +2132,48 @@ 
     3@@ -2132,6 +2132,48 @@ static struct board_info __initdata boar 
    44        .has_ehci0 = 1, 
    55 }; 
     
    5050        { .offset = 97, .value = 0xfeb3 }, 
    5151        { .offset = 98, .value = 0x1618 }, 
    52 @@ -2723,6 +2765,7 @@ 
     52@@ -2723,6 +2765,7 @@ static const struct board_info __initcon 
    5353 #ifdef CONFIG_BCM63XX_CPU_6368 
    5454        &board_96368mvwg, 
     
    5858        &board_VR3025u, 
    5959        &board_VR3025un, 
    60 @@ -2813,6 +2856,7 @@ 
     60@@ -2813,6 +2856,7 @@ static struct of_device_id const bcm963x 
    6161        { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, }, 
    6262        { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, }, 
Note: See TracChangeset for help on using the changeset viewer.