[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v4 3/7] xen-pciback: fold read_dev_bar() into its now single caller



Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
---
 drivers/xen/xen-pciback/conf_space_header.c |   33 +++++++++++-----------------
 1 file changed, 13 insertions(+), 20 deletions(-)

--- 4.7-rc6-xen-pciback.orig/drivers/xen/xen-pciback/conf_space_header.c
+++ 4.7-rc6-xen-pciback/drivers/xen/xen-pciback/conf_space_header.c
@@ -209,11 +209,14 @@ static int bar_read(struct pci_dev *dev,
        return 0;
 }
 
-static inline void read_dev_bar(struct pci_dev *dev,
-                               struct pci_bar_info *bar_info, int offset)
+static void *bar_init(struct pci_dev *dev, int offset)
 {
        int     pos;
        struct resource *res = dev->resource;
+       struct pci_bar_info *bar = kzalloc(sizeof(*bar), GFP_KERNEL);
+
+       if (!bar)
+               return ERR_PTR(-ENOMEM);
 
        if (offset == PCI_ROM_ADDRESS || offset == PCI_ROM_ADDRESS1)
                pos = PCI_ROM_RESOURCE;
@@ -223,31 +226,21 @@ static inline void read_dev_bar(struct p
                                PCI_BASE_ADDRESS_MEM_TYPE_MASK)) ==
                           (PCI_BASE_ADDRESS_SPACE_MEMORY |
                                PCI_BASE_ADDRESS_MEM_TYPE_64))) {
-                       bar_info->val = res[pos - 1].start >> 32;
-                       bar_info->len_val = -resource_size(&res[pos - 1]) >> 32;
-                       return;
+                       bar->val = res[pos - 1].start >> 32;
+                       bar->len_val = -resource_size(&res[pos - 1]) >> 32;
+                       return bar;
                }
        }
 
        if (!res[pos].flags ||
            (res[pos].flags & (IORESOURCE_DISABLED | IORESOURCE_UNSET |
                               IORESOURCE_BUSY)))
-               return;
-
-       bar_info->val = res[pos].start |
-                       (res[pos].flags & PCI_REGION_FLAG_MASK);
-       bar_info->len_val = -resource_size(&res[pos]) |
-                           (res[pos].flags & PCI_REGION_FLAG_MASK);
-}
-
-static void *bar_init(struct pci_dev *dev, int offset)
-{
-       struct pci_bar_info *bar = kzalloc(sizeof(*bar), GFP_KERNEL);
-
-       if (!bar)
-               return ERR_PTR(-ENOMEM);
+               return bar;
 
-       read_dev_bar(dev, bar, offset);
+       bar->val = res[pos].start |
+                  (res[pos].flags & PCI_REGION_FLAG_MASK);
+       bar->len_val = -resource_size(&res[pos]) |
+                      (res[pos].flags & PCI_REGION_FLAG_MASK);
 
        return bar;
 }




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.