![]() | |||||||||||||
Messages in this thread |
On Fri, Sep 08, 2006 at 11:20:35AM -0700, Andrew Morton wrote: > On Thu, 7 Sep 2006 22:14:22 -0500 > Matt Domsch <Matt_Domsch@dell.com> wrote: > > > @@ -189,6 +189,8 @@ static int __init pcibios_init(void) > > > > pcibios_resource_survey(); > > > > + if (!(pci_probe & PCI_NO_SORT)) > > + pci_sort_breadthfirst(); > > > > ... > > > > --- a/drivers/pci/probe.c > > +++ b/drivers/pci/probe.c > > @@ -1055,3 +1055,95 @@ EXPORT_SYMBOL(pci_scan_bridge); > > EXPORT_SYMBOL(pci_scan_single_device); > > EXPORT_SYMBOL_GPL(pci_scan_child_bus); > > #endif > > + > > +static int pci_sort_bf_cmp(const struct pci_dev *a, const struct pci_dev *b) > > +static void pci_insertion_sort_klist(struct pci_dev *a, struct list_head *list, > > +static void pci_sort_breadthfirst_klist(void) > > +static void pci_insertion_sort_devices(struct pci_dev *a, struct list_head *list, > > +static void pci_sort_breadthfirst_devices(void) > > +void pci_sort_breadthfirst(void) > > I think all these functions can+should be __init? > > > +extern void pci_sort_breadthfirst(void); > > In which case this needs the __init tag too (new rule, due to frv (at least)). Will fix up immediately. I also see that it's making indirect calls through the (*cmp)() pointer, which is interesting only of there's other code that's going to be doing insertion sorting. For now, a direct call to the comparison function would be a little cleaner. Thanks for the review! Matt -- Matt Domsch Software Architect Dell Linux Solutions linux.dell.com & www.dell.com/linux Linux on Dell mailing lists @ http://lists.us.dell.com - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2006-09-08 18:55 [from the cache] ©2003-2008 | |||||||||||||