[PATCH v2] ARM: PXA: Z2: Add poweroff function

Eric Miao eric.y.miao at gmail.com
Tue Jul 5 02:58:34 EDT 2011


On Wed, Mar 16, 2011 at 4:11 AM, Vasily Khoruzhick <anarsoul at gmail.com> wrote:
> Signed-off-by: Vasily Khoruzhick <anarsoul at gmail.com>

Applied.

> ---
> v2:
>  - clear PSPR before going deep sleep
>
>  arch/arm/mach-pxa/z2.c |   17 +++++++++++++++++
>  1 files changed, 17 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-pxa/z2.c b/arch/arm/mach-pxa/z2.c
> index 3d3f019..a9ab8c1 100644
> --- a/arch/arm/mach-pxa/z2.c
> +++ b/arch/arm/mach-pxa/z2.c
> @@ -40,6 +40,7 @@
>  #include <mach/pxafb.h>
>  #include <mach/mmc.h>
>  #include <plat/pxa27x_keypad.h>
> +#include <mach/pm.h>
>
>  #include "generic.h"
>  #include "devices.h"
> @@ -677,6 +678,20 @@ static void __init z2_pmic_init(void)
>  static inline void z2_pmic_init(void) {}
>  #endif
>
> +#ifdef CONFIG_PM
> +static void z2_power_off(void)
> +{
> +       /* We're using deep sleep as poweroff, so clear PSPR to ensure that
> +        * bootloader will jump to its entry point in resume handler
> +        */
> +       PSPR = 0x0;
> +       local_irq_disable();
> +       pxa27x_cpu_suspend(PWRMODE_DEEPSLEEP, PLAT_PHYS_OFFSET - PAGE_OFFSET);
> +}
> +#else
> +#define z2_power_off   NULL
> +#endif
> +
>  /******************************************************************************
>  * Machine init
>  ******************************************************************************/
> @@ -698,6 +713,8 @@ static void __init z2_init(void)
>        z2_leds_init();
>        z2_keys_init();
>        z2_pmic_init();
> +
> +       pm_power_off = z2_power_off;
>  }
>
>  MACHINE_START(ZIPIT2, "Zipit Z2")
> --
> 1.7.4.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>



More information about the linux-arm-kernel mailing list