PCI: kirin: Tidy up _probe() related function with dev_err_probe()
authorZhang Zekun <zhangzekun11@huawei.com>
Sat, 31 Aug 2024 04:04:09 +0000 (12:04 +0800)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Thu, 6 Mar 2025 09:30:15 +0000 (09:30 +0000)
The combination of dev_err() and the returned error code could be
replaced by dev_err_probe() in driver's probe function.

Thus, convert the code to use dev_err_probe() to make code simpler.

Suggested-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Zhang Zekun <zhangzekun11@huawei.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240831040413.126417-3-zhangzekun11@huawei.com
[kwilczynski: commit log, return -ETIMEDOUT from hi3660_pcie_phy_start()
rather than -EINVAL for when the PIPE clock fails to become stable,
drop redundant dev->of_node NULL check]
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
drivers/pci/controller/dwc/pcie-kirin.c

index eeff8bfcdf8beb799e8fc5399bf1109b711833b0..d0e6a3811b001acc8975d01935e7237c38d1b73b 100644 (file)
@@ -216,10 +216,9 @@ static int hi3660_pcie_phy_start(struct hi3660_pcie_phy *phy)
 
        usleep_range(PIPE_CLK_WAIT_MIN, PIPE_CLK_WAIT_MAX);
        reg_val = kirin_apb_phy_readl(phy, PCIE_APB_PHY_STATUS0);
-       if (reg_val & PIPE_CLK_STABLE) {
-               dev_err(dev, "PIPE clk is not stable\n");
-               return -EINVAL;
-       }
+       if (reg_val & PIPE_CLK_STABLE)
+               return dev_err_probe(dev, -ETIMEDOUT,
+                                    "PIPE clk is not stable\n");
 
        return 0;
 }
@@ -371,10 +370,9 @@ static int kirin_pcie_get_gpio_enable(struct kirin_pcie *pcie,
        if (ret < 0)
                return 0;
 
-       if (ret > MAX_PCI_SLOTS) {
-               dev_err(dev, "Too many GPIO clock requests!\n");
-               return -EINVAL;
-       }
+       if (ret > MAX_PCI_SLOTS)
+               return dev_err_probe(dev, -EINVAL,
+                                    "Too many GPIO clock requests!\n");
 
        pcie->n_gpio_clkreq = ret;
 
@@ -420,17 +418,16 @@ static int kirin_pcie_parse_port(struct kirin_pcie *pcie,
                                                     "unable to get a valid reset gpio\n");
                        }
 
-                       if (pcie->num_slots + 1 >= MAX_PCI_SLOTS) {
-                               dev_err(dev, "Too many PCI slots!\n");
-                               return -EINVAL;
-                       }
+                       if (pcie->num_slots + 1 >= MAX_PCI_SLOTS)
+                               return dev_err_probe(dev, -EINVAL,
+                                                    "Too many PCI slots!\n");
+
                        pcie->num_slots++;
 
                        ret = of_pci_get_devfn(child);
-                       if (ret < 0) {
-                               dev_err(dev, "failed to parse devfn: %d\n", ret);
-                               return ret;
-                       }
+                       if (ret < 0)
+                               return dev_err_probe(dev, ret,
+                                                    "failed to parse devfn\n");
 
                        slot = PCI_SLOT(ret);
 
@@ -725,16 +722,9 @@ static int kirin_pcie_probe(struct platform_device *pdev)
        struct dw_pcie *pci;
        int ret;
 
-       if (!dev->of_node) {
-               dev_err(dev, "NULL node\n");
-               return -EINVAL;
-       }
-
        data = of_device_get_match_data(dev);
-       if (!data) {
-               dev_err(dev, "OF data missing\n");
-               return -EINVAL;
-       }
+       if (!data)
+               return dev_err_probe(dev, -EINVAL, "OF data missing\n");
 
        kirin_pcie = devm_kzalloc(dev, sizeof(struct kirin_pcie), GFP_KERNEL);
        if (!kirin_pcie)