mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 17:18:59 +00:00
75cd4ef48d
Replace recently added patches with version accepted upstream. Signed-off-by: Martin Schiller <ms@dev.tdt.de> Link: https://github.com/openwrt/openwrt/pull/15811 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
150 lines
4.9 KiB
Diff
150 lines
4.9 KiB
Diff
From 1763b155da022ac0f984463e68cb0cda8ffc1fe8 Mon Sep 17 00:00:00 2001
|
|
From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
|
Date: Tue, 11 Jun 2024 15:54:26 +0200
|
|
Subject: net: dsa: lantiq_gswip: Use dev_err_probe where appropriate
|
|
|
|
dev_err_probe() can be used to simplify the existing code. Also it means
|
|
we get rid of the following warning which is seen whenever the PMAC
|
|
(Ethernet controller which connects to GSWIP's CPU port) has not been
|
|
probed yet:
|
|
gswip 1e108000.switch: dsa switch register failed: -517
|
|
|
|
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
|
|
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
|
|
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
|
|
Link: https://lore.kernel.org/r/20240611135434.3180973-5-ms@dev.tdt.de
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
---
|
|
drivers/net/dsa/lantiq_gswip.c | 53 ++++++++++++++++++++----------------------
|
|
1 file changed, 25 insertions(+), 28 deletions(-)
|
|
|
|
--- a/drivers/net/dsa/lantiq_gswip.c
|
|
+++ b/drivers/net/dsa/lantiq_gswip.c
|
|
@@ -1919,11 +1919,9 @@ static int gswip_gphy_fw_load(struct gsw
|
|
msleep(200);
|
|
|
|
ret = request_firmware(&fw, gphy_fw->fw_name, dev);
|
|
- if (ret) {
|
|
- dev_err(dev, "failed to load firmware: %s, error: %i\n",
|
|
- gphy_fw->fw_name, ret);
|
|
- return ret;
|
|
- }
|
|
+ if (ret)
|
|
+ return dev_err_probe(dev, ret, "failed to load firmware: %s\n",
|
|
+ gphy_fw->fw_name);
|
|
|
|
/* GPHY cores need the firmware code in a persistent and contiguous
|
|
* memory area with a 16 kB boundary aligned start address.
|
|
@@ -1936,9 +1934,9 @@ static int gswip_gphy_fw_load(struct gsw
|
|
dev_addr = ALIGN(dma_addr, XRX200_GPHY_FW_ALIGN);
|
|
memcpy(fw_addr, fw->data, fw->size);
|
|
} else {
|
|
- dev_err(dev, "failed to alloc firmware memory\n");
|
|
release_firmware(fw);
|
|
- return -ENOMEM;
|
|
+ return dev_err_probe(dev, -ENOMEM,
|
|
+ "failed to alloc firmware memory\n");
|
|
}
|
|
|
|
release_firmware(fw);
|
|
@@ -1965,8 +1963,8 @@ static int gswip_gphy_fw_probe(struct gs
|
|
|
|
gphy_fw->clk_gate = devm_clk_get(dev, gphyname);
|
|
if (IS_ERR(gphy_fw->clk_gate)) {
|
|
- dev_err(dev, "Failed to lookup gate clock\n");
|
|
- return PTR_ERR(gphy_fw->clk_gate);
|
|
+ return dev_err_probe(dev, PTR_ERR(gphy_fw->clk_gate),
|
|
+ "Failed to lookup gate clock\n");
|
|
}
|
|
|
|
ret = of_property_read_u32(gphy_fw_np, "reg", &gphy_fw->fw_addr_offset);
|
|
@@ -1986,8 +1984,8 @@ static int gswip_gphy_fw_probe(struct gs
|
|
gphy_fw->fw_name = priv->gphy_fw_name_cfg->ge_firmware_name;
|
|
break;
|
|
default:
|
|
- dev_err(dev, "Unknown GPHY mode %d\n", gphy_mode);
|
|
- return -EINVAL;
|
|
+ return dev_err_probe(dev, -EINVAL, "Unknown GPHY mode %d\n",
|
|
+ gphy_mode);
|
|
}
|
|
|
|
gphy_fw->reset = of_reset_control_array_get_exclusive(gphy_fw_np);
|
|
@@ -2038,8 +2036,9 @@ static int gswip_gphy_fw_list(struct gsw
|
|
priv->gphy_fw_name_cfg = &xrx200a2x_gphy_data;
|
|
break;
|
|
default:
|
|
- dev_err(dev, "unknown GSWIP version: 0x%x\n", version);
|
|
- return -ENOENT;
|
|
+ return dev_err_probe(dev, -ENOENT,
|
|
+ "unknown GSWIP version: 0x%x\n",
|
|
+ version);
|
|
}
|
|
}
|
|
|
|
@@ -2047,10 +2046,9 @@ static int gswip_gphy_fw_list(struct gsw
|
|
if (match && match->data)
|
|
priv->gphy_fw_name_cfg = match->data;
|
|
|
|
- if (!priv->gphy_fw_name_cfg) {
|
|
- dev_err(dev, "GPHY compatible type not supported\n");
|
|
- return -ENOENT;
|
|
- }
|
|
+ if (!priv->gphy_fw_name_cfg)
|
|
+ return dev_err_probe(dev, -ENOENT,
|
|
+ "GPHY compatible type not supported\n");
|
|
|
|
priv->num_gphy_fw = of_get_available_child_count(gphy_fw_list_np);
|
|
if (!priv->num_gphy_fw)
|
|
@@ -2150,8 +2148,8 @@ static int gswip_probe(struct platform_d
|
|
return -EINVAL;
|
|
break;
|
|
default:
|
|
- dev_err(dev, "unknown GSWIP version: 0x%x\n", version);
|
|
- return -ENOENT;
|
|
+ return dev_err_probe(dev, -ENOENT,
|
|
+ "unknown GSWIP version: 0x%x\n", version);
|
|
}
|
|
|
|
/* bring up the mdio bus */
|
|
@@ -2159,10 +2157,9 @@ static int gswip_probe(struct platform_d
|
|
if (gphy_fw_np) {
|
|
err = gswip_gphy_fw_list(priv, gphy_fw_np, version);
|
|
of_node_put(gphy_fw_np);
|
|
- if (err) {
|
|
- dev_err(dev, "gphy fw probe failed\n");
|
|
- return err;
|
|
- }
|
|
+ if (err)
|
|
+ return dev_err_probe(dev, err,
|
|
+ "gphy fw probe failed\n");
|
|
}
|
|
|
|
/* bring up the mdio bus */
|
|
@@ -2170,20 +2167,20 @@ static int gswip_probe(struct platform_d
|
|
if (mdio_np) {
|
|
err = gswip_mdio(priv, mdio_np);
|
|
if (err) {
|
|
- dev_err(dev, "mdio probe failed\n");
|
|
+ dev_err_probe(dev, err, "mdio probe failed\n");
|
|
goto put_mdio_node;
|
|
}
|
|
}
|
|
|
|
err = dsa_register_switch(priv->ds);
|
|
if (err) {
|
|
- dev_err(dev, "dsa switch register failed: %i\n", err);
|
|
+ dev_err_probe(dev, err, "dsa switch registration failed\n");
|
|
goto mdio_bus;
|
|
}
|
|
if (!dsa_is_cpu_port(priv->ds, priv->hw_info->cpu_port)) {
|
|
- dev_err(dev, "wrong CPU port defined, HW only supports port: %i\n",
|
|
- priv->hw_info->cpu_port);
|
|
- err = -EINVAL;
|
|
+ err = dev_err_probe(dev, -EINVAL,
|
|
+ "wrong CPU port defined, HW only supports port: %i\n",
|
|
+ priv->hw_info->cpu_port);
|
|
goto disable_switch;
|
|
}
|
|
|