diff --git a/drivers/misc/cxl/vphb.c b/drivers/misc/cxl/vphb.c
index 3519ace..639a343 100644
--- a/drivers/misc/cxl/vphb.c
+++ b/drivers/misc/cxl/vphb.c
@@ -76,23 +76,22 @@ static int cxl_pcie_cfg_record(u8 bus, u8 devfn)
        return (bus << 8) + devfn;
 }

-static int cxl_pcie_config_info(struct pci_bus *bus, unsigned int devfn,
-                               struct cxl_afu **_afu, int *_record)
+static inline struct cxl_afu *pci_bus_to_afu(struct pci_bus *bus)
 {
-       struct pci_controller *phb;
-       struct cxl_afu *afu;
-       int record;
+       struct pci_controller *phb = bus ? pci_bus_to_host(bus) : NULL;

-       phb = pci_bus_to_host(bus);
-       if (phb == NULL)
-               return PCIBIOS_DEVICE_NOT_FOUND;
+       return phb ? phb->private_data : NULL;
+}
+
+static inline int cxl_pcie_config_info(struct pci_bus *bus, unsigned int devfn,
+                                      struct cxl_afu *afu, int *_record)
+{
+       int record;

-       afu = (struct cxl_afu *)phb->private_data;
        record = cxl_pcie_cfg_record(bus->number, devfn);
        if (record > afu->crs_num)
                return PCIBIOS_DEVICE_NOT_FOUND;

-       *_afu = afu;
        *_record = record;
        return 0;
 }


There's no reason to pass the afu parameter to that function, is it?
Pushing it further, do we need cxl_pcie_config_info()? It's now a simple wrapper around cxl_pcie_cfg_record()

  Fred

Reply via email to