• Lorenzo Pieralisi's avatar
    ARM: 8511/1: ARM64: kernel: PSCI: move PSCI idle management code to drivers/firmware · 8b6f2499
    Lorenzo Pieralisi authored
    ARM64 PSCI kernel interfaces that initialize idle states and implement
    the suspend API to enter them are generic and can be shared with the
    ARM architecture.
    
    To achieve that goal, this patch moves ARM64 PSCI idle management
    code to drivers/firmware, so that the interface to initialize and
    enter idle states can actually be shared by ARM and ARM64 arches
    back-ends.
    
    The ARM generic CPUidle implementation also requires the definition of
    a cpuidle_ops section entry for the kernel to initialize the CPUidle
    operations at boot based on the enable-method (ie ARM64 has the
    statically initialized cpu_ops counterparts for that purpose); therefore
    this patch also adds the required section entry on CONFIG_ARM for PSCI so
    that the kernel can initialize the PSCI CPUidle back-end when PSCI is
    the probed enable-method.
    
    On ARM64 this patch provides no functional change.
    Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Acked-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    Acked-by: Catalin Marinas <catalin.marinas@arm.com> [arch/arm64]
    Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
    Tested-by: default avatarJisheng Zhang <jszhang@marvell.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Sudeep Holla <sudeep.holla@arm.com>
    Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Jisheng Zhang <jszhang@marvell.com>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    8b6f2499
psci.c 2.88 KB