Linux Audio

Check our new training course

Loading...
v6.13.7
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/*
 3 * Copyright (c) 2004 Simtec Electronics
 4 *	http://armlinux.simtec.co.uk/
 5 *	Written by Ben Dooks, <ben@simtec.co.uk>
 6 */
 7
 8/* s3c_pm_init
 9 *
10 * called from board at initialisation time to setup the power
11 * management
12*/
13
14#include "pm-common.h"
15
16struct device;
17
18#ifdef CONFIG_SAMSUNG_PM
19
20extern __init int s3c_pm_init(void);
21extern __init int s3c64xx_pm_init(void);
22
23#else
24
25static inline int s3c_pm_init(void)
26{
27	return 0;
28}
29
30static inline int s3c64xx_pm_init(void)
31{
32	return 0;
33}
34#endif
35
36/* configuration for the IRQ mask over sleep */
37extern unsigned long s3c_irqwake_intmask;
38extern unsigned long s3c_irqwake_eintmask;
39
40/* per-cpu sleep functions */
41
42extern void (*pm_cpu_prep)(void);
43extern int (*pm_cpu_sleep)(unsigned long);
44
45/* Flags for PM Control */
46
47extern unsigned long s3c_pm_flags;
48
49/* from sleep.S */
50
 
 
51#ifdef CONFIG_PM_SLEEP
52extern int s3c_irq_wake(struct irq_data *data, unsigned int state);
53extern void s3c_cpu_resume(void);
54#else
55#define s3c_irq_wake NULL
56#define s3c_cpu_resume NULL
57#endif
58
59#ifdef CONFIG_SAMSUNG_PM
60extern int s3c_irqext_wake(struct irq_data *data, unsigned int state);
61#else
62#define s3c_irqext_wake NULL
63#endif
 
 
 
 
 
 
 
 
 
 
 
 
64
65/**
66 * s3c_pm_configure_extint() - ensure pins are correctly set for IRQ
67 *
68 * Setup all the necessary GPIO pins for waking the system on external
69 * interrupt.
70 */
71extern void s3c_pm_configure_extint(void);
72
73#ifdef CONFIG_GPIO_SAMSUNG
74/**
75 * samsung_pm_restore_gpios() - restore the state of the gpios after sleep.
76 *
77 * Restore the state of the GPIO pins after sleep, which may involve ensuring
78 * that we do not glitch the state of the pins from that the bootloader's
79 * resume code has done.
80*/
81extern void samsung_pm_restore_gpios(void);
82
83/**
84 * samsung_pm_save_gpios() - save the state of the GPIOs for restoring after sleep.
85 *
86 * Save the GPIO states for resotration on resume. See samsung_pm_restore_gpios().
87 */
88extern void samsung_pm_save_gpios(void);
89#else
90static inline void samsung_pm_restore_gpios(void) {}
91static inline void samsung_pm_save_gpios(void) {}
92#endif
93
94extern void s3c_pm_save_core(void);
95extern void s3c_pm_restore_core(void);
v6.2
  1/* SPDX-License-Identifier: GPL-2.0 */
  2/*
  3 * Copyright (c) 2004 Simtec Electronics
  4 *	http://armlinux.simtec.co.uk/
  5 *	Written by Ben Dooks, <ben@simtec.co.uk>
  6 */
  7
  8/* s3c_pm_init
  9 *
 10 * called from board at initialisation time to setup the power
 11 * management
 12*/
 13
 14#include "pm-common.h"
 15
 16struct device;
 17
 18#ifdef CONFIG_SAMSUNG_PM
 19
 20extern __init int s3c_pm_init(void);
 21extern __init int s3c64xx_pm_init(void);
 22
 23#else
 24
 25static inline int s3c_pm_init(void)
 26{
 27	return 0;
 28}
 29
 30static inline int s3c64xx_pm_init(void)
 31{
 32	return 0;
 33}
 34#endif
 35
 36/* configuration for the IRQ mask over sleep */
 37extern unsigned long s3c_irqwake_intmask;
 38extern unsigned long s3c_irqwake_eintmask;
 39
 40/* per-cpu sleep functions */
 41
 42extern void (*pm_cpu_prep)(void);
 43extern int (*pm_cpu_sleep)(unsigned long);
 44
 45/* Flags for PM Control */
 46
 47extern unsigned long s3c_pm_flags;
 48
 49/* from sleep.S */
 50
 51extern int s3c2410_cpu_suspend(unsigned long);
 52
 53#ifdef CONFIG_PM_SLEEP
 54extern int s3c_irq_wake(struct irq_data *data, unsigned int state);
 55extern void s3c_cpu_resume(void);
 56#else
 57#define s3c_irq_wake NULL
 58#define s3c_cpu_resume NULL
 59#endif
 60
 61#ifdef CONFIG_SAMSUNG_PM
 62extern int s3c_irqext_wake(struct irq_data *data, unsigned int state);
 63#else
 64#define s3c_irqext_wake NULL
 65#endif
 66
 67#ifdef CONFIG_S3C_PM_DEBUG_LED_SMDK
 68/**
 69 * s3c_pm_debug_smdkled() - Debug PM suspend/resume via SMDK Board LEDs
 70 * @set: set bits for the state of the LEDs
 71 * @clear: clear bits for the state of the LEDs.
 72 */
 73extern void s3c_pm_debug_smdkled(u32 set, u32 clear);
 74
 75#else
 76static inline void s3c_pm_debug_smdkled(u32 set, u32 clear) { }
 77#endif /* CONFIG_S3C_PM_DEBUG_LED_SMDK */
 78
 79/**
 80 * s3c_pm_configure_extint() - ensure pins are correctly set for IRQ
 81 *
 82 * Setup all the necessary GPIO pins for waking the system on external
 83 * interrupt.
 84 */
 85extern void s3c_pm_configure_extint(void);
 86
 87#ifdef CONFIG_GPIO_SAMSUNG
 88/**
 89 * samsung_pm_restore_gpios() - restore the state of the gpios after sleep.
 90 *
 91 * Restore the state of the GPIO pins after sleep, which may involve ensuring
 92 * that we do not glitch the state of the pins from that the bootloader's
 93 * resume code has done.
 94*/
 95extern void samsung_pm_restore_gpios(void);
 96
 97/**
 98 * samsung_pm_save_gpios() - save the state of the GPIOs for restoring after sleep.
 99 *
100 * Save the GPIO states for resotration on resume. See samsung_pm_restore_gpios().
101 */
102extern void samsung_pm_save_gpios(void);
103#else
104static inline void samsung_pm_restore_gpios(void) {}
105static inline void samsung_pm_save_gpios(void) {}
106#endif
107
108extern void s3c_pm_save_core(void);
109extern void s3c_pm_restore_core(void);