linux/arch/arm/mach-s3c/pm-common.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/*
   3 * Copyright (C) 2013 Samsung Electronics Co., Ltd.
   4 *      Tomasz Figa <t.figa@samsung.com>
   5 * Copyright (c) 2004 Simtec Electronics
   6 *      http://armlinux.simtec.co.uk/
   7 *      Written by Ben Dooks, <ben@simtec.co.uk>
   8 */
   9
  10#ifndef __PLAT_SAMSUNG_PM_COMMON_H
  11#define __PLAT_SAMSUNG_PM_COMMON_H __FILE__
  12
  13#include <linux/irq.h>
  14#include <linux/soc/samsung/s3c-pm.h>
  15
  16/* sleep save info */
  17
  18/**
  19 * struct sleep_save - save information for shared peripherals.
  20 * @reg: Pointer to the register to save.
  21 * @val: Holder for the value saved from reg.
  22 *
  23 * This describes a list of registers which is used by the pm core and
  24 * other subsystem to save and restore register values over suspend.
  25 */
  26struct sleep_save {
  27        void __iomem    *reg;
  28        unsigned long   val;
  29};
  30
  31#define SAVE_ITEM(x) \
  32        { .reg = (x) }
  33
  34/* helper functions to save/restore lists of registers. */
  35
  36extern void s3c_pm_do_save(struct sleep_save *ptr, int count);
  37extern void s3c_pm_do_restore(const struct sleep_save *ptr, int count);
  38extern void s3c_pm_do_restore_core(const struct sleep_save *ptr, int count);
  39
  40#endif
  41