kernel: bump 4.14 to 4.14.155
authorKoen Vandeputte <koen.vandeputte@ncentric.com>
Thu, 21 Nov 2019 13:03:58 +0000 (14:03 +0100)
committerKoen Vandeputte <koen.vandeputte@ncentric.com>
Fri, 22 Nov 2019 15:56:46 +0000 (16:56 +0100)
Refreshed all patches.

Altered patches:
- 707-dpaa-ethernet-support-layerscape.patch

Remove upstreamed:
- 034-v4.20-MIPS-BCM47XX-Enable-USB-power-on-Netgear-WNDR3400v3.patch
- 001-4.21-01-BCM63XX-fix-switch-core-reset-on-BCM6368.patch
- 073-qcom-ipq4019-fix-cpu0-s-qcom-saw2-reg-value.patch

Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
23 files changed:
include/kernel-version.mk
target/linux/brcm47xx/patches-4.14/034-v4.20-MIPS-BCM47XX-Enable-USB-power-on-Netgear-WNDR3400v3.patch [deleted file]
target/linux/brcm63xx/patches-4.14/001-4.15-10-bcm63xx_enet-do-not-rely-on-probe-order.patch
target/linux/brcm63xx/patches-4.14/001-4.15-11-bcm63xx_enet-use-managed-functions-for-clock-ioremap.patch
target/linux/brcm63xx/patches-4.14/001-4.15-12-bcm63xx_enet-drop-unneeded-NULL-phy_clk-check.patch
target/linux/brcm63xx/patches-4.14/001-4.16-01-bcm63xx_enet-just-use-enet-as-the-clock-name.patch
target/linux/brcm63xx/patches-4.14/001-4.16-02-bcm63xx_enet-use-platform-data-for-dma-channel-numbe.patch
target/linux/brcm63xx/patches-4.14/001-4.16-03-bcm63xx_enet-remove-pointless-mac_id-check.patch
target/linux/brcm63xx/patches-4.14/001-4.16-04-bcm63xx_enet-use-platform-device-id-directly-for-mii.patch
target/linux/brcm63xx/patches-4.14/001-4.21-01-BCM63XX-fix-switch-core-reset-on-BCM6368.patch [deleted file]
target/linux/brcm63xx/patches-4.14/402_bcm63xx_enet_vlan_incoming_fixed.patch
target/linux/brcm63xx/patches-4.14/404-NET-bcm63xx_enet-move-phy_-dis-connect-into-probe-re.patch
target/linux/brcm63xx/patches-4.14/408-bcm63xx_enet-enable-rgmii-clock-on-external-ports.patch
target/linux/brcm63xx/patches-4.14/423-bcm63xx_enet_add_b53_support.patch
target/linux/brcm63xx/patches-4.14/424-bcm63xx_enet_no_request_mem_region.patch
target/linux/brcm63xx/patches-4.14/804-bcm63xx_enet_63268_rgmii_ports.patch
target/linux/ipq40xx/patches-4.14/073-qcom-ipq4019-fix-cpu0-s-qcom-saw2-reg-value.patch [deleted file]
target/linux/ipq806x/patches-4.14/0048-PM-OPP-HACK-Allow-to-set-regulator-without-opp_list.patch
target/linux/ipq806x/patches-4.14/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch
target/linux/ipq806x/patches-4.14/0051-PM-OPP-Add-a-helper-to-get-an-opp-regulator-for-devi.patch
target/linux/ipq806x/patches-4.14/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch
target/linux/layerscape/patches-4.14/707-dpaa-ethernet-support-layerscape.patch
target/linux/mediatek/patches-4.14/0127-usb-xhci-mtk-use-ports-count-from-xhci-in-xhci_mtk_s.patch

index 87a39a8..0050a35 100644 (file)
@@ -7,11 +7,11 @@ ifdef CONFIG_TESTING_KERNEL
 endif
 
 LINUX_VERSION-4.9 = .202
-LINUX_VERSION-4.14 = .154
+LINUX_VERSION-4.14 = .155
 LINUX_VERSION-4.19 = .84
 
 LINUX_KERNEL_HASH-4.9.202 = 8108ec1cd10fc40821c84e9f087dba10b1767aad66596f4a36925faef55e4ebf
