kernel: remove support for kernel 4.14
[openwrt/openwrt.git] / target / linux / generic / hack-4.14 / 773-bgmac-add-srab-switch.patch
diff --git a/target/linux/generic/hack-4.14/773-bgmac-add-srab-switch.patch b/target/linux/generic/hack-4.14/773-bgmac-add-srab-switch.patch
deleted file mode 100644 (file)
index 33a18a8..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-From 3cb240533ab787899dc7f17aa7d6c5b4810e2e58 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Fri, 7 Jul 2017 17:26:01 +0200
-Subject: bcm53xx: bgmac: use srab switch driver
-
-use the srab switch driver on these SoCs.
-
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- drivers/net/ethernet/broadcom/bgmac-bcma.c |  1 +
- drivers/net/ethernet/broadcom/bgmac.c      | 24 ++++++++++++++++++++++++
- drivers/net/ethernet/broadcom/bgmac.h      |  4 ++++
- 3 files changed, 29 insertions(+)
-
---- a/drivers/net/ethernet/broadcom/bgmac-bcma.c
-+++ b/drivers/net/ethernet/broadcom/bgmac-bcma.c
-@@ -268,6 +268,7 @@ static int bgmac_probe(struct bcma_devic
-               bgmac->feature_flags |= BGMAC_FEAT_CLKCTLST;
-               bgmac->feature_flags |= BGMAC_FEAT_NO_RESET;
-               bgmac->feature_flags |= BGMAC_FEAT_FORCE_SPEED_2500;
-+              bgmac->feature_flags |= BGMAC_FEAT_SRAB;
-               break;
-       default:
-               bgmac->feature_flags |= BGMAC_FEAT_CLKCTLST;
---- a/drivers/net/ethernet/broadcom/bgmac.c
-+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -12,6 +12,7 @@
- #include <linux/bcma/bcma.h>
- #include <linux/etherdevice.h>
- #include <linux/interrupt.h>
-+#include <linux/platform_data/b53.h>
- #include <linux/bcm47xx_nvram.h>
- #include <linux/phy.h>
- #include <linux/phy_fixed.h>
-@@ -1410,6 +1411,17 @@ static const struct ethtool_ops bgmac_et
-       .set_link_ksettings     = phy_ethtool_set_link_ksettings,
- };
-+static struct b53_platform_data bgmac_b53_pdata = {
-+};
-+
-+static struct platform_device bgmac_b53_dev = {
-+      .name           = "b53-srab-switch",
-+      .id             = -1,
-+      .dev            = {
-+              .platform_data = &bgmac_b53_pdata,
-+      },
-+};
-+
- /**************************************************
-  * MII
-  **************************************************/
-@@ -1539,6 +1551,14 @@ int bgmac_enet_probe(struct bgmac *bgmac
-       net_dev->hw_features = net_dev->features;
-       net_dev->vlan_features = net_dev->features;
-+      if ((bgmac->feature_flags & BGMAC_FEAT_SRAB) && !bgmac_b53_pdata.regs) {
-+              bgmac_b53_pdata.regs = ioremap_nocache(0x18007000, 0x1000);
-+
-+              err = platform_device_register(&bgmac_b53_dev);
-+              if (!err)
-+                      bgmac->b53_device = &bgmac_b53_dev;
-+      }
-+
-       err = register_netdev(bgmac->net_dev);
-       if (err) {
-               dev_err(bgmac->dev, "Cannot register net device\n");
-@@ -1561,6 +1581,10 @@ EXPORT_SYMBOL_GPL(bgmac_enet_probe);
- void bgmac_enet_remove(struct bgmac *bgmac)
- {
-+      if (bgmac->b53_device)
-+              platform_device_unregister(&bgmac_b53_dev);
-+      bgmac->b53_device = NULL;
-+
-       unregister_netdev(bgmac->net_dev);
-       phy_disconnect(bgmac->net_dev->phydev);
-       netif_napi_del(&bgmac->napi);
---- a/drivers/net/ethernet/broadcom/bgmac.h
-+++ b/drivers/net/ethernet/broadcom/bgmac.h
-@@ -427,6 +427,7 @@
- #define BGMAC_FEAT_CC4_IF_SW_TYPE_RGMII       BIT(18)
- #define BGMAC_FEAT_CC7_IF_TYPE_RGMII  BIT(19)
- #define BGMAC_FEAT_IDM_MASK           BIT(20)
-+#define BGMAC_FEAT_SRAB                       BIT(21)
- struct bgmac_slot_info {
-       union {
-@@ -532,6 +533,9 @@ struct bgmac {
-       void (*cmn_maskset32)(struct bgmac *bgmac, u16 offset, u32 mask,
-                             u32 set);
-       int (*phy_connect)(struct bgmac *bgmac);
-+
-+      /* platform device for associated switch */
-+      struct platform_device *b53_device;
- };
- struct bgmac *bgmac_alloc(struct device *dev);