cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

suspend.c (897B)


      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}