From: Domen Puncer As requested by Christoph Hellwig I created a new macro called for_each_pci_dev. It is a wrapper for this common use of pci_get/find_device: (while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL)) This macro will return the pci_dev *for all pci devices. Here is the first patch I used to test this macro with. Compiled and booted on my T23. There will be 53 more patches using this new macro. Signed-off-by: Hanna Linder Signed-off-by: Maximilian Attems Signed-off-by: Domen Puncer Signed-off-by: Andrew Morton --- 25-akpm/arch/i386/pci/i386.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN arch/i386/pci/i386.c~arch-i386-pci-i386c-use-new-for_each_pci_dev-macro arch/i386/pci/i386.c --- 25/arch/i386/pci/i386.c~arch-i386-pci-i386c-use-new-for_each_pci_dev-macro 2005-03-09 01:02:54.000000000 -0800 +++ 25-akpm/arch/i386/pci/i386.c 2005-03-09 01:02:54.000000000 -0800 @@ -124,7 +124,7 @@ static void __init pcibios_allocate_reso u16 command; struct resource *r, *pr; - while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { + for_each_pci_dev(dev) { pci_read_config_word(dev, PCI_COMMAND, &command); for(idx = 0; idx < 6; idx++) { r = &dev->resource[idx]; @@ -168,7 +168,7 @@ static int __init pcibios_assign_resourc int idx; struct resource *r; - while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { + for_each_pci_dev(dev) { int class = dev->class >> 8; /* Don't touch classless devices and host bridges */ _