• Robert Jarzmik's avatar
    ARM: pxa: change clocks init sequence · 5e1d0128
    Robert Jarzmik authored
    Since pxa clocks were ported to the clock framework, an ordering issue
    appears between clocks and clocksource initialization. As a consequence,
    the pxa timer clock cannot be acquired in pxa_timer, and is disabled by
    clock framework because it is "unused".
    
    The ordering issue is that in the kernel boot sequence :
      start_kernel()
        ...
        time_init()
          -> pxa_timer()
            -> here the clocksource is initialized
        ...
        rest_init()
          kernel_init()
    	initcalls
    	  -> here the clocks are initialized
    
    In the current sequence, the clocks are initialized way after pxa_timer,
    which cannot acquire the OSTIMER0 clock.
    
    To solve this issue, the clocks initialization is moved to pxa_timer(),
    so that clocks are initialized before clocksource for non device-tree.
    For device-tree, the standard arm time_init() will take care of the
    ordering.
    Reviewed-by: default avatarMichael Turquette <mturquette@linaro.org>
    Signed-off-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
    5e1d0128
generic.h 2.36 KB