1 From 4d3dd68a1c56674ff666d0622b545992fac31754 Mon Sep 17 00:00:00 2001
2 From: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
3 Date: Sun, 31 Jul 2022 22:54:52 +0200
4 Subject: [PATCH 733/768] net: dsa: lantiq_gswip: Use dev_err_probe where
7 dev_err_probe() can be used to simplify the existing code. Also it means
8 we get rid of the following warning which is seen whenever the PMAC
9 (Ethernet controller which connects to GSWIP's CPU port) has not been
11 gswip 1e108000.switch: dsa switch register failed: -517
13 Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
15 drivers/net/dsa/lantiq_gswip.c | 53 ++++++++++++++++------------------
16 1 file changed, 25 insertions(+), 28 deletions(-)
18 --- a/drivers/net/dsa/lantiq_gswip.c
19 +++ b/drivers/net/dsa/lantiq_gswip.c
20 @@ -1939,11 +1939,9 @@ static int gswip_gphy_fw_load(struct gsw
23 ret = request_firmware(&fw, gphy_fw->fw_name, dev);
25 - dev_err(dev, "failed to load firmware: %s, error: %i\n",
26 - gphy_fw->fw_name, ret);
30 + return dev_err_probe(dev, ret, "failed to load firmware: %s\n",
33 /* GPHY cores need the firmware code in a persistent and contiguous
34 * memory area with a 16 kB boundary aligned start address.
35 @@ -1956,9 +1954,9 @@ static int gswip_gphy_fw_load(struct gsw
36 dev_addr = ALIGN(dma_addr, XRX200_GPHY_FW_ALIGN);
37 memcpy(fw_addr, fw->data, fw->size);
39 - dev_err(dev, "failed to alloc firmware memory\n");
42 + return dev_err_probe(dev, -ENOMEM,
43 + "failed to alloc firmware memory\n");
47 @@ -1985,8 +1983,8 @@ static int gswip_gphy_fw_probe(struct gs
49 gphy_fw->clk_gate = devm_clk_get(dev, gphyname);
50 if (IS_ERR(gphy_fw->clk_gate)) {
51 - dev_err(dev, "Failed to lookup gate clock\n");
52 - return PTR_ERR(gphy_fw->clk_gate);
53 + return dev_err_probe(dev, PTR_ERR(gphy_fw->clk_gate),
54 + "Failed to lookup gate clock\n");
57 ret = of_property_read_u32(gphy_fw_np, "reg", &gphy_fw->fw_addr_offset);
58 @@ -2006,8 +2004,8 @@ static int gswip_gphy_fw_probe(struct gs
59 gphy_fw->fw_name = priv->gphy_fw_name_cfg->ge_firmware_name;
62 - dev_err(dev, "Unknown GPHY mode %d\n", gphy_mode);
64 + return dev_err_probe(dev, -EINVAL, "Unknown GPHY mode %d\n",
68 gphy_fw->reset = of_reset_control_array_get_exclusive(gphy_fw_np);
69 @@ -2060,8 +2058,9 @@ static int gswip_gphy_fw_list(struct gsw
70 priv->gphy_fw_name_cfg = &xrx200a2x_gphy_data;
73 - dev_err(dev, "unknown GSWIP version: 0x%x", version);
75 + return dev_err_probe(dev, -ENOENT,
76 + "unknown GSWIP version: 0x%x",
81 @@ -2069,10 +2068,9 @@ static int gswip_gphy_fw_list(struct gsw
82 if (match && match->data)
83 priv->gphy_fw_name_cfg = match->data;
85 - if (!priv->gphy_fw_name_cfg) {
86 - dev_err(dev, "GPHY compatible type not supported");
89 + if (!priv->gphy_fw_name_cfg)
90 + return dev_err_probe(dev, -ENOENT,
91 + "GPHY compatible type not supported");
93 priv->num_gphy_fw = of_get_available_child_count(gphy_fw_list_np);
94 if (!priv->num_gphy_fw)
95 @@ -2171,8 +2169,8 @@ static int gswip_probe(struct platform_d
99 - dev_err(dev, "unknown GSWIP version: 0x%x", version);
101 + return dev_err_probe(dev, -ENOENT,
102 + "unknown GSWIP version: 0x%x", version);
105 /* bring up the mdio bus */
106 @@ -2180,10 +2178,9 @@ static int gswip_probe(struct platform_d
108 err = gswip_gphy_fw_list(priv, gphy_fw_np, version);
109 of_node_put(gphy_fw_np);
111 - dev_err(dev, "gphy fw probe failed\n");
115 + return dev_err_probe(dev, err,
116 + "gphy fw probe failed\n");
119 /* bring up the mdio bus */
120 @@ -2191,20 +2188,20 @@ static int gswip_probe(struct platform_d
122 err = gswip_mdio(priv, mdio_np);
124 - dev_err(dev, "mdio probe failed\n");
125 + dev_err_probe(dev, err, "mdio probe failed\n");
130 err = dsa_register_switch(priv->ds);
132 - dev_err(dev, "dsa switch register failed: %i\n", err);
133 + dev_err_probe(dev, err, "dsa switch registration failed\n");
136 if (!dsa_is_cpu_port(priv->ds, priv->hw_info->cpu_port)) {
137 - dev_err(dev, "wrong CPU port defined, HW only supports port: %i",
138 - priv->hw_info->cpu_port);
140 + err = dev_err_probe(dev, -EINVAL,
141 + "wrong CPU port defined, HW only supports port: %i",
142 + priv->hw_info->cpu_port);