Re: [Patch] Janitorial cleanup of GET_INDEX macro in arch/i386/pci/fixup.c
From: Jeff Garzik
Date: Tue Jun 28 2005 - 12:22:57 EST
Greg KH wrote:
On Mon, Jun 27, 2005 at 03:19:11PM -0700, Linus Torvalds wrote:
On Mon, 27 Jun 2005, Neil Horman wrote:
Patch to clean up the implementation of the GET_INDEX macro in the i386 pci
fixup code so that it uses the PCI_DEVFN macro, rather than re-implements it.
This looks wrong:
-#define GET_INDEX(a, b) ((((a) - PCI_DEVICE_ID_INTEL_MCH_PA) << 3) + ((b) & 7))
+#define GET_INDEX(a, b) PCI_DEVFN((a - PCI_DEVICE_ID_INTEL_MCH_PA),b)
that first argument looks like it has parentheses at the wrong place, it
should be
(a) - PCI_DEVICE_ID_INTEL_MCH_PA
rather than
(a - PCI_DEVICE_ID_INTEL_MCH_PA)
methinks.
Other than that... Greg?
I'd like to say yes, but I'll get an ack by the pci express people from
Intel first (PCI_DEVFN masks off bits that might be needed here, don't
really know...) Also, this is only used for an array index, not a
pci devfn memory access (look at how it is used in the code...)
I'll put it in my tree for now, and let it get testing, I would not
recommend it for yours just yet.
Please let me know, as I suggested this patch to Neil.
It sure seems like the code wants a real PCI devfn, even though it is
obviously doing a table index.
Comments?
Jeff
-
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/