PCI: Move pdev_sort_resources() to setup-bus.c
authorYinghai Lu <yinghai@kernel.org>
Sat, 21 Jan 2012 10:08:25 +0000 (02:08 -0800)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Tue, 14 Feb 2012 16:44:54 +0000 (08:44 -0800)
This allows us to move the definition of struct resource_list to
setup_bus.c and later convert resource_list to a regular list.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/setup-bus.c
drivers/pci/setup-res.c
include/linux/pci.h

index c79ce4ee634b72b56881d98e2a7a68a9b4382570..f233d127ca89174aa9b9433227267200bc9cef34 100644 (file)
@@ -137,6 +137,52 @@ static resource_size_t get_res_add_size(struct resource_list_x *realloc_head,
        return 0;
 }
 
+/* Sort resources by alignment */
+static void pdev_sort_resources(struct pci_dev *dev, struct resource_list *head)
+{
+       int i;
+
+       for (i = 0; i < PCI_NUM_RESOURCES; i++) {
+               struct resource *r;
+               struct resource_list *list, *tmp;
+               resource_size_t r_align;
+
+               r = &dev->resource[i];
+
+               if (r->flags & IORESOURCE_PCI_FIXED)
+                       continue;
+
+               if (!(r->flags) || r->parent)
+                       continue;
+
+               r_align = pci_resource_alignment(dev, r);
+               if (!r_align) {
+                       dev_warn(&dev->dev, "BAR %d: %pR has bogus alignment\n",
+                                i, r);
+                       continue;
+               }
+               for (list = head; ; list = list->next) {
+                       resource_size_t align = 0;
+                       struct resource_list *ln = list->next;
+
+                       if (ln)
+                               align = pci_resource_alignment(ln->dev, ln->res);
+
+                       if (r_align > align) {
+                               tmp = kmalloc(sizeof(*tmp), GFP_KERNEL);
+                               if (!tmp)
+                                       panic("pdev_sort_resources(): "
+                                             "kmalloc() failed!\n");
+                               tmp->next = ln;
+                               tmp->res = r;
+                               tmp->dev = dev;
+                               list->next = tmp;
+                               break;
+                       }
+               }
+       }
+}
+
 static void __dev_sort_resources(struct pci_dev *dev,
                                 struct resource_list *head)
 {
index 241de6c2b9cd7a14bad83689b9c717d29339cfae..f968185aa192fe0343ee98bfb879f45d8e7f859d 100644 (file)
@@ -302,53 +302,6 @@ int pci_assign_resource(struct pci_dev *dev, int resno)
        return ret;
 }
 
-
-/* Sort resources by alignment */
-void pdev_sort_resources(struct pci_dev *dev, struct resource_list *head)
-{
-       int i;
-
-       for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-               struct resource *r;
-               struct resource_list *list, *tmp;
-               resource_size_t r_align;
-
-               r = &dev->resource[i];
-
-               if (r->flags & IORESOURCE_PCI_FIXED)
-                       continue;
-
-               if (!(r->flags) || r->parent)
-                       continue;
-
-               r_align = pci_resource_alignment(dev, r);
-               if (!r_align) {
-                       dev_warn(&dev->dev, "BAR %d: %pR has bogus alignment\n",
-                                i, r);
-                       continue;
-               }
-               for (list = head; ; list = list->next) {
-                       resource_size_t align = 0;
-                       struct resource_list *ln = list->next;
-
-                       if (ln)
-                               align = pci_resource_alignment(ln->dev, ln->res);
-
-                       if (r_align > align) {
-                               tmp = kmalloc(sizeof(*tmp), GFP_KERNEL);
-                               if (!tmp)
-                                       panic("pdev_sort_resources(): "
-                                             "kmalloc() failed!\n");
-                               tmp->next = ln;
-                               tmp->res = r;
-                               tmp->dev = dev;
-                               list->next = tmp;
-                               break;
-                       }
-               }
-       }
-}
-
 int pci_enable_resources(struct pci_dev *dev, int mask)
 {
        u16 cmd, old_cmd;
index 87507aadf9a248b68573e42d9ef5e12d4e41d1a7..f8caaab4b3fc510b4a2adc17279bcd475620645f 100644 (file)
@@ -899,7 +899,6 @@ int pci_claim_resource(struct pci_dev *, int);
 void pci_assign_unassigned_resources(void);
 void pci_assign_unassigned_bridge_resources(struct pci_dev *bridge);
 void pdev_enable_device(struct pci_dev *);
-void pdev_sort_resources(struct pci_dev *, struct resource_list *);
 int pci_enable_resources(struct pci_dev *, int mask);
 void pci_fixup_irqs(u8 (*)(struct pci_dev *, u8 *),
                    int (*)(const struct pci_dev *, u8, u8));