Re: 2.6.23-rc2-mm1 -- drivers/dma/ioat_dca.c:177: error: implicitdeclaration of function ___cpu_physical_id___

From: Andrew Morton
Date: Thu Aug 09 2007 - 14:54:01 EST


On Thu, 9 Aug 2007 10:18:15 -0400
"Miles Lane" <miles.lane@xxxxxxxxx> 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.

Something like this, I suppose...


From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

i386, x86_64 and ia64 implement cpu_physical_id() if CONFIG_SMP=y.

Provide a uniprocessor stub so that callers will dtrt.

Cc: Andi Kleen <ak@xxxxxxx>
Cc: "Luck, Tony" <tony.luck@xxxxxxxxx>
Cc: Shannon Nelson <shannon.nelson@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

include/linux/smp.h | 5 +++++
1 files changed, 5 insertions(+)

diff -puN include/linux/smp.h~implement-cpu_physical_id-on-smp=n include/linux/smp.h
--- a/include/linux/smp.h~implement-cpu_physical_id-on-smp=n
+++ a/include/linux/smp.h
@@ -108,6 +108,11 @@ static inline void smp_send_reschedule(i
0; \
})

+static inline unsigned cpu_physical_id(unsigned cpu)
+{
+ return 0;
+}
+
#endif /* !SMP */

/*
_

-
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/