mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-24 15:56:49 +00:00
f17be5617a
This updates the iProc PCIe driver to the version currently submitted for kernel 4.5. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 47688
80 lines
2.1 KiB
Diff
80 lines
2.1 KiB
Diff
From 93972d18bbaba6f34e21742400b6e7461edc4837 Mon Sep 17 00:00:00 2001
|
|
From: Markus Elfring <elfring@users.sourceforge.net>
|
|
Date: Sun, 28 Jun 2015 16:42:04 +0200
|
|
Subject: [PATCH] PCI: iproc: Delete unnecessary checks before phy calls
|
|
|
|
The functions phy_exit() and phy_power_off() test whether their argument is
|
|
NULL and then return immediately. Thus the test around the calls is not
|
|
needed.
|
|
|
|
This issue was detected by using the Coccinelle software.
|
|
|
|
[bhelgaas: also phy_init() and phy_power_on(), as Ray Jui suggested]
|
|
[bhelgaas: also remove tests in iproc_pcie_remove()]
|
|
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
|
|
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
|
Reviewed-by: Ray Jui <rjui@broadcom.com>
|
|
---
|
|
drivers/pci/host/pcie-iproc.c | 34 +++++++++++++---------------------
|
|
1 file changed, 13 insertions(+), 21 deletions(-)
|
|
|
|
--- a/drivers/pci/host/pcie-iproc.c
|
|
+++ b/drivers/pci/host/pcie-iproc.c
|
|
@@ -191,19 +191,16 @@ int iproc_pcie_setup(struct iproc_pcie *
|
|
if (!pcie || !pcie->dev || !pcie->base)
|
|
return -EINVAL;
|
|
|
|
- if (pcie->phy) {
|
|
- ret = phy_init(pcie->phy);
|
|
- if (ret) {
|
|
- dev_err(pcie->dev, "unable to initialize PCIe PHY\n");
|
|
- return ret;
|
|
- }
|
|
-
|
|
- ret = phy_power_on(pcie->phy);
|
|
- if (ret) {
|
|
- dev_err(pcie->dev, "unable to power on PCIe PHY\n");
|
|
- goto err_exit_phy;
|
|
- }
|
|
+ ret = phy_init(pcie->phy);
|
|
+ if (ret) {
|
|
+ dev_err(pcie->dev, "unable to initialize PCIe PHY\n");
|
|
+ return ret;
|
|
+ }
|
|
|
|
+ ret = phy_power_on(pcie->phy);
|
|
+ if (ret) {
|
|
+ dev_err(pcie->dev, "unable to power on PCIe PHY\n");
|
|
+ goto err_exit_phy;
|
|
}
|
|
|
|
iproc_pcie_reset(pcie);
|
|
@@ -239,12 +236,9 @@ err_rm_root_bus:
|
|
pci_remove_root_bus(bus);
|
|
|
|
err_power_off_phy:
|
|
- if (pcie->phy)
|
|
- phy_power_off(pcie->phy);
|
|
+ phy_power_off(pcie->phy);
|
|
err_exit_phy:
|
|
- if (pcie->phy)
|
|
- phy_exit(pcie->phy);
|
|
-
|
|
+ phy_exit(pcie->phy);
|
|
return ret;
|
|
}
|
|
EXPORT_SYMBOL(iproc_pcie_setup);
|
|
@@ -254,10 +248,8 @@ int iproc_pcie_remove(struct iproc_pcie
|
|
pci_stop_root_bus(pcie->root_bus);
|
|
pci_remove_root_bus(pcie->root_bus);
|
|
|
|
- if (pcie->phy) {
|
|
- phy_power_off(pcie->phy);
|
|
- phy_exit(pcie->phy);
|
|
- }
|
|
+ phy_power_off(pcie->phy);
|
|
+ phy_exit(pcie->phy);
|
|
|
|
return 0;
|
|
}
|