brcm63xx: remove kernel 4.9 support
[openwrt/openwrt.git] / target / linux / brcm63xx / patches-4.9 / 377-MIPS-BCM63XX-register-lookup-for-ephy-reset-gpio.patch
diff --git a/target/linux/brcm63xx/patches-4.9/377-MIPS-BCM63XX-register-lookup-for-ephy-reset-gpio.patch b/target/linux/brcm63xx/patches-4.9/377-MIPS-BCM63XX-register-lookup-for-ephy-reset-gpio.patch
deleted file mode 100644 (file)
index 9e2db8c..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-From d13bdf92ec885105cf107183f8464c40e5f3b93b Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jogo@openwrt.org>
-Date: Sat, 21 Feb 2015 17:21:59 +0100
-Subject: [PATCH 4/6] MIPS: BCM63XX: register lookup for ephy-reset gpio
-
-
-Signed-off-by: Jonas Gorski <jogo@openwrt.org>
----
- arch/mips/bcm63xx/boards/board_bcm963xx.c          |    2 +-
- arch/mips/bcm63xx/boards/board_common.c            |    7 +++--
- arch/mips/bcm63xx/gpio.c                           |   32 ++++++++++++++++++++
- arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h  |    2 ++
- .../mips/include/asm/mach-bcm63xx/board_bcm963xx.h |    5 +--
- 5 files changed, 42 insertions(+), 6 deletions(-)
-
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -55,7 +55,7 @@ static struct board_info __initdata boar
-       },
-       .ephy_reset_gpio                = 36,
--      .ephy_reset_gpio_flags          = GPIOF_INIT_HIGH,
-+      .ephy_reset_gpio_flags          = GPIO_ACTIVE_LOW,
- };
- #endif
---- a/arch/mips/bcm63xx/boards/board_common.c
-+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -247,9 +247,10 @@ int __init board_register_devices(void)
-       platform_device_register(&bcm63xx_gpio_leds);
--      if (board.ephy_reset_gpio && board.ephy_reset_gpio_flags)
--              gpio_request_one(board.ephy_reset_gpio,
--                              board.ephy_reset_gpio_flags, "ephy-reset");
-+      if (board.ephy_reset_gpio && board.ephy_reset_gpio_flags) {
-+              bcm63xx_gpio_ephy_reset(board.ephy_reset_gpio,
-+                                      board.ephy_reset_gpio_flags);
-+      }
-       return 0;
- }
---- a/arch/mips/bcm63xx/gpio.c
-+++ b/arch/mips/bcm63xx/gpio.c
-@@ -8,14 +8,22 @@
-  * Copyright (C) Jonas Gorski <jogo@openwrt.org>
-  */
-+#include <asm/addrspace.h>
-+
- #include <linux/kernel.h>
- #include <linux/platform_device.h>
- #include <linux/gpio/driver.h>
-+#include <linux/gpio/machine.h>
- #include <bcm63xx_cpu.h>
- #include <bcm63xx_gpio.h>
- #include <bcm63xx_regs.h>
-+static const char * const gpio_chip_labels[] = {
-+      "bcm63xx-gpio.0",
-+      "bcm63xx-gpio.1",
-+};
-+
- static void __init bcm63xx_gpio_init_one(int id, int dir, int data, int ngpio)
- {
-       struct resource res[2];
-@@ -63,3 +71,25 @@ int __init bcm63xx_gpio_init(void)
-       return 0;
- }
-+
-+static struct gpiod_lookup_table ephy_reset = {
-+      .dev_id = "bcm63xx_enet-0",
-+      .table = {
-+              { /* filled at runtime */ },
-+              { },
-+      },
-+};
-+
-+
-+void bcm63xx_gpio_ephy_reset(int hw_gpio, enum gpio_lookup_flags flags)
-+{
-+      if (ephy_reset.table[0].chip_label)
-+              return;
-+
-+      ephy_reset.table[0].chip_label = gpio_chip_labels[hw_gpio / 32];
-+      ephy_reset.table[0].chip_hwnum = hw_gpio % 32;
-+      ephy_reset.table[0].con_id = "reset";
-+      ephy_reset.table[0].flags = flags;
-+
-+      gpiod_add_lookup_table(&ephy_reset);
-+}
---- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h
-+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_gpio.h
-@@ -2,9 +2,11 @@
- #define BCM63XX_GPIO_H
- #include <linux/init.h>
-+#include <linux/gpio/machine.h>
- #include <bcm63xx_cpu.h>
- int __init bcm63xx_gpio_init(void);
-+void bcm63xx_gpio_ephy_reset(int hw_gpio, enum gpio_lookup_flags flags);
- static inline unsigned long bcm63xx_gpio_count(void)
- {
---- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -3,6 +3,7 @@
- #include <linux/types.h>
- #include <linux/gpio.h>
-+#include <linux/gpio/machine.h>
- #include <linux/leds.h>
- #include <bcm63xx_dev_enet.h>
- #include <bcm63xx_dev_usb_usbd.h>
-@@ -49,8 +50,8 @@ struct board_info {
-       /* External PHY reset GPIO */
-       unsigned int ephy_reset_gpio;
--      /* External PHY reset GPIO flags from gpio.h */
--      unsigned long ephy_reset_gpio_flags;
-+      /* External PHY reset GPIO flags from gpio/machine.h */
-+      enum gpio_lookup_flags ephy_reset_gpio_flags;
-       /* fallback sprom config */
-       struct fallback_sprom_data fallback_sprom;