aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/701-net-0314-staging-fsl_ppfe-eth-support-single-interface-initia.patch
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2022-03-21 01:16:48 +0000
committerDaniel Golle <daniel@makrotopia.org>2022-03-21 13:11:56 +0000
commit786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186 (patch)
tree926fecb2b1f6ce1e42ba7ef4c7aab8e68dfd214c /target/linux/layerscape/patches-5.4/701-net-0314-staging-fsl_ppfe-eth-support-single-interface-initia.patch
parent9470160c350d15f765c33d6c1db15d6c4709a64c (diff)
downloadupstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.gz
upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.bz2
upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.zip
kernel: delete Linux 5.4 config and patches
As the upcoming release will be based on Linux 5.10 only, remove all kernel configuration as well as patches for Linux 5.4. There were no targets still actively using Linux 5.4. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 3a14580411adfb75f9a44eded9f41245b9e44606)
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0314-staging-fsl_ppfe-eth-support-single-interface-initia.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/701-net-0314-staging-fsl_ppfe-eth-support-single-interface-initia.patch271
1 files changed, 0 insertions, 271 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0314-staging-fsl_ppfe-eth-support-single-interface-initia.patch b/target/linux/layerscape/patches-5.4/701-net-0314-staging-fsl_ppfe-eth-support-single-interface-initia.patch
deleted file mode 100644
index fefe863647..0000000000
--- a/target/linux/layerscape/patches-5.4/701-net-0314-staging-fsl_ppfe-eth-support-single-interface-initia.patch
+++ /dev/null
@@ -1,271 +0,0 @@
-From dff5fdd84a9ace2d9b8b56659c0855542829148a Mon Sep 17 00:00:00 2001
-From: Calvin Johnson <calvin.johnson@nxp.com>
-Date: Fri, 23 Nov 2018 23:58:28 +0530
-Subject: [PATCH] staging: fsl_ppfe/eth: support single interface
- initialization
-
-- arrange members of struct mii_bus in sequence matching phy.h
-- if mdio node is defined, use of_mdiobus_register to register
- child nodes (phy devices) available on the mdio bus.
-- remove of_phy_register_fixed_link from pfe_phy_init as it is being
- handled in pfe_get_gemac_if_properties
-- remove mdio enabled check
-- skip phy init, if no PHY or fixed-link
-
-Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
----
- drivers/staging/fsl_ppfe/pfe_eth.c | 110 +++++++++++++-----------
- drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c | 4 +
- 2 files changed, 66 insertions(+), 48 deletions(-)
-
---- a/drivers/staging/fsl_ppfe/pfe_eth.c
-+++ b/drivers/staging/fsl_ppfe/pfe_eth.c
-@@ -47,6 +47,7 @@
-
- #define LS1012A_REV_1_0 0x87040010
-
-+bool pfe_use_old_dts_phy;
- bool pfe_errata_a010897;
-
- static void *cbus_emac_base[3];
-@@ -950,7 +951,8 @@ static int pfe_eth_mdio_init(struct pfe_
- struct ls1012a_mdio_platform_data *minfo)
- {
- struct mii_bus *bus;
-- int rc, ii;
-+ struct device_node *mdio_node;
-+ int rc = 0, ii;
- struct phy_device *phydev;
-
- netif_info(priv, drv, priv->ndev, "%s\n", __func__);
-@@ -964,25 +966,30 @@ static int pfe_eth_mdio_init(struct pfe_
- }
-
- bus->name = "ls1012a MDIO Bus";
-+ snprintf(bus->id, MII_BUS_ID_SIZE, "ls1012a-%x", priv->id);
-+
-+ bus->priv = priv;
- bus->read = &pfe_eth_mdio_read;
- bus->write = &pfe_eth_mdio_write;
- bus->reset = &pfe_eth_mdio_reset;
-- snprintf(bus->id, MII_BUS_ID_SIZE, "ls1012a-%x", priv->id);
-- bus->priv = priv;
--
-+ bus->parent = priv->pfe->dev;
- bus->phy_mask = minfo->phy_mask;
-- priv->mdc_div = minfo->mdc_div;
-+ bus->irq[0] = minfo->irq[0];
-
-+ priv->mdc_div = minfo->mdc_div;
- if (!priv->mdc_div)
- priv->mdc_div = 64;
--
-- bus->irq[0] = minfo->irq[0];
--
-- bus->parent = priv->pfe->dev;
--
- netif_info(priv, drv, priv->ndev, "%s: mdc_div: %d, phy_mask: %x\n",
- __func__, priv->mdc_div, bus->phy_mask);
-- rc = mdiobus_register(bus);
-+
-+ mdio_node = of_get_child_by_name(priv->pfe->dev->of_node, "mdio");
-+ if (mdio_node) {
-+ rc = of_mdiobus_register(bus, mdio_node);
-+ of_node_put(mdio_node);
-+ } else {
-+ rc = mdiobus_register(bus);
-+ }
-+
- if (rc) {
- netdev_err(priv->ndev, "mdiobus_register(%s) failed\n",
- bus->name);
-@@ -995,7 +1002,6 @@ static int pfe_eth_mdio_init(struct pfe_
- * 3rd argument as true and then register the phy device
- * via phy_device_register()
- */
--
- if (priv->einfo->mii_config == PHY_INTERFACE_MODE_2500SGMII) {
- for (ii = 0; ii < NUM_GEMAC_SUPPORT; ii++) {
- phydev = get_phy_device(priv->mii_bus,
-@@ -1268,8 +1274,6 @@ static int pfe_phy_init(struct net_devic
- char phy_id[MII_BUS_ID_SIZE + 3];
- char bus_id[MII_BUS_ID_SIZE];
- phy_interface_t interface;
-- struct device_node *phy_node;
-- int rc;
-
- priv->oldlink = 0;
- priv->oldspeed = 0;
-@@ -1278,7 +1282,6 @@ static int pfe_phy_init(struct net_devic
- snprintf(bus_id, MII_BUS_ID_SIZE, "ls1012a-%d", 0);
- snprintf(phy_id, MII_BUS_ID_SIZE + 3, PHY_ID_FMT, bus_id,
- priv->einfo->phy_id);
--
- netif_info(priv, drv, ndev, "%s: %s\n", __func__, phy_id);
- interface = priv->einfo->mii_config;
- if ((interface == PHY_INTERFACE_MODE_SGMII) ||
-@@ -1301,23 +1304,22 @@ static int pfe_phy_init(struct net_devic
- priv->oldduplex = -1;
- pr_info("%s interface %x\n", __func__, interface);
-
-- if (of_phy_is_fixed_link(priv->phy_node)) {
-- rc = of_phy_register_fixed_link(priv->phy_node);
-- if (rc)
-- return rc;
-- phy_node = of_node_get(priv->phy_node);
-- phydev = of_phy_connect(ndev, phy_node, pfe_eth_adjust_link, 0,
-+ if (priv->phy_node) {
-+ phydev = of_phy_connect(ndev, priv->phy_node,
-+ pfe_eth_adjust_link, 0,
- priv->einfo->mii_config);
-- of_node_put(phy_node);
-+ if (!(phydev)) {
-+ netdev_err(ndev, "Unable to connect to phy\n");
-+ return -ENODEV;
-+ }
-
- } else {
- phydev = phy_connect(ndev, phy_id,
- &pfe_eth_adjust_link, interface);
-- }
--
-- if (IS_ERR(phydev)) {
-- netdev_err(ndev, "phy_connect() failed\n");
-- return PTR_ERR(phydev);
-+ if (IS_ERR(phydev)) {
-+ netdev_err(ndev, "Unable to connect to phy\n");
-+ return PTR_ERR(phydev);
-+ }
- }
-
- priv->phydev = phydev;
-@@ -2411,13 +2413,10 @@ static int pfe_eth_init_one(struct pfe *
- memcpy(ndev->dev_addr, einfo[id].mac_addr, ETH_ALEN);
-
- /* Initialize mdio */
-- if (minfo[id].enabled) {
-- err = pfe_eth_mdio_init(priv, &minfo[id]);
-- if (err) {
-- netdev_err(ndev, "%s: pfe_eth_mdio_init() failed\n",
-- __func__);
-- goto err2;
-- }
-+ err = pfe_eth_mdio_init(priv, &minfo[id]);
-+ if (err) {
-+ netdev_err(ndev, "%s: pfe_eth_mdio_init() failed\n", __func__);
-+ goto err1;
- }
-
- if (us)
-@@ -2462,22 +2461,26 @@ static int pfe_eth_init_one(struct pfe *
- HIF_RX_POLL_WEIGHT - 16);
-
- err = register_netdev(ndev);
--
- if (err) {
- netdev_err(ndev, "register_netdev() failed\n");
-- goto err3;
-+ goto err2;
-+ }
-+
-+ if ((!(pfe_use_old_dts_phy) && !(priv->phy_node)) ||
-+ ((pfe_use_old_dts_phy) &&
-+ (priv->einfo->phy_flags & GEMAC_NO_PHY))) {
-+ pr_info("%s: No PHY or fixed-link\n", __func__);
-+ goto skip_phy_init;
- }
-
- phy_init:
- device_init_wakeup(&ndev->dev, WAKE_MAGIC);
-
-- if (!(priv->einfo->phy_flags & GEMAC_NO_PHY)) {
-- err = pfe_phy_init(ndev);
-- if (err) {
-- netdev_err(ndev, "%s: pfe_phy_init() failed\n",
-- __func__);
-- goto err4;
-- }
-+ err = pfe_phy_init(ndev);
-+ if (err) {
-+ netdev_err(ndev, "%s: pfe_phy_init() failed\n",
-+ __func__);
-+ goto err3;
- }
-
- if (us) {
-@@ -2488,6 +2491,7 @@ phy_init:
-
- netif_carrier_on(ndev);
-
-+skip_phy_init:
- /* Create all the sysfs files */
- if (pfe_eth_sysfs_init(ndev))
- goto err4;
-@@ -2496,13 +2500,16 @@ phy_init:
- __func__, priv->EMAC_baseaddr);
-
- return 0;
-+
- err4:
-+ pfe_phy_exit(priv->ndev);
-+err3:
- if (us)
-- goto err3;
-+ goto err2;
- unregister_netdev(ndev);
--err3:
-- pfe_eth_mdio_exit(priv->mii_bus);
- err2:
-+ pfe_eth_mdio_exit(priv->mii_bus);
-+err1:
- free_netdev(priv->ndev);
- err0:
- return err;
-@@ -2553,9 +2560,16 @@ static void pfe_eth_exit_one(struct pfe_
- if (!us)
- pfe_eth_sysfs_exit(priv->ndev);
-
-- if (!(priv->einfo->phy_flags & GEMAC_NO_PHY))
-- pfe_phy_exit(priv->ndev);
-+ if ((!(pfe_use_old_dts_phy) && !(priv->phy_node)) ||
-+ ((pfe_use_old_dts_phy) &&
-+ (priv->einfo->phy_flags & GEMAC_NO_PHY))) {
-+ pr_info("%s: No PHY or fixed-link\n", __func__);
-+ goto skip_phy_exit;
-+ }
-+
-+ pfe_phy_exit(priv->ndev);
-
-+skip_phy_exit:
- if (!us)
- unregister_netdev(priv->ndev);
-
---- a/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
-+++ b/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
-@@ -18,6 +18,7 @@
-
- #include "pfe_mod.h"
-
-+extern bool pfe_use_old_dts_phy;
- struct ls1012a_pfe_platform_data pfe_platform_data;
-
- static int pfe_get_gemac_if_properties(struct device_node *parent, int port, int
-@@ -59,8 +60,10 @@ static int pfe_get_gemac_if_properties(s
- phy_node = of_parse_phandle(gem, "phy-handle", 0);
- pdata->ls1012a_eth_pdata[port].phy_node = phy_node;
- if (phy_node) {
-+ pfe_use_old_dts_phy = false;
- goto process_phynode;
- } else if (of_phy_is_fixed_link(gem)) {
-+ pfe_use_old_dts_phy = false;
- if (of_phy_register_fixed_link(gem) < 0) {
- pr_err("broken fixed-link specification\n");
- goto err;
-@@ -68,6 +71,7 @@ static int pfe_get_gemac_if_properties(s
- phy_node = of_node_get(gem);
- pdata->ls1012a_eth_pdata[port].phy_node = phy_node;
- } else if (of_get_property(gem, "fsl,pfe-phy-if-flags", &size)) {
-+ pfe_use_old_dts_phy = true;
- /* Use old dts properties for phy handling */
- addr = of_get_property(gem, "fsl,pfe-phy-if-flags", &size);
- pdata->ls1012a_eth_pdata[port].phy_flags = be32_to_cpup(addr);