Re: [PATCH] clocksource: whitelist asm9260_timer driver for ARM

Guenter Roeck
2015-02-23T17:57:27Z

On Mon, Feb 23, 2015 at 06:48:47PM +0100, Daniel Lezcano wrote:
> On 02/18/2015 08:17 AM, Guenter Roeck wrote:
> >On 02/10/2015 07:57 AM, Oleksij Rempel wrote:
> >>For now it is easier to allow only tested platforms, instead of
> >>fighting with different platform specific issues.
> >>
> >>This patch is fixing compile error on ARCH=SPARC and SPARC64:
> >>
> >>Building sparc64:allmodconfig ... failed
> >>--------------
> >>Error log:
> >>drivers/built-in.o: In function `asm9260_timer_init':
> >>asm9260_timer.c:(.init.text+0x60d4): undefined reference to
> >>`of_io_request_and_map'
> >>
> >>Tested-by: Guenter Roeck <linux@roeck-us.net>
> >>Reported-by: Guenter Roeck <linux@roeck-us.net>
> >>Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
> >
> >The problem solved by this patch has affected linux-next
> >for almost a month, the problem is now in mainline, yet
> >I have not seen feedback from anyone about it.
> >
> >Did the patch get lost, or is there some problem with it ?
>
> Hi Guenter, Oleksij,
>
> so I reviewed the patch more in detail.
>
> The sparc/sparc64 configuration shouldn't select this timer.
>
> What do you think about the following patch ?
>
Yes, that makes sense to me. What it really means is that no architecture
but MACH_ASM9260 should select the ASM9260 timer driver, and that it must
always be present on MACH_ASM9260 (is that true, or should it still be
configurable ?).

I just hope that _some_ patch fixing the build will make it into
the upstream kernel before 4.0 is released ;-).

Thanks,
Guenter

> diff --git a/arch/arm/mach-asm9260/Kconfig b/arch/arm/mach-asm9260/Kconfig
> index 8423be7..5224120 100644
> --- a/arch/arm/mach-asm9260/Kconfig
> +++ b/arch/arm/mach-asm9260/Kconfig
> @@ -2,5 +2,7 @@ config MACH_ASM9260
> bool "Alphascale ASM9260"
> depends on ARCH_MULTI_V5
> select CPU_ARM926T
> + select ASM9260_TIMER
> + select GENERIC_CLOCKEVENTS
> help
> Support for Alphascale ASM9260 based platform.
> diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
> index 72a3827..f9c1995 100644
> --- a/drivers/clocksource/Kconfig
> +++ b/drivers/clocksource/Kconfig
> @@ -60,6 +60,11 @@ config VT8500_TIMER
> config CADENCE_TTC_TIMER
> bool
>
> +config ASM9260_TIMER
> + bool
> + select CLKSRC_MMIO
> + select CLKSRC_OF
> +
> config CLKSRC_NOMADIK_MTU
> bool
> depends on (ARCH_NOMADIK || ARCH_U8500)
> @@ -235,15 +240,4 @@ config CLKSRC_MIPS_GIC
> bool
> depends on MIPS_GIC
> select CLKSRC_OF
> -
> -config ASM9260_TIMER
> - bool "Alphascale ASM9260 timer driver"
> - depends on GENERIC_CLOCKEVENTS
> - select CLKSRC_MMIO
> - select CLKSRC_OF
> - default y if MACH_ASM9260
> - help
> - This enables build of a clocksource and clockevent driver for
> - the 32-bit System Timer hardware available on a Alphascale ASM9260.
> -
> endmenu
>
>
>
>
>
> >
> >>---
> >> drivers/clocksource/Kconfig | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >>diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
> >>index bfaaae4..39d5c11 100644
> >>--- a/drivers/clocksource/Kconfig
> >>+++ b/drivers/clocksource/Kconfig
> >>@@ -231,7 +231,7 @@ config CLKSRC_MIPS_GIC
> >>
> >> config ASM9260_TIMER
> >> bool "Alphascale ASM9260 timer driver"
> >>- depends on GENERIC_CLOCKEVENTS
> >>+ depends on GENERIC_CLOCKEVENTS && ARM
> >> select CLKSRC_MMIO
> >> select CLKSRC_OF
> >> default y if MACH_ASM9260
> >>
> >
>
>
> --
> <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
>
> Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
> <http://twitter.com/#!/linaroorg> Twitter |
> <http://www.linaro.org/linaro-blog/> Blog
>