linux/arch/arm/mach-shmobile/suspend.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2/*
   3 * Suspend-to-RAM support code for SH-Mobile ARM
   4 *
   5 *  Copyright (C) 2011 Magnus Damm
   6 */
   7
   8#include <linux/pm.h>
   9#include <linux/suspend.h>
  10#include <linux/module.h>
  11#include <linux/err.h>
  12#include <linux/cpu.h>
  13
  14#include <asm/io.h>
  15#include <asm/system_misc.h>
  16
  17#include "common.h"
  18
  19static int shmobile_suspend_default_enter(suspend_state_t suspend_state)
  20{
  21        cpu_do_idle();
  22        return 0;
  23}
  24
  25static int shmobile_suspend_begin(suspend_state_t state)
  26{
  27        cpu_idle_poll_ctrl(true);
  28        return 0;
  29}
  30
  31static void shmobile_suspend_end(void)
  32{
  33        cpu_idle_poll_ctrl(false);
  34}
  35
  36struct platform_suspend_ops shmobile_suspend_ops = {
  37        .begin          = shmobile_suspend_begin,
  38        .end            = shmobile_suspend_end,
  39        .enter          = shmobile_suspend_default_enter,
  40        .valid          = suspend_valid_only_mem,
  41};
  42
  43int __init shmobile_suspend_init(void)
  44{
  45        suspend_set_ops(&shmobile_suspend_ops);
  46        return 0;
  47}
  48