On Thu, Jul 21, 2011 at 4:23 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote: > On 07/14/2011 09:24 PM, tip-bot for Andy Lutomirski wrote: >> >> diff --git a/arch/x86/include/asm/clocksource.h b/arch/x86/include/asm/clocksource.h >> new file mode 100644 >> index 0000000..a5df33f >> --- /dev/null >> +++ b/arch/x86/include/asm/clocksource.h >> @@ -0,0 +1,16 @@ >> +/* x86-specific clocksource additions */ >> + >> +#ifndef _ASM_X86_CLOCKSOURCE_H >> +#define _ASM_X86_CLOCKSOURCE_H >> + >> +#ifdef CONFIG_X86_64 >> + >> +#define __ARCH_HAS_CLOCKSOURCE_DATA >> + >> +struct arch_clocksource_data { >> + cycle_t (*vread)(void); >> +}; >> + >> +#endif /* CONFIG_X86_64 */ >> + >> +#endif /* _ASM_X86_CLOCKSOURCE_H */ >> --- /dev/null >> +++ b/include/asm-generic/clocksource.h >> @@ -0,0 +1,4 @@ >> +/* >> + * Architectures should override this file to add private userspace >> + * clock magic if needed. >> + */ >> diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h >> index d4646b4..0fb83c2 100644 >> --- a/include/linux/clocksource.h >> +++ b/include/linux/clocksource.h >> @@ -22,6 +22,8 @@ >> typedef u64 cycle_t; >> struct clocksource; >> >> +#include <asm/clocksource.h> >> + >> /** > > Hi Andy, > > I should have spotted this sooner... Ingo pointed out to me that this > breaks building on any non-x86 architecture. > > asm-generic doesn't work quite the way you think it does, here; it's a > library for architectures to include from, not something that gets > included on all architectures by default. Whoops. If only cross-compiler toolchains were easy to build... [...] > > The easiest way to deal with this is probably to make > ARCH_HAS_CLOCKSOURCE_DATA here a Kconfig option (autoselected for > x86-64); the only other would be to add this as generic-y stubs for > every single architecture. > > Cc: Arnd Bergmann who is the asm-generic maintainer for a > recommendation, and linux-arch. ARCH_HAS_CLOCKSOURCE_DATA seems reasonable. It's a little ugly because it needs: #ifdef CONFIG_ARCH_HAS_CLOCKSOURCE_DATA #include <asm/clocksource.h> #endif If I don't hear any better suggestions, I'll implement that tomorrow. Do you want an incremental patch or a replacement? --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html