Re: [patch 03/11] arch/i386/pci/i386.c: Use new for_each_pci_dev macro
From: Dave Jones
Date: Tue Jan 11 2005 - 19:58:24 EST
On Wed, Jan 12, 2005 at 12:34:58AM +0100, domen@xxxxxxxxxxxx wrote:
> As requested by Christoph Hellwig I've 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.
Which looks just like the pci_for_each_dev we used to have.
That function got removed due some shortcoming or other that I never
fully understood, but ISTR it had something to do with locking.
(why it couldnt be hidden inside for_each_pci_dev is a mystery to me)
We've had lots of code in the kernel go from this..
pci_for_each_dev(loop_dev) {
to the disgustingly unreadable..
while ((loop_dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, loop_dev)) != NULL) {
and now its going to ..
for_each_pci_dev(loop_dev) {
So,.. what has all this churn bought us, and where does it end ?
With four words in the function name, we've enough possibilities
for quite a few more iterations yet.
Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/