• Tony Lindgren's avatar
    ARM: OMAP2+: Fix regression for using local timer on non-SMP SoCs · d86ad463
    Tony Lindgren authored
    On am437x we use also an ARM timer in addition to the dmtimer. As am437x
    is not an SMP SoC, we need tick_broadcast() implemented. With the recent
    dmtimer changes, Arnd started to see link failures for non-SMP am437x
    configuration:
    
    kernel/time/tick-broadcast.o: in function `tick_device_uses_broadcast':
    tick-broadcast.c:(.text+0x130): undefined reference to `tick_broadcast'
    
    Let's fix the issue by reverting dmtimer related changes that started
    building timer.c only for CONFIG_SOC_HAS_REALTIME_COUNTER. We still
    always need timer.c built-in for omap5 and dra7 for timer_probe().
    
    And let's also move am437x tick_broadcast() to board-generic.c as
    that's where we now call timer_probe() for am437x. This way we avoid
    adding back more ifdefs to timer.c.
    
    Fixes: 2ee04b88 ("ARM: OMAP2+: Drop old timer code for dmtimer and 32k counter")
    Reported-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    d86ad463
timer.c 4.49 KB