pm-common.h (1105B)
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