On Tue, 2006-11-07 at 13:35 -0800, Andrew Morton wrote: > On Tue, 07 Nov 2006 11:31:54 +0100 > Jes Sorensen <jes@xxxxxxx> wrote: > > > Fix MSPEC driver to build for non SN2 enabled configs as the driver > > should work in cached and uncached modes (no fetchop) on these systems. > > In addition make MSPEC select IA64_UNCACHED_ALLOCATOR, which is required > > for it. > > i386 `make allmodconfig' says: > > drivers/char/Kconfig:425:warning: 'select' used by config symbol 'MSPEC' refer to undefined symbol 'IA64_UNCACHED_ALLOCATOR' The problem occurs because i386 (as expected) does not define IA64_UNCACHED_ALLOCATOR. I thought that making the select expression depend on IA64 as shown below might silence allmodconfig: select IA64_UNCACHED_ALLOCATOR if IA64 But my guess was wrong and the same warning appeared. It seems that "if" expressions do not prevent allmodconfig from checking the symbol indicated by the select the "if" is conditioning. By the way, is this the expected behaviour? If so, we need to get rid of the reverse dependency, modify the "depends on" line accordingly, and make IA64_UNCACHED_ALLOCATOR selectable. I may be missing the whole point so please correct if I am wrong. Regards, Fernando --- The mspec driver's Kconfig entry has a reverse dependency on IA64-specific code, which causes "allmodconfig" to yell on non-Itanium architectures. Signed-off-by: Fernando Vazquez <fernando@xxxxxxxxxxxxxxxxx> --- diff -urNp linux-2.6.19-rc4-mm2-orig/arch/ia64/Kconfig linux-2.6.19-rc4-mm2/arch/ia64/Kconfig --- linux-2.6.19-rc4-mm2-orig/arch/ia64/Kconfig 2006-11-08 17:51:19.000000000 +0900 +++ linux-2.6.19-rc4-mm2/arch/ia64/Kconfig 2006-11-08 18:11:14.000000000 +0900 @@ -74,10 +74,6 @@ config SCHED_NO_NO_OMIT_FRAME_POINTER bool default y -config IA64_UNCACHED_ALLOCATOR - bool - select GENERIC_ALLOCATOR - config AUDIT_ARCH bool default y @@ -226,6 +222,13 @@ config IOSAPIC depends on !IA64_HP_SIM default y +config IA64_UNCACHED_ALLOCATOR + bool "Uncached allocator" + select GENERIC_ALLOCATOR + help + A simple uncached page allocator using the generic allocator. + It is needed to compile the special memory driver (mspec). + config IA64_SGI_SN_XP tristate "Support communication between SGI SSIs" depends on IA64_GENERIC || IA64_SGI_SN2 diff -urNp linux-2.6.19-rc4-mm2-orig/drivers/char/Kconfig linux-2.6.19-rc4-mm2/drivers/char/Kconfig --- linux-2.6.19-rc4-mm2-orig/drivers/char/Kconfig 2006-11-08 17:51:36.000000000 +0900 +++ linux-2.6.19-rc4-mm2/drivers/char/Kconfig 2006-11-08 16:31:55.000000000 +0900 @@ -436,8 +436,7 @@ config SGI_MBCS config MSPEC tristate "Memory special operations driver" - depends on IA64 - select IA64_UNCACHED_ALLOCATOR + depends on IA64_UNCACHED_ALLOCATOR help If you have an ia64 and you want to enable memory special operations support (formerly known as fetchop), say Y here, - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |