Mechanical conversion of the eeh_ops interfaces to use eeh_dev to reference
a specific device rather than pci_dn. No functional changes.

Signed-off-by: Oliver O'Halloran <ooh...@gmail.com>
---
v2: no changes
---
 arch/powerpc/include/asm/eeh.h               | 2 +-
 arch/powerpc/kernel/eeh.c                    | 5 ++---
 arch/powerpc/kernel/eeh_pe.c                 | 6 ++----
 arch/powerpc/platforms/powernv/eeh-powernv.c | 6 ++----
 4 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/arch/powerpc/include/asm/eeh.h b/arch/powerpc/include/asm/eeh.h
index c7d5a234bb51..70a686d731f6 100644
--- a/arch/powerpc/include/asm/eeh.h
+++ b/arch/powerpc/include/asm/eeh.h
@@ -229,7 +229,7 @@ struct eeh_ops {
        int (*read_config)(struct pci_dn *pdn, int where, int size, u32 *val);
        int (*write_config)(struct pci_dn *pdn, int where, int size, u32 val);
        int (*next_error)(struct eeh_pe **pe);
-       int (*restore_config)(struct pci_dn *pdn);
+       int (*restore_config)(struct eeh_dev *edev);
        int (*notify_resume)(struct pci_dn *pdn);
 };
 
diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c
index a4df6f6de0bd..1cef0f4bb2d5 100644
--- a/arch/powerpc/kernel/eeh.c
+++ b/arch/powerpc/kernel/eeh.c
@@ -726,7 +726,6 @@ static void eeh_disable_and_save_dev_state(struct eeh_dev 
*edev,
 
 static void eeh_restore_dev_state(struct eeh_dev *edev, void *userdata)
 {
-       struct pci_dn *pdn = eeh_dev_to_pdn(edev);
        struct pci_dev *pdev = eeh_dev_to_pci_dev(edev);
        struct pci_dev *dev = userdata;
 
@@ -734,8 +733,8 @@ static void eeh_restore_dev_state(struct eeh_dev *edev, 
void *userdata)
                return;
 
        /* Apply customization from firmware */
-       if (pdn && eeh_ops->restore_config)
-               eeh_ops->restore_config(pdn);
+       if (eeh_ops->restore_config)
+               eeh_ops->restore_config(edev);
 
        /* The caller should restore state for the specified device */
        if (pdev != dev)
diff --git a/arch/powerpc/kernel/eeh_pe.c b/arch/powerpc/kernel/eeh_pe.c
index 177852e39a25..d71493f66917 100644
--- a/arch/powerpc/kernel/eeh_pe.c
+++ b/arch/powerpc/kernel/eeh_pe.c
@@ -843,16 +843,14 @@ static void eeh_restore_device_bars(struct eeh_dev *edev)
  */
 static void eeh_restore_one_device_bars(struct eeh_dev *edev, void *flag)
 {
-       struct pci_dn *pdn = eeh_dev_to_pdn(edev);
-
        /* Do special restore for bridges */
        if (edev->mode & EEH_DEV_BRIDGE)
                eeh_restore_bridge_bars(edev);
        else
                eeh_restore_device_bars(edev);
 
-       if (eeh_ops->restore_config && pdn)
-               eeh_ops->restore_config(pdn);
+       if (eeh_ops->restore_config)
+               eeh_ops->restore_config(edev);
 }
 
 /**
diff --git a/arch/powerpc/platforms/powernv/eeh-powernv.c 
b/arch/powerpc/platforms/powernv/eeh-powernv.c
index 8f3a7611efc1..a41e67f674e6 100644
--- a/arch/powerpc/platforms/powernv/eeh-powernv.c
+++ b/arch/powerpc/platforms/powernv/eeh-powernv.c
@@ -1619,12 +1619,10 @@ static int pnv_eeh_next_error(struct eeh_pe **pe)
        return ret;
 }
 
-static int pnv_eeh_restore_config(struct pci_dn *pdn)
+static int pnv_eeh_restore_config(struct eeh_dev *edev)
 {
-       struct eeh_dev *edev = pdn_to_eeh_dev(pdn);
        struct pnv_phb *phb;
        s64 ret = 0;
-       int config_addr = (pdn->busno << 8) | (pdn->devfn);
 
        if (!edev)
                return -EEXIST;
@@ -1638,7 +1636,7 @@ static int pnv_eeh_restore_config(struct pci_dn *pdn)
 
        if (ret) {
                pr_warn("%s: Can't reinit PCI dev 0x%x (%lld)\n",
-                       __func__, config_addr, ret);
+                       __func__, edev->bdfn, ret);
                return -EIO;
        }
 
-- 
2.26.2

Reply via email to