summaryrefslogtreecommitdiffstats
path: root/target/linux/bcm53xx/patches-4.1/035-PCI-iproc-Delete-unnecessary-checks-before-phy-calls.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2015-12-02 15:24:53 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2015-12-02 15:24:53 +0000
commitf17be5617a89b213966c44127fa6a597cd637464 (patch)
tree04c687fc499804fcf0d40b1b6928b8aa7661a4f5 /target/linux/bcm53xx/patches-4.1/035-PCI-iproc-Delete-unnecessary-checks-before-phy-calls.patch
parent0e73da37d5b0edd7918dd3f9ee025a2167d0f788 (diff)
downloadmaster-31e0f0ae-f17be5617a89b213966c44127fa6a597cd637464.tar.gz
master-31e0f0ae-f17be5617a89b213966c44127fa6a597cd637464.tar.bz2
master-31e0f0ae-f17be5617a89b213966c44127fa6a597cd637464.zip
bcm53xx: update PCIe driver
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
Diffstat (limited to 'target/linux/bcm53xx/patches-4.1/035-PCI-iproc-Delete-unnecessary-checks-before-phy-calls.patch')
-rw-r--r--target/linux/bcm53xx/patches-4.1/035-PCI-iproc-Delete-unnecessary-checks-before-phy-calls.patch79
1 files changed, 79 insertions, 0 deletions
diff --git a/target/linux/bcm53xx/patches-4.1/035-PCI-iproc-Delete-unnecessary-checks-before-phy-calls.patch b/target/linux/bcm53xx/patches-4.1/035-PCI-iproc-Delete-unnecessary-checks-before-phy-calls.patch
new file mode 100644
index 0000000000..fc83337de7
--- /dev/null
+++ b/target/linux/bcm53xx/patches-4.1/035-PCI-iproc-Delete-unnecessary-checks-before-phy-calls.patch
@@ -0,0 +1,79 @@
+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;
+ }