On Fri, 10 Aug 2007 15:27:42 +0200 Andi Kleen <[EMAIL PROTECTED]> wrote:
> On Thursday 09 August 2007 20:52:58 Andrew Morton wrote: > > On Thu, 9 Aug 2007 10:18:15 -0400 > > "Miles Lane" <[EMAIL PROTECTED]> wrote: > > > > > CC drivers/dma/ioat_dca.o > > > drivers/dma/ioat_dca.c: In function 'ioat_dca_get_tag': > > > drivers/dma/ioat_dca.c:177: error: implicit declaration of function > > > 'cpu_physical_id' > > > > Looks like cpu_physical_id() doesn't get implemented if CONFIG_SMP=n. > > > > Either ioat needs to stop using cpu_physical_id() if SMP=n, or the > > supported architectures (i386, x86_64, ia64) should provide a non-SMP > > version of cpu_physical_id(). Preferably the latter, I'd say. > > > It doesn't make much sense in smp.h because there is not really > a concept of physical id on most architectures i expect. Better > to put it into the individual asm files. > I gave up and did this: From: Andrew Morton <[EMAIL PROTECTED]> drivers/dma/ioat_dca.c: In function 'ioat_dca_get_tag': drivers/dma/ioat_dca.c:177: error: implicit declaration of function 'cpu_physical_id' This is soooo screwed up. Root cause: linux/smp.h only includes asm/smp.h if CONFIG_SMP=y. To get at cpu_physical_id() on UP, the user must include asm/smp.h, not linux/smp.h. Cc: "Luck, Tony" <[EMAIL PROTECTED]> Cc: Andi Kleen <[EMAIL PROTECTED]> Cc: Shannon Nelson <[EMAIL PROTECTED]> Signed-off-by: Andrew Morton <[EMAIL PROTECTED]> --- drivers/dma/ioat_dca.c | 3 +++ 1 file changed, 3 insertions(+) diff -puN drivers/dma/ioat_dca.c~git-dma-up-fix drivers/dma/ioat_dca.c --- a/drivers/dma/ioat_dca.c~git-dma-up-fix +++ a/drivers/dma/ioat_dca.c @@ -25,6 +25,9 @@ #include <linux/smp.h> #include <linux/interrupt.h> #include <linux/dca.h> + +#include <asm/smp.h> + #include "ioatdma.h" #include "ioatdma_registers.h" _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/