Viewing file: s3c-pm.h (2.47 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (C) 2013 Samsung Electronics Co., Ltd. * Tomasz Figa <t.figa@samsung.com> * Copyright (c) 2004 Simtec Electronics * http://armlinux.simtec.co.uk/ * Written by Ben Dooks, <ben@simtec.co.uk> */
#ifndef __LINUX_SOC_SAMSUNG_S3C_PM_H #define __LINUX_SOC_SAMSUNG_S3C_PM_H __FILE__
#include <linux/types.h>
/* PM debug functions */
/** * struct pm_uart_save - save block for core UART * @ulcon: Save value for S3C2410_ULCON * @ucon: Save value for S3C2410_UCON * @ufcon: Save value for S3C2410_UFCON * @umcon: Save value for S3C2410_UMCON * @ubrdiv: Save value for S3C2410_UBRDIV * * Save block for UART registers to be held over sleep and restored if they * are needed (say by debug). */ struct pm_uart_save { u32 ulcon; u32 ucon; u32 ufcon; u32 umcon; u32 ubrdiv; u32 udivslot; };
#ifdef CONFIG_SAMSUNG_PM_DEBUG /** * s3c_pm_dbg() - low level debug function for use in suspend/resume. * @msg: The message to print. * * This function is used mainly to debug the resume process before the system * can rely on printk/console output. It uses the low-level debugging output * routine printascii() to do its work. */ extern void s3c_pm_dbg(const char *msg, ...);
#define S3C_PMDBG(fmt...) s3c_pm_dbg(fmt)
extern void s3c_pm_save_uarts(bool is_s3c24xx); extern void s3c_pm_restore_uarts(bool is_s3c24xx);
#ifdef CONFIG_ARCH_S3C64XX extern void s3c_pm_arch_update_uart(void __iomem *regs, struct pm_uart_save *save); #else static inline void s3c_pm_arch_update_uart(void __iomem *regs, struct pm_uart_save *save) { } #endif
#else #define S3C_PMDBG(fmt...) pr_debug(fmt)
static inline void s3c_pm_save_uarts(bool is_s3c24xx) { } static inline void s3c_pm_restore_uarts(bool is_s3c24xx) { } #endif
/* suspend memory checking */
#ifdef CONFIG_SAMSUNG_PM_CHECK extern void s3c_pm_check_prepare(void); extern void s3c_pm_check_restore(void); extern void s3c_pm_check_cleanup(void); extern void s3c_pm_check_store(void); #else #define s3c_pm_check_prepare() do { } while (0) #define s3c_pm_check_restore() do { } while (0) #define s3c_pm_check_cleanup() do { } while (0) #define s3c_pm_check_store() do { } while (0) #endif
/* system device subsystems */
extern struct bus_type s3c2410_subsys; extern struct bus_type s3c2410a_subsys; extern struct bus_type s3c2412_subsys; extern struct bus_type s3c2416_subsys; extern struct bus_type s3c2440_subsys; extern struct bus_type s3c2442_subsys; extern struct bus_type s3c2443_subsys;
#endif
|