-LINUX_KERNEL_HASH-4.14.154 = 86de4a24379a78d67fc08b2e249ccf7b689eb6c37fbe329fc3dfbe8ab4300603
+LINUX_KERNEL_HASH-4.14.155 = 77d61979556b81c95b81452fa10e1fe9368cbe2f9f80a13e4669b0464722e481
 LINUX_KERNEL_HASH-4.19.84 = 868b4a92619cb00ab142a20a67f000525b9605820d1b66faa4a183133eac0660
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
diff --git a/target/linux/brcm47xx/patches-4.14/034-v4.20-MIPS-BCM47XX-Enable-USB-power-on-Netgear-WNDR3400v3.patch b/target/linux/brcm47xx/patches-4.14/034-v4.20-MIPS-BCM47XX-Enable-USB-power-on-Netgear-WNDR3400v3.patch
deleted file mode 100644 (file)
index c824e28..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-From feef7918667b84f9d5653c501542dd8d84ae32af Mon Sep 17 00:00:00 2001
-From: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
-Date: Sun, 19 Aug 2018 22:20:23 +0300
-Subject: [PATCH] MIPS: BCM47XX: Enable USB power on Netgear WNDR3400v3
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Setting GPIO 21 high seems to be required to enable power to USB ports
-on the WNDR3400v3. As there is already similar code for WNR3500L,
-make the existing USB power GPIO code generic and use that.
-
-Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
-Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
-Signed-off-by: Paul Burton <paul.burton@mips.com>
-Patchwork: https://patchwork.linux-mips.org/patch/20259/
-Cc: Rafał Miłecki <zajec5@gmail.com>
-Cc: linux-mips@linux-mips.org
-Cc: linux-kernel@vger.kernel.org
----
- arch/mips/bcm47xx/workarounds.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
---- a/arch/mips/bcm47xx/workarounds.c
-+++ b/arch/mips/bcm47xx/workarounds.c
-@@ -5,9 +5,8 @@
- #include <bcm47xx_board.h>
- #include <bcm47xx.h>
--static void __init bcm47xx_workarounds_netgear_wnr3500l(void)
-+static void __init bcm47xx_workarounds_enable_usb_power(int usb_power)
- {
--      const int usb_power = 12;
-       int err;
-       err = gpio_request_one(usb_power, GPIOF_OUT_INIT_HIGH, "usb_power");
-@@ -23,7 +22,10 @@ void __init bcm47xx_workarounds(void)
-       switch (board) {
-       case BCM47XX_BOARD_NETGEAR_WNR3500L:
--              bcm47xx_workarounds_netgear_wnr3500l();
-+              bcm47xx_workarounds_enable_usb_power(12);
-+              break;
-+      case BCM47XX_BOARD_NETGEAR_WNDR3400_V3:
-+              bcm47xx_workarounds_enable_usb_power(21);
-               break;
-       default:
-               /* No workaround(s) needed */
index fd3ced4..b339580 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
 
 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
 +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -1722,10 +1722,8 @@ static int bcm_enet_probe(struct platfor
+@@ -1723,10 +1723,8 @@ static int bcm_enet_probe(struct platfor
        const char *clk_name;
        int i, ret;
  
@@ -26,7 +26,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
  
        res_irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
        res_irq_rx = platform_get_resource(pdev, IORESOURCE_IRQ, 1);
-@@ -2700,11 +2698,8 @@ static int bcm_enetsw_probe(struct platf
+@@ -2701,11 +2699,8 @@ static int bcm_enetsw_probe(struct platf
        struct resource *res_mem;
        int ret, irq_rx, irq_tx;
  
index f007750..cf0971c 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
 
 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
 +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -1767,14 +1767,14 @@ static int bcm_enet_probe(struct platfor
+@@ -1768,14 +1768,14 @@ static int bcm_enet_probe(struct platfor
                clk_name = "enet1";
        }
  
@@ -30,7 +30,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
  
        /* initialize default and fetch platform data */
        priv->rx_ring_size = BCMENET_DEF_RX_DESC;
-@@ -1802,7 +1802,7 @@ static int bcm_enet_probe(struct platfor
+@@ -1803,7 +1803,7 @@ static int bcm_enet_probe(struct platfor
  
        if (priv->mac_id == 0 && priv->has_phy && !priv->use_external_mii) {
                /* using internal PHY, enable clock */
@@ -39,7 +39,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
                if (IS_ERR(priv->phy_clk)) {
                        ret = PTR_ERR(priv->phy_clk);
                        priv->phy_clk = NULL;
-@@ -1810,7 +1810,7 @@ static int bcm_enet_probe(struct platfor
+@@ -1811,7 +1811,7 @@ static int bcm_enet_probe(struct platfor
                }
                ret = clk_prepare_enable(priv->phy_clk);
                if (ret)
@@ -48,7 +48,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
        }
  
        /* do minimal hardware init to be able to probe mii bus */
-@@ -1907,14 +1907,8 @@ out_uninit_hw:
+@@ -1908,14 +1908,8 @@ out_uninit_hw:
        if (priv->phy_clk)
                clk_disable_unprepare(priv->phy_clk);
  
@@ -63,7 +63,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
  out:
        free_netdev(dev);
        return ret;
-@@ -1950,12 +1944,10 @@ static int bcm_enet_remove(struct platfo
+@@ -1951,12 +1945,10 @@ static int bcm_enet_remove(struct platfo
        }
  
        /* disable hw block clocks */
@@ -78,7 +78,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
  
        free_netdev(dev);
        return 0;
-@@ -2738,26 +2730,20 @@ static int bcm_enetsw_probe(struct platf
+@@ -2739,26 +2731,20 @@ static int bcm_enetsw_probe(struct platf
        if (ret)
                goto out;
  
@@ -111,7 +111,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
  
        priv->rx_chan = 0;
        priv->tx_chan = 1;
-@@ -2789,15 +2775,6 @@ static int bcm_enetsw_probe(struct platf
+@@ -2790,15 +2776,6 @@ static int bcm_enetsw_probe(struct platf
  
  out_disable_clk:
        clk_disable_unprepare(priv->mac_clk);
@@ -127,7 +127,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
  out:
        free_netdev(dev);
        return ret;
-@@ -2809,20 +2786,13 @@ static int bcm_enetsw_remove(struct plat
+@@ -2810,20 +2787,13 @@ static int bcm_enetsw_remove(struct plat
  {
        struct bcm_enet_priv *priv;
        struct net_device *dev;
index d278438..34fdd5c 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
 
 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
 +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -1904,8 +1904,7 @@ out_free_mdio:
+@@ -1905,8 +1905,7 @@ out_free_mdio:
  out_uninit_hw:
        /* turn off mdc clock */
        enet_writel(priv, 0, ENET_MIISC_REG);
@@ -23,7 +23,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
  
  out_disable_clk_mac:
        clk_disable_unprepare(priv->mac_clk);
-@@ -1944,9 +1943,7 @@ static int bcm_enet_remove(struct platfo
+@@ -1945,9 +1944,7 @@ static int bcm_enet_remove(struct platfo
        }
  
        /* disable hw block clocks */
index b3405e0..c489001 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
 
 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
 +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -1719,7 +1719,6 @@ static int bcm_enet_probe(struct platfor
+@@ -1720,7 +1720,6 @@ static int bcm_enet_probe(struct platfor
        struct bcm63xx_enet_platform_data *pd;
        struct resource *res_mem, *res_irq, *res_irq_rx, *res_irq_tx;
        struct mii_bus *bus;
@@ -21,7 +21,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
        int i, ret;
  
        if (!bcm_enet_shared_base[0])
-@@ -1760,14 +1759,12 @@ static int bcm_enet_probe(struct platfor
+@@ -1761,14 +1760,12 @@ static int bcm_enet_probe(struct platfor
        if (priv->mac_id == 0) {
                priv->rx_chan = 0;
                priv->tx_chan = 1;
index 3a998e9..f3ddd74 100644 (file)
@@ -45,7 +45,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
  /*
 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
 +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -1755,15 +1755,6 @@ static int bcm_enet_probe(struct platfor
+@@ -1756,15 +1756,6 @@ static int bcm_enet_probe(struct platfor
        priv->irq_tx = res_irq_tx->start;
        priv->mac_id = pdev->id;
  
@@ -61,7 +61,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
        priv->mac_clk = devm_clk_get(&pdev->dev, "enet");
        if (IS_ERR(priv->mac_clk)) {
                ret = PTR_ERR(priv->mac_clk);
-@@ -1795,6 +1786,8 @@ static int bcm_enet_probe(struct platfor
+@@ -1796,6 +1787,8 @@ static int bcm_enet_probe(struct platfor
                priv->dma_chan_width = pd->dma_chan_width;
                priv->dma_has_sram = pd->dma_has_sram;
                priv->dma_desc_shift = pd->dma_desc_shift;
index cead5c2..a656e4f 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
 
 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
 +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -1790,7 +1790,7 @@ static int bcm_enet_probe(struct platfor
+@@ -1791,7 +1791,7 @@ static int bcm_enet_probe(struct platfor
                priv->tx_chan = pd->tx_chan;
        }
  
index 200178b..cab9e5a 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
 
 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
 +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -1753,7 +1753,6 @@ static int bcm_enet_probe(struct platfor
+@@ -1754,7 +1754,6 @@ static int bcm_enet_probe(struct platfor
        dev->irq = priv->irq = res_irq->start;
        priv->irq_rx = res_irq_rx->start;
        priv->irq_tx = res_irq_tx->start;
@@ -23,7 +23,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
  
        priv->mac_clk = devm_clk_get(&pdev->dev, "enet");
        if (IS_ERR(priv->mac_clk)) {
-@@ -1821,7 +1820,7 @@ static int bcm_enet_probe(struct platfor
+@@ -1822,7 +1821,7 @@ static int bcm_enet_probe(struct platfor
                bus->priv = priv;
                bus->read = bcm_enet_mdio_read_phylib;
                bus->write = bcm_enet_mdio_write_phylib;
diff --git a/target/linux/brcm63xx/patches-4.14/001-4.21-01-BCM63XX-fix-switch-core-reset-on-BCM6368.patch b/target/linux/brcm63xx/patches-4.14/001-4.21-01-BCM63XX-fix-switch-core-reset-on-BCM6368.patch
deleted file mode 100644 (file)
index 3914865..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From f1af8bb8e0879a3c2d9679a7274c2774335e9876 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jonas.gorski@gmail.com>
-Date: Wed, 14 Nov 2018 12:06:41 +0100
-Subject: [PATCH] MIPS: BCM63XX: fix switch core reset on BCM6368
-
-The Ethernet Switch core mask was set to 0, causing the switch core to
-be not reset on BCM6368 on boot. Provide the proper mask so the switch
-core gets reset to a known good state.
-
-Fixes: 799faa626c71 ("MIPS: BCM63XX: add core reset helper")
-Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
----
- arch/mips/bcm63xx/reset.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/mips/bcm63xx/reset.c
-+++ b/arch/mips/bcm63xx/reset.c
-@@ -120,7 +120,7 @@
- #define BCM6368_RESET_DSL     0
- #define BCM6368_RESET_SAR     SOFTRESET_6368_SAR_MASK
- #define BCM6368_RESET_EPHY    SOFTRESET_6368_EPHY_MASK
--#define BCM6368_RESET_ENETSW  0
-+#define BCM6368_RESET_ENETSW  SOFTRESET_6368_ENETSW_MASK
- #define BCM6368_RESET_PCM     SOFTRESET_6368_PCM_MASK
- #define BCM6368_RESET_MPI     SOFTRESET_6368_MPI_MASK
- #define BCM6368_RESET_PCIE    0
index 6275306..3604910 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
 +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -1636,7 +1636,7 @@ static int bcm_enet_change_mtu(struct ne
+@@ -1637,7 +1637,7 @@ static int bcm_enet_change_mtu(struct ne
                return -EBUSY;
  
        /* add ethernet header + vlan tag size */
index 13eecaf..c9532e6 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
 
 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
 +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -869,10 +869,8 @@ static int bcm_enet_open(struct net_devi
+@@ -870,10 +870,8 @@ static int bcm_enet_open(struct net_devi
        struct bcm_enet_priv *priv;
        struct sockaddr addr;
        struct device *kdev;
@@ -26,7 +26,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
        void *p;
        u32 val;
  
-@@ -880,40 +878,10 @@ static int bcm_enet_open(struct net_devi
+@@ -881,40 +879,10 @@ static int bcm_enet_open(struct net_devi
        kdev = &priv->pdev->dev;
  
        if (priv->has_phy) {
@@ -68,7 +68,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
        }
  
        /* mask all interrupts and request them */
-@@ -923,7 +891,7 @@ static int bcm_enet_open(struct net_devi
+@@ -924,7 +892,7 @@ static int bcm_enet_open(struct net_devi
  
        ret = request_irq(dev->irq, bcm_enet_isr_mac, 0, dev->name, dev);
        if (ret)
@@ -77,7 +77,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
  
        ret = request_irq(priv->irq_rx, bcm_enet_isr_dma, 0,
                          dev->name, dev);
-@@ -1085,8 +1053,8 @@ static int bcm_enet_open(struct net_devi
+@@ -1086,8 +1054,8 @@ static int bcm_enet_open(struct net_devi
        enet_dmac_writel(priv, priv->dma_chan_int_mask,
                         ENETDMAC_IRMASK, priv->tx_chan);
  
@@ -88,7 +88,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
        else
                bcm_enet_adjust_link(dev);
  
-@@ -1127,10 +1095,6 @@ out_freeirq_rx:
+@@ -1128,10 +1096,6 @@ out_freeirq_rx:
  out_freeirq:
        free_irq(dev->irq, dev);
  
@@ -99,7 +99,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
        return ret;
  }
  
-@@ -1235,10 +1199,6 @@ static int bcm_enet_stop(struct net_devi
+@@ -1236,10 +1200,6 @@ static int bcm_enet_stop(struct net_devi
        free_irq(priv->irq_rx, dev);
        free_irq(dev->irq, dev);
  
@@ -110,7 +110,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
        return 0;
  }
  
-@@ -1804,14 +1764,49 @@ static int bcm_enet_probe(struct platfor
+@@ -1805,14 +1765,49 @@ static int bcm_enet_probe(struct platfor
  
        /* do minimal hardware init to be able to probe mii bus */
        bcm_enet_hw_preinit(priv);
@@ -161,7 +161,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
                }
  
                bus = priv->mii_bus;
-@@ -1835,6 +1830,35 @@ static int bcm_enet_probe(struct platfor
+@@ -1836,6 +1831,35 @@ static int bcm_enet_probe(struct platfor
                        dev_err(&pdev->dev, "unable to register mdio bus\n");
                        goto out_free_mdio;
                }
@@ -197,7 +197,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
        } else {
  
                /* run platform code to initialize PHY device */
-@@ -1842,47 +1866,16 @@ static int bcm_enet_probe(struct platfor
+@@ -1843,47 +1867,16 @@ static int bcm_enet_probe(struct platfor
                    pd->mii_config(dev, 1, bcm_enet_mdio_read_mii,
                                   bcm_enet_mdio_write_mii)) {
                        dev_err(&pdev->dev, "unable to configure mdio bus\n");
@@ -249,7 +249,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
        if (priv->mii_bus)
                mdiobus_unregister(priv->mii_bus);
  
-@@ -1890,6 +1883,9 @@ out_free_mdio:
+@@ -1891,6 +1884,9 @@ out_free_mdio:
        if (priv->mii_bus)
                mdiobus_free(priv->mii_bus);
  
@@ -259,7 +259,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
  out_uninit_hw:
        /* turn off mdc clock */
        enet_writel(priv, 0, ENET_MIISC_REG);
-@@ -1920,6 +1916,7 @@ static int bcm_enet_remove(struct platfo
+@@ -1921,6 +1917,7 @@ static int bcm_enet_remove(struct platfo
        enet_writel(priv, 0, ENET_MIISC_REG);
  
        if (priv->has_phy) {
index 7a1a56a..7bd1e51 100644 (file)
@@ -32,7 +32,7 @@ Subject: [PATCH 54/81] bcm63xx_enet: enable rgmii clock on external ports
  #define ENETSW_MDIOC_EXT_MASK         (1 << 16)
 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
 +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -2191,6 +2191,18 @@ static int bcm_enetsw_open(struct net_de
+@@ -2192,6 +2192,18 @@ static int bcm_enetsw_open(struct net_de
                priv->sw_port_link[i] = 0;
        }
  
index ba2a8f9..58f1b13 100644 (file)
@@ -20,7 +20,7 @@
  
  #include <bcm63xx_dev_enet.h>
  #include "bcm63xx_enet.h"
-@@ -1936,7 +1937,8 @@ static int bcm_enet_remove(struct platfo
+@@ -1937,7 +1938,8 @@ static int bcm_enet_remove(struct platfo
        return 0;
  }
  
@@ -30,7 +30,7 @@
        .probe  = bcm_enet_probe,
        .remove = bcm_enet_remove,
        .driver = {
-@@ -1945,6 +1947,42 @@ struct platform_driver bcm63xx_enet_driv
+@@ -1946,6 +1948,42 @@ struct platform_driver bcm63xx_enet_driv
        },
  };
  
@@ -73,7 +73,7 @@
  /*
   * switch mii access callbacks
   */
-@@ -2203,29 +2241,6 @@ static int bcm_enetsw_open(struct net_de
+@@ -2204,29 +2242,6 @@ static int bcm_enetsw_open(struct net_de
                enetsw_writeb(priv, rgmii_ctrl, ENETSW_RGMII_CTRL_REG(i));
        }
  
        /* initialize flow control buffer allocation */
        enet_dma_writel(priv, ENETDMA_BUFALLOC_FORCE_MASK | 0,
                        ENETDMA_BUFALLOC_REG(priv->rx_chan));
-@@ -2684,6 +2699,9 @@ static int bcm_enetsw_probe(struct platf
+@@ -2685,6 +2700,9 @@ static int bcm_enetsw_probe(struct platf
        struct bcm63xx_enetsw_platform_data *pd;
        struct resource *res_mem;
        int ret, irq_rx, irq_tx;
  
        if (!bcm_enet_shared_base[0])
                return -EPROBE_DEFER;
-@@ -2766,6 +2784,43 @@ static int bcm_enetsw_probe(struct platf
+@@ -2767,6 +2785,43 @@ static int bcm_enetsw_probe(struct platf
        priv->pdev = pdev;
        priv->net_dev = dev;
  
        return 0;
  
  out_disable_clk:
-@@ -2787,6 +2842,9 @@ static int bcm_enetsw_remove(struct plat
+@@ -2788,6 +2843,9 @@ static int bcm_enetsw_remove(struct plat
        priv = netdev_priv(dev);
        unregister_netdev(dev);
  
index 79f6b9a..6235c8c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
 +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -2743,9 +2743,9 @@ static int bcm_enetsw_probe(struct platf
+@@ -2744,9 +2744,9 @@ static int bcm_enetsw_probe(struct platf
        if (ret)
                goto out;
  
index 743b04b..2d990f7 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
 +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
-@@ -2238,6 +2238,10 @@ static int bcm_enetsw_open(struct net_de
+@@ -2239,6 +2239,10 @@ static int bcm_enetsw_open(struct net_de
  
                rgmii_ctrl = enetsw_readb(priv, ENETSW_RGMII_CTRL_REG(i));
                rgmii_ctrl |= ENETSW_RGMII_CTRL_GMII_CLK_EN;
diff --git a/target/linux/ipq40xx/patches-4.14/073-qcom-ipq4019-fix-cpu0-s-qcom-saw2-reg-value.patch b/target/linux/ipq40xx/patches-4.14/073-qcom-ipq4019-fix-cpu0-s-qcom-saw2-reg-value.patch
deleted file mode 100644 (file)
index ac128ab..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-From d60e006ec0e425877aacc61c7ece3da0434a8fce Mon Sep 17 00:00:00 2001
-From: Christian Lamparter <chunkeey@gmail.com>
-Date: Mon, 23 Jul 2018 16:34:54 +0200
-Subject: [PATCH 7/8] qcom: ipq4019: fix cpu0's qcom,saw2 reg value
-
-while compiling an ipq4019 target, dtc will complain:
-regulator@b089000 unit address format error, expected "2089000"
-
-The saw0 regulator reg value seems to be
-copied and pasted from qcom-ipq8064.dtsi.
-
-This patch fixes the reg value to match that of the
-unit address which in turn silences the warning.
-(There is no driver for qcom,saw2 right now.
-So this went unnoticed)
-
-Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
-Signed-off-by: John Crispin <john@phrozen.org>
----
- arch/arm/boot/dts/qcom-ipq4019.dtsi | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
-+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
-@@ -266,7 +266,7 @@
-                 saw0: regulator@b089000 {
-                         compatible = "qcom,saw2";
--                        reg = <0x02089000 0x1000>, <0x0b009000 0x1000>;
-+                      reg = <0x0b089000 0x1000>, <0x0b009000 0x1000>;
-                         regulator;
-                 };
index 7c78d44..cca2fca 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
 
 --- a/drivers/base/power/opp/core.c
 +++ b/drivers/base/power/opp/core.c
-@@ -1280,11 +1280,13 @@ struct opp_table *dev_pm_opp_set_regulat
+@@ -1292,11 +1292,13 @@ struct opp_table *dev_pm_opp_set_regulat
        if (!opp_table)
                return ERR_PTR(-ENOMEM);
  
index ef48e9f..9f7c818 100644 (file)
@@ -27,7 +27,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
 
 --- a/drivers/base/power/opp/core.c
 +++ b/drivers/base/power/opp/core.c
-@@ -1608,6 +1608,83 @@ put_table:
+@@ -1620,6 +1620,83 @@ put_table:
  }
  
  /**
index 22ae309..7819dc0 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
 
 --- a/drivers/base/power/opp/core.c
 +++ b/drivers/base/power/opp/core.c
-@@ -126,6 +126,27 @@ unsigned long dev_pm_opp_get_freq(struct
+@@ -131,6 +131,27 @@ unsigned long dev_pm_opp_get_freq(struct
  }
  EXPORT_SYMBOL_GPL(dev_pm_opp_get_freq);
  
index 7cde22b..3105b4e 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
 
 --- a/drivers/base/power/opp/core.c
 +++ b/drivers/base/power/opp/core.c
-@@ -1652,6 +1652,7 @@ int dev_pm_opp_adjust_voltage(struct dev
+@@ -1664,6 +1664,7 @@ int dev_pm_opp_adjust_voltage(struct dev
        struct opp_table *opp_table;
        struct dev_pm_opp *new_opp, *tmp_opp, *opp = ERR_PTR(-ENODEV);
        int r = 0;
@@ -25,7 +25,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
  
        /* keep the node allocated */
        new_opp = kmalloc(sizeof(*new_opp), GFP_KERNEL);
-@@ -1688,6 +1689,10 @@ int dev_pm_opp_adjust_voltage(struct dev
+@@ -1700,6 +1701,10 @@ int dev_pm_opp_adjust_voltage(struct dev
  
        /* plug in new node */
        new_opp->supplies[0].u_volt = u_volt;
index 18d4e47..e09a39e 100644 (file)
@@ -922,7 +922,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
         *
         * We must do this before dma_map_single(DMA_TO_DEVICE), because we may
         * need to write into the skb.
-@@ -2036,12 +2091,129 @@ static inline int dpaa_xmit(struct dpaa_
+@@ -2036,6 +2091,121 @@ static inline int dpaa_xmit(struct dpaa_
        return 0;
  }
  
@@ -935,15 +935,15 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
 + * the buffers
 + */
 +
-+#define DPAA_A010022_HEADROOM 256
++#define DPAA_A010022_HEADROOM  256
 +#define CROSS_4K_BOUND(start, size) \
-+      (((start) + (size)) > (((start) + 0x1000) & ~0xFFF))
++       (((start) + (size)) > (((start) + 0x1000) & ~0xFFF))
 +
 +static bool dpaa_errata_a010022_has_dma_issue(struct sk_buff *skb,
 +                                            struct dpaa_priv *priv)
 +{
 +      int nr_frags, i = 0;
-+       skb_frag_t *frag;
++      skb_frag_t *frag;
 +
 +      /* Transfers that do not start at 16B aligned addresses will be split;
 +       * Transfers that cross a 4K page boundary will also be split
@@ -1023,7 +1023,6 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
 +              goto err;
 +      }
 +      copy_skb_header(nskb, skb);
-+
 +      /* We move the headroom when we align it so we have to reset the
 +       * network and transport header offsets relative to the new data
 +       * pointer. The checksum offload relies on these offsets.
@@ -1042,9 +1041,10 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
 +}
 +#endif
 +
- static int dpaa_start_xmit(struct sk_buff *skb, struct net_device *net_dev)
+ static netdev_tx_t
+ dpaa_start_xmit(struct sk_buff *skb, struct net_device *net_dev)
  {
-       const int queue_mapping = skb_get_queue_mapping(skb);
+@@ -2043,6 +2213,7 @@ dpaa_start_xmit(struct sk_buff *skb, str
        bool nonlinear = skb_is_nonlinear(skb);
        struct rtnl_link_stats64 *percpu_stats;
        struct dpaa_percpu_priv *percpu_priv;
@@ -1052,7 +1052,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        struct dpaa_priv *priv;
        struct qm_fd fd;
        int offset = 0;
-@@ -2069,24 +2241,47 @@ static int dpaa_start_xmit(struct sk_buf
+@@ -2070,24 +2241,47 @@ dpaa_start_xmit(struct sk_buff *skb, str
        /* MAX_SKB_FRAGS is equal or larger than our dpaa_SGT_MAX_ENTRIES;
         * make sure we don't feed FMan with more fragments than it supports.
         */
@@ -1108,7 +1108,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        if (likely(dpaa_xmit(priv, percpu_stats, queue_mapping, &fd) == 0))
                return NETDEV_TX_OK;
  
-@@ -2218,14 +2413,8 @@ static enum qman_cb_dqrr_result rx_error
+@@ -2219,14 +2413,8 @@ static enum qman_cb_dqrr_result rx_error
        if (dpaa_eth_napi_schedule(percpu_priv, portal))
                return qman_cb_dqrr_stop;
  
@@ -1125,7 +1125,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
  
        return qman_cb_dqrr_consume;
  }
-@@ -2234,6 +2423,7 @@ static enum qman_cb_dqrr_result rx_defau
+@@ -2235,6 +2423,7 @@ static enum qman_cb_dqrr_result rx_defau
                                                struct qman_fq *fq,
                                                const struct qm_dqrr_entry *dq)
  {
@@ -1133,7 +1133,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        struct rtnl_link_stats64 *percpu_stats;
        struct dpaa_percpu_priv *percpu_priv;
        const struct qm_fd *fd = &dq->fd;
-@@ -2247,6 +2437,7 @@ static enum qman_cb_dqrr_result rx_defau
+@@ -2248,6 +2437,7 @@ static enum qman_cb_dqrr_result rx_defau
        struct sk_buff *skb;
        int *count_ptr;
        void *vaddr;
@@ -1141,7 +1141,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
  
        fd_status = be32_to_cpu(fd->status);
        fd_format = qm_fd_get_format(fd);
-@@ -2289,12 +2480,12 @@ static enum qman_cb_dqrr_result rx_defau
+@@ -2290,12 +2480,12 @@ static enum qman_cb_dqrr_result rx_defau
        if (!dpaa_bp)
                return qman_cb_dqrr_consume;
  
@@ -1157,7 +1157,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        /* The only FD types that we may receive are contig and S/G */
        WARN_ON((fd_format != qm_fd_contig) && (fd_format != qm_fd_sg));
  
-@@ -2305,12 +2496,22 @@ static enum qman_cb_dqrr_result rx_defau
+@@ -2306,12 +2496,22 @@ static enum qman_cb_dqrr_result rx_defau
        (*count_ptr)--;
  
        if (likely(fd_format == qm_fd_contig))
@@ -1182,7 +1182,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        skb->protocol = eth_type_trans(skb, net_dev);
  
        if (net_dev->features & NETIF_F_RXHASH && priv->keygen_in_use &&
-@@ -2439,6 +2640,44 @@ static void dpaa_eth_napi_disable(struct
+@@ -2440,6 +2640,44 @@ static void dpaa_eth_napi_disable(struct
        }
  }
  
@@ -1227,7 +1227,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
  static int dpaa_open(struct net_device *net_dev)
  {
        struct mac_device *mac_dev;
-@@ -2449,12 +2688,9 @@ static int dpaa_open(struct net_device *
+@@ -2450,12 +2688,9 @@ static int dpaa_open(struct net_device *
        mac_dev = priv->mac_dev;
        dpaa_eth_napi_enable(priv);
  
@@ -1242,7 +1242,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
  
        for (i = 0; i < ARRAY_SIZE(mac_dev->port); i++) {
                err = fman_port_enable(mac_dev->port[i]);
-@@ -2495,11 +2731,58 @@ static int dpaa_eth_stop(struct net_devi
+@@ -2496,11 +2731,58 @@ static int dpaa_eth_stop(struct net_devi
        return err;
  }
  
@@ -1304,7 +1304,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
  }
  
  static const struct net_device_ops dpaa_ops = {
-@@ -2653,7 +2936,6 @@ static inline u16 dpaa_get_headroom(stru
+@@ -2654,7 +2936,6 @@ static inline u16 dpaa_get_headroom(stru
  static int dpaa_eth_probe(struct platform_device *pdev)
  {
        struct dpaa_bp *dpaa_bps[DPAA_BPS_NUM] = {NULL};
@@ -1312,7 +1312,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        struct net_device *net_dev = NULL;
        struct dpaa_fq *dpaa_fq, *tmp;
        struct dpaa_priv *priv = NULL;
-@@ -2662,7 +2944,51 @@ static int dpaa_eth_probe(struct platfor
+@@ -2663,7 +2944,51 @@ static int dpaa_eth_probe(struct platfor
        int err = 0, i, channel;
        struct device *dev;
  
@@ -1365,7 +1365,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
  
        /* Allocate this early, so we can store relevant information in
         * the private area
-@@ -2670,7 +2996,7 @@ static int dpaa_eth_probe(struct platfor
+@@ -2671,7 +2996,7 @@ static int dpaa_eth_probe(struct platfor
        net_dev = alloc_etherdev_mq(sizeof(*priv), DPAA_ETH_TXQ_NUM);
        if (!net_dev) {
                dev_err(dev, "alloc_etherdev_mq() failed\n");
@@ -1374,7 +1374,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        }
  
        /* Do this here, so we can be verbose early */
-@@ -2682,13 +3008,6 @@ static int dpaa_eth_probe(struct platfor
+@@ -2683,13 +3008,6 @@ static int dpaa_eth_probe(struct platfor
  
        priv->msg_enable = netif_msg_init(debug, DPAA_MSG_DEFAULT);
  
@@ -1388,7 +1388,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        /* If fsl_fm_max_frm is set to a higher value than the all-common 1500,
         * we choose conservatively and let the user explicitly set a higher
         * MTU via ifconfig. Otherwise, the user may end up with different MTUs
-@@ -2704,21 +3023,13 @@ static int dpaa_eth_probe(struct platfor
+@@ -2705,21 +3023,13 @@ static int dpaa_eth_probe(struct platfor
        priv->buf_layout[RX].priv_data_size = DPAA_RX_PRIV_DATA_SIZE; /* Rx */
        priv->buf_layout[TX].priv_data_size = DPAA_TX_PRIV_DATA_SIZE; /* Tx */
  
@@ -1414,7 +1414,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
                /* the raw size of the buffers used for reception */
                dpaa_bps[i]->raw_size = bpool_buffer_raw_size(i, DPAA_BPS_NUM);
                /* avoid runtime computations by keeping the usable size here */
-@@ -2726,11 +3037,8 @@ static int dpaa_eth_probe(struct platfor
+@@ -2727,11 +3037,8 @@ static int dpaa_eth_probe(struct platfor
                dpaa_bps[i]->dev = dev;
  
                err = dpaa_bp_alloc_pool(dpaa_bps[i]);
@@ -1428,7 +1428,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
                priv->dpaa_bps[i] = dpaa_bps[i];
        }
  
-@@ -2741,7 +3049,7 @@ static int dpaa_eth_probe(struct platfor
+@@ -2742,7 +3049,7 @@ static int dpaa_eth_probe(struct platfor
        err = dpaa_alloc_all_fqs(dev, &priv->dpaa_fq_list, &port_fqs);
        if (err < 0) {
                dev_err(dev, "dpaa_alloc_all_fqs() failed\n");
@@ -1437,7 +1437,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        }
  
        priv->mac_dev = mac_dev;
-@@ -2750,12 +3058,12 @@ static int dpaa_eth_probe(struct platfor
+@@ -2751,12 +3058,12 @@ static int dpaa_eth_probe(struct platfor
        if (channel < 0) {
                dev_err(dev, "dpaa_get_channel() failed\n");
                err = channel;
@@ -1452,7 +1452,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
         * and add this pool channel to each's dequeue mask.
         */
        dpaa_eth_add_channel(priv->channel);
-@@ -2770,20 +3078,20 @@ static int dpaa_eth_probe(struct platfor
+@@ -2771,20 +3078,20 @@ static int dpaa_eth_probe(struct platfor
        err = dpaa_eth_cgr_init(priv);
        if (err < 0) {
                dev_err(dev, "Error initializing CGR\n");
@@ -1476,7 +1476,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        }
  
        priv->tx_headroom = dpaa_get_headroom(&priv->buf_layout[TX]);
-@@ -2793,7 +3101,7 @@ static int dpaa_eth_probe(struct platfor
+@@ -2794,7 +3101,7 @@ static int dpaa_eth_probe(struct platfor
        err = dpaa_eth_init_ports(mac_dev, dpaa_bps, DPAA_BPS_NUM, &port_fqs,
                                  &priv->buf_layout[0], dev);
        if (err)
@@ -1485,7 +1485,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
  
        /* Rx traffic distribution based on keygen hashing defaults to on */
        priv->keygen_in_use = true;
-@@ -2802,11 +3110,7 @@ static int dpaa_eth_probe(struct platfor
+@@ -2803,11 +3110,7 @@ static int dpaa_eth_probe(struct platfor
        if (!priv->percpu_priv) {
                dev_err(dev, "devm_alloc_percpu() failed\n");
                err = -ENOMEM;
@@ -1498,7 +1498,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        }
  
        priv->num_tc = 1;
-@@ -2815,11 +3119,11 @@ static int dpaa_eth_probe(struct platfor
+@@ -2816,11 +3119,11 @@ static int dpaa_eth_probe(struct platfor
        /* Initialize NAPI */
        err = dpaa_napi_add(net_dev);
        if (err < 0)
@@ -1512,7 +1512,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
  
        dpaa_eth_sysfs_init(&net_dev->dev);
  
-@@ -2828,32 +3132,21 @@ static int dpaa_eth_probe(struct platfor
+@@ -2829,32 +3132,21 @@ static int dpaa_eth_probe(struct platfor
  
        return 0;
  
@@ -1551,7 +1551,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        return err;
  }
  
-@@ -2890,6 +3183,23 @@ static int dpaa_remove(struct platform_d
+@@ -2891,6 +3183,23 @@ static int dpaa_remove(struct platform_d
        return err;
  }
  
@@ -1575,7 +1575,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
  static const struct platform_device_id dpaa_devtype[] = {
        {
                .name = "dpaa-ethernet",
-@@ -2914,6 +3224,10 @@ static int __init dpaa_load(void)
+@@ -2915,6 +3224,10 @@ static int __init dpaa_load(void)
  
        pr_debug("FSL DPAA Ethernet driver\n");
  
index 15c1b29..f17da70 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/usb/host/xhci-mtk-sch.c
 +++ b/drivers/usb/host/xhci-mtk-sch.c
-@@ -287,12 +287,13 @@ static bool need_bw_sch(struct usb_host_
+@@ -289,12 +289,13 @@ static bool need_bw_sch(struct usb_host_
  
  int xhci_mtk_sch_init(struct xhci_hcd_mtk *mtk)
  {