Skip to content
  • Geert Uytterhoeven's avatar
    drivers: sh: compile drivers/sh/pm_runtime.c if ARCH_SHMOBILE_MULTI · 3c90c55d
    Geert Uytterhoeven authored
    If the kernel is built to support multi-ARM configuration with shmobile
    support built in, then drivers/sh is not built. This contains the PM
    runtime code in drivers/sh/pm_runtime.c, which implicitly enables the
    module clocks for all devices, and thus is quite essential.
    Without this, the state of clocks depends on implicit reset state, or on
    the bootloader.
    
    If ARCH_SHMOBILE_MULTI then build the drivers/sh directory, but ensure that
    bits that may conflict (drivers/sh/clk if the common clock framework is
    enabled) or are not used (drivers/sh/intc), are not built.
    Also, only enable the PM runtime code when actually running on a shmobile
    SoCs that needs it.
    
    ARCH_SHMOBILE_MULTI was added a while ago by commit
    efacfce5 ("ARM: shmobile: Introduce
    ARCH_SHMOBILE_MULTI"), but drivers/sh was compiled for both
    ARCH_SHMOBILE_LEGACY and ARCH_SHMOBILE_MULTI until commit
    bf98c1ea
    
     ("ARM: Rename ARCH_SHMOBILE to
    ARCH_SHMOBILE_LEGACY").
    
    Inspired by a patch from Ben Dooks <ben.dooks@codethink.co.uk>.
    
    Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
    3c90c55d