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/