• Linus Walleij's avatar
    ARM: ux500: move PM-related PRCMU functions to machine · 1e22a8c6
    Linus Walleij authored
    We are trying to decompose and decentralize the code in
    the DB8500 PRCMU out into subdrivers. The code moved in
    this patch concerns a group of functions used for
    decoupling and recoupling the IRQs from the GIC. During
    sleep and idle the Ux500 system will transfer all IRQ
    handling to the PRCMU using these functions.
    
    Basically we are left with the two alternatives of code
    placement as:
    
    - arch/arm/mach-ux500/pm.c - this because the code is
      closely related to the GIC, and takes ownership of
      some of the registers from the PRCMU related to this
      PM functionality.
    
    - drivers/mfd/db8500-prcmu-pm.c - because the code is
      affecting stuff in the PRCMU register range. But then
      this code needs to remap and handle GIC registers.
    
    This patch implementation is taking the first approach.
    
    Currently the cpuidle driver is the only piece of code
    using this set of functions, but it will later also be
    used by the suspend/resume code which is currently under
    review.
    
    The header file is moved to:
    <linux/platform_data/arm-ux500-pm.h>
    The function prototypes need to be placed in a globally
    visible header since the CPUidle code is planned to move
    out to drivers/cpuidle.
    Acked-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
    Acked-by: default avatarRickard Andersson <rickard.andersson@stericsson.com>
    Acked-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    1e22a8c6
pm.c 4.56 KB