1 From 1763b155da022ac0f984463e68cb0cda8ffc1fe8 Mon Sep 17 00:00:00 2001
2 From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
3 Date: Tue, 11 Jun 2024 15:54:26 +0200
4 Subject: net: dsa: lantiq_gswip: Use dev_err_probe where appropriate
6 dev_err_probe() can be used to simplify the existing code. Also it means
7 we get rid of the following warning which is seen whenever the PMAC
8 (Ethernet controller which connects to GSWIP's CPU port) has not been
10 gswip 1e108000.switch: dsa switch register failed: -517
12 Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
13 Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
14 Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
15 Signed-off-by: Martin Schiller <ms@dev.tdt.de>
16 Link: https://lore.kernel.org/r/20240611135434.3180973-5-ms@dev.tdt.de
17 Signed-off-by: Jakub Kicinski <kuba@kernel.org>
19 drivers/net/dsa/lantiq_gswip.c | 53 ++++++++++++++++++++----------------------
20 1 file changed, 25 insertions(+), 28 deletions(-)
22 --- a/drivers/net/dsa/lantiq_gswip.c
23 +++ b/drivers/net/dsa/lantiq_gswip.c
24 @@ -1919,11 +1919,9 @@ static int gswip_gphy_fw_load(struct gsw
27 ret = request_firmware(&fw, gphy_fw->fw_name, dev);
29 - dev_err(dev, "failed to load firmware: %s, error: %i\n",
30 - gphy_fw->fw_name, ret);
34 + return dev_err_probe(dev, ret, "failed to load firmware: %s\n",
37 /* GPHY cores need the firmware code in a persistent and contiguous
38 * memory area with a 16 kB boundary aligned start address.
39 @@ -1936,9 +1934,9 @@ static int gswip_gphy_fw_load(struct gsw
40 dev_addr = ALIGN(dma_addr, XRX200_GPHY_FW_ALIGN);
41 memcpy(fw_addr, fw->data, fw->size);
43 - dev_err(dev, "failed to alloc firmware memory\n");
46 + return dev_err_probe(dev, -ENOMEM,
47 + "failed to alloc firmware memory\n");
51 @@ -1965,8 +1963,8 @@ static int gswip_gphy_fw_probe(struct gs
53 gphy_fw->clk_gate = devm_clk_get(dev, gphyname);
54 if (IS_ERR(gphy_fw->clk_gate)) {
55 - dev_err(dev, "Failed to lookup gate clock\n");
56 - return PTR_ERR(gphy_fw->clk_gate);
57 + return dev_err_probe(dev, PTR_ERR(gphy_fw->clk_gate),
58 + "Failed to lookup gate clock\n");
61 ret = of_property_read_u32(gphy_fw_np, "reg", &gphy_fw->fw_addr_offset);
62 @@ -1986,8 +1984,8 @@ static int gswip_gphy_fw_probe(struct gs
63 gphy_fw->fw_name = priv->gphy_fw_name_cfg->ge_firmware_name;
66 - dev_err(dev, "Unknown GPHY mode %d\n", gphy_mode);
68 + return dev_err_probe(dev, -EINVAL, "Unknown GPHY mode %d\n",
72 gphy_fw->reset = of_reset_control_array_get_exclusive(gphy_fw_np);
73 @@ -2038,8 +2036,9 @@ static int gswip_gphy_fw_list(struct gsw
74 priv->gphy_fw_name_cfg = &xrx200a2x_gphy_data;
77 - dev_err(dev, "unknown GSWIP version: 0x%x\n", version);
79 + return dev_err_probe(dev, -ENOENT,
80 + "unknown GSWIP version: 0x%x\n",
85 @@ -2047,10 +2046,9 @@ static int gswip_gphy_fw_list(struct gsw
86 if (match && match->data)
87 priv->gphy_fw_name_cfg = match->data;
89 - if (!priv->gphy_fw_name_cfg) {
90 - dev_err(dev, "GPHY compatible type not supported\n");
93 + if (!priv->gphy_fw_name_cfg)
94 + return dev_err_probe(dev, -ENOENT,
95 + "GPHY compatible type not supported\n");
97 priv->num_gphy_fw = of_get_available_child_count(gphy_fw_list_np);
98 if (!priv->num_gphy_fw)
99 @@ -2150,8 +2148,8 @@ static int gswip_probe(struct platform_d
103 - dev_err(dev, "unknown GSWIP version: 0x%x\n", version);
105 + return dev_err_probe(dev, -ENOENT,
106 + "unknown GSWIP version: 0x%x\n", version);
109 /* bring up the mdio bus */
110 @@ -2159,10 +2157,9 @@ static int gswip_probe(struct platform_d
112 err = gswip_gphy_fw_list(priv, gphy_fw_np, version);
113 of_node_put(gphy_fw_np);
115 - dev_err(dev, "gphy fw probe failed\n");
119 + return dev_err_probe(dev, err,
120 + "gphy fw probe failed\n");
123 /* bring up the mdio bus */
124 @@ -2170,20 +2167,20 @@ static int gswip_probe(struct platform_d
126 err = gswip_mdio(priv, mdio_np);
128 - dev_err(dev, "mdio probe failed\n");
129 + dev_err_probe(dev, err, "mdio probe failed\n");
134 err = dsa_register_switch(priv->ds);
136 - dev_err(dev, "dsa switch register failed: %i\n", err);
137 + dev_err_probe(dev, err, "dsa switch registration failed\n");
140 if (!dsa_is_cpu_port(priv->ds, priv->hw_info->cpu_port)) {
141 - dev_err(dev, "wrong CPU port defined, HW only supports port: %i\n",
142 - priv->hw_info->cpu_port);
144 + err = dev_err_probe(dev, -EINVAL,
145 + "wrong CPU port defined, HW only supports port: %i\n",
146 + priv->hw_info->cpu_port);