Skip to content
  • Arnd Bergmann's avatar
    clocksource: Improve GENERIC_CLOCKEVENTS dependency · 2f8a26c1
    Arnd Bergmann authored
    
    
    We regularly run into build errors when a clocksource driver selects
    CONFIG_TIMER_OF while CONFIG_GENERIC_CLOCKEVENTS is disabled:
    
    In file included from drivers/clocksource/timer-of.c:25:0:
    drivers/clocksource/timer-of.h:35:28: error: field 'clkevt' has incomplete type
    
    At the moment, three drivers can show this behavior: ARMV7M_SYSTICK,
    CLKSRC_ST_LPC and CLKSRC_NPS. We could add further dependencies as we did
    many times, but I have looked a little bit more at what architectures
    are left that don't use GENERIC_CLOCKEVENTS, and this shows that there
    is a better solution.
    
    On arch/frv and arch/ia64, we never select CONFIG_GENERIC_CLOCKEVENTS
    and we also don't use ARCH_USES_GETTIMEOFFSET, which would
    block the clocksource Kconfig menu. On m68k, some platforms use
    CONFIG_GENERIC_CLOCKEVENTS, some use ARCH_USES_GETTIMEOFFSET, and some
    use neither of them. The good news is that there is no configuration that
    does not set CONFIG_GENERIC_CLOCKEVENTS but that wants to enable any of
    the Kconfig symbols in the menu, so we can simply replace the dependency
    with the stricter one. While in theory one could have a clocksource
    driver without the clockevent infrastructure, this seems unlikely
    to be relevant in the future any more.
    
    We can probably drop some of the other dependencies as well now,
    e.g. there should generally be no reason to depend on CONFIG_ARM
    unless the driver uses architecture specific assembly.
    
    Reported-by: default avatarRandy Dunlap <rdunlap@infradead.org>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    2f8a26c1