stmmac: dwmac-intel-plat: remove redundant dwmac->data check in probe
authorVitalii Mordan <mordan@ispras.ru>
Fri, 15 Nov 2024 13:26:32 +0000 (16:26 +0300)
committerJakub Kicinski <kuba@kernel.org>
Tue, 19 Nov 2024 02:49:53 +0000 (18:49 -0800)
The driver’s compatibility with devices is confirmed earlier in
platform_match(). Since reaching probe means the device is valid,
the extra check can be removed to simplify the code.

Signed-off-by: Vitalii Mordan <mordan@ispras.ru>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-intel-plat.c

index a433526..d94f0a1 100644 (file)
@@ -97,35 +97,38 @@ static int intel_eth_plat_probe(struct platform_device *pdev)
        dwmac->dev = &pdev->dev;
        dwmac->tx_clk = NULL;
 
+       /*
+        * This cannot return NULL at this point because the driver’s
+        * compatibility with the device has already been validated in
+        * platform_match().
+        */
        dwmac->data = device_get_match_data(&pdev->dev);
-       if (dwmac->data) {
-               if (dwmac->data->fix_mac_speed)
-                       plat_dat->fix_mac_speed = dwmac->data->fix_mac_speed;
-
-               /* Enable TX clock */
-               if (dwmac->data->tx_clk_en) {
-                       dwmac->tx_clk = devm_clk_get(&pdev->dev, "tx_clk");
-                       if (IS_ERR(dwmac->tx_clk))
-                               return PTR_ERR(dwmac->tx_clk);
+       if (dwmac->data->fix_mac_speed)
+               plat_dat->fix_mac_speed = dwmac->data->fix_mac_speed;
+
+       /* Enable TX clock */
+       if (dwmac->data->tx_clk_en) {
+               dwmac->tx_clk = devm_clk_get(&pdev->dev, "tx_clk");
+               if (IS_ERR(dwmac->tx_clk))
+                       return PTR_ERR(dwmac->tx_clk);
+
+               ret = clk_prepare_enable(dwmac->tx_clk);
+               if (ret) {
+                       dev_err(&pdev->dev,
+                               "Failed to enable tx_clk\n");
+                       return ret;
+               }
 
-                       ret = clk_prepare_enable(dwmac->tx_clk);
+               /* Check and configure TX clock rate */
+               rate = clk_get_rate(dwmac->tx_clk);
+               if (dwmac->data->tx_clk_rate &&
+                   rate != dwmac->data->tx_clk_rate) {
+                       rate = dwmac->data->tx_clk_rate;
+                       ret = clk_set_rate(dwmac->tx_clk, rate);
                        if (ret) {
                                dev_err(&pdev->dev,
-                                       "Failed to enable tx_clk\n");
-                               return ret;
-                       }
-
-                       /* Check and configure TX clock rate */
-                       rate = clk_get_rate(dwmac->tx_clk);
-                       if (dwmac->data->tx_clk_rate &&
-                           rate != dwmac->data->tx_clk_rate) {
-                               rate = dwmac->data->tx_clk_rate;
-                               ret = clk_set_rate(dwmac->tx_clk, rate);
-                               if (ret) {
-                                       dev_err(&pdev->dev,
-                                               "Failed to set tx_clk\n");
-                                       goto err_tx_clk_disable;
-                               }
+                                       "Failed to set tx_clk\n");
+                               goto err_tx_clk_disable;
                        }
                }