File tree Expand file tree Collapse file tree 4 files changed +21
-5
lines changed Expand file tree Collapse file tree 4 files changed +21
-5
lines changed Original file line number Diff line number Diff line change @@ -7,7 +7,6 @@ menuconfig ACPI
7
7
depends on !IA64_HP_SIM
8
8
depends on IA64 || X86
9
9
depends on PCI
10
- depends on PM
11
10
select PNP
12
11
default y
13
12
help
Original file line number Diff line number Diff line change 40
40
#include <acpi/acpi_bus.h>
41
41
#include <acpi/acpi_drivers.h>
42
42
#include <linux/dmi.h>
43
+ #include <linux/suspend.h>
43
44
44
45
#include "internal.h"
45
46
@@ -1025,13 +1026,13 @@ static int __init acpi_init(void)
1025
1026
1026
1027
if (!result ) {
1027
1028
pci_mmcfg_late_init ();
1028
- if (!(pm_flags & PM_APM ))
1029
- pm_flags |= PM_ACPI ;
1030
- else {
1029
+ if (pm_apm_enabled ()) {
1031
1030
printk (KERN_INFO PREFIX
1032
1031
"APM is already active, exiting\n" );
1033
1032
disable_acpi ();
1034
1033
result = - ENODEV ;
1034
+ } else {
1035
+ pm_set_acpi_flag ();
1035
1036
}
1036
1037
} else
1037
1038
disable_acpi ();
Original file line number Diff line number Diff line change @@ -272,6 +272,9 @@ extern int unregister_pm_notifier(struct notifier_block *nb);
272
272
register_pm_notifier(&fn##_nb); \
273
273
}
274
274
275
+ extern bool pm_apm_enabled (void );
276
+ extern void pm_set_acpi_flag (void );
277
+
275
278
/* drivers/base/power/wakeup.c */
276
279
extern bool events_check_enabled ;
277
280
@@ -292,6 +295,9 @@ static inline int unregister_pm_notifier(struct notifier_block *nb)
292
295
293
296
#define pm_notifier (fn , pri ) do { (void)(fn); } while (0)
294
297
298
+ static inline bool pm_apm_enabled (void ) { return false; }
299
+ static inline void pm_set_acpi_flag (void ) {}
300
+
295
301
static inline bool pm_wakeup_pending (void ) { return false; }
296
302
#endif /* !CONFIG_PM_SLEEP */
297
303
Original file line number Diff line number Diff line change 17
17
18
18
DEFINE_MUTEX (pm_mutex );
19
19
20
+ #ifdef CONFIG_PM_SLEEP
21
+
20
22
unsigned int pm_flags ;
21
23
EXPORT_SYMBOL (pm_flags );
22
24
23
- #ifdef CONFIG_PM_SLEEP
25
+ bool pm_apm_enabled (void )
26
+ {
27
+ return !!(pm_flags & PM_APM );
28
+ }
29
+
30
+ void pm_set_acpi_flag (void )
31
+ {
32
+ pm_flags |= PM_ACPI ;
33
+ }
24
34
25
35
/* Routines for PM-transition notifications */
26
36
You can’t perform that action at this time.
0 commit comments