]>
Commit | Line | Data |
---|---|---|
c942fddf | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
1da177e4 LT |
2 | /* |
3 | * acpi_drivers.h ($Revision: 31 $) | |
4 | * | |
5 | * Copyright (C) 2001, 2002 Andy Grover <andrew.grover@intel.com> | |
6 | * Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com> | |
1da177e4 LT |
7 | */ |
8 | ||
9 | #ifndef __ACPI_DRIVERS_H__ | |
10 | #define __ACPI_DRIVERS_H__ | |
11 | ||
1da177e4 LT |
12 | #define ACPI_MAX_STRING 80 |
13 | ||
bdd72799 BH |
14 | /* |
15 | * Please update drivers/acpi/debug.c and Documentation/acpi/debug.txt | |
16 | * if you add to this list. | |
17 | */ | |
1da177e4 | 18 | #define ACPI_BUS_COMPONENT 0x00010000 |
89595b8f BH |
19 | #define ACPI_AC_COMPONENT 0x00020000 |
20 | #define ACPI_BATTERY_COMPONENT 0x00040000 | |
21 | #define ACPI_BUTTON_COMPONENT 0x00080000 | |
44342f9e | 22 | #define ACPI_SBS_COMPONENT 0x00100000 |
89595b8f BH |
23 | #define ACPI_FAN_COMPONENT 0x00200000 |
24 | #define ACPI_PCI_COMPONENT 0x00400000 | |
25 | #define ACPI_POWER_COMPONENT 0x00800000 | |
26 | #define ACPI_CONTAINER_COMPONENT 0x01000000 | |
1da177e4 | 27 | #define ACPI_SYSTEM_COMPONENT 0x02000000 |
89595b8f BH |
28 | #define ACPI_THERMAL_COMPONENT 0x04000000 |
29 | #define ACPI_MEMORY_DEVICE_COMPONENT 0x08000000 | |
44342f9e BH |
30 | #define ACPI_VIDEO_COMPONENT 0x10000000 |
31 | #define ACPI_PROCESSOR_COMPONENT 0x20000000 | |
1da177e4 | 32 | |
8c8eb78f TR |
33 | /* |
34 | * _HID definitions | |
35 | * HIDs must conform to ACPI spec(6.1.4) | |
36 | * Linux specific HIDs do not apply to this and begin with LNX: | |
37 | */ | |
1da177e4 | 38 | |
8c8eb78f | 39 | #define ACPI_POWER_HID "LNXPOWER" |
b9417f84 | 40 | #define ACPI_PROCESSOR_OBJECT_HID "LNXCPU" |
8c8eb78f TR |
41 | #define ACPI_SYSTEM_HID "LNXSYSTM" |
42 | #define ACPI_THERMAL_HID "LNXTHERM" | |
43 | #define ACPI_BUTTON_HID_POWERF "LNXPWRBN" | |
44 | #define ACPI_BUTTON_HID_SLEEPF "LNXSLPBN" | |
45 | #define ACPI_VIDEO_HID "LNXVIDEO" | |
46 | #define ACPI_BAY_HID "LNXIOBAY" | |
a340af14 | 47 | #define ACPI_DOCK_HID "LNXDOCK" |
a64a62ce | 48 | #define ACPI_ECDT_HID "LNXEC" |
222e82ac DW |
49 | /* Quirk for broken IBM BIOSes */ |
50 | #define ACPI_SMBUS_IBM_HID "SMBUSIBM" | |
8c8eb78f | 51 | |
46ec8598 BH |
52 | /* |
53 | * For fixed hardware buttons, we fabricate acpi_devices with HID | |
54 | * ACPI_BUTTON_HID_POWERF or ACPI_BUTTON_HID_SLEEPF. Fixed hardware | |
55 | * signals only an event; it doesn't supply a notification value. | |
56 | * To allow drivers to treat notifications from fixed hardware the | |
57 | * same as those from real devices, we turn the events into this | |
58 | * notification value. | |
59 | */ | |
60 | #define ACPI_FIXED_HARDWARE_EVENT 0x100 | |
61 | ||
1da177e4 LT |
62 | /* -------------------------------------------------------------------------- |
63 | PCI | |
64 | -------------------------------------------------------------------------- */ | |
65 | ||
1da177e4 LT |
66 | |
67 | /* ACPI PCI Interrupt Link (pci_link.c) */ | |
68 | ||
4be44fcd | 69 | int acpi_irq_penalty_init(void); |
50eca3eb BM |
70 | int acpi_pci_link_allocate_irq(acpi_handle handle, int index, int *triggering, |
71 | int *polarity, char **name); | |
87bec66b | 72 | int acpi_pci_link_free_irq(acpi_handle handle); |
1da177e4 | 73 | |
1da177e4 LT |
74 | /* ACPI PCI Device Binding (pci_bind.c) */ |
75 | ||
76 | struct pci_bus; | |
77 | ||
5d32a665 | 78 | #ifdef CONFIG_PCI |
2f7bbceb | 79 | struct pci_dev *acpi_get_pci_dev(acpi_handle); |
5d32a665 SK |
80 | #else |
81 | static inline struct pci_dev *acpi_get_pci_dev(acpi_handle handle) | |
82 | { | |
83 | return NULL; | |
84 | } | |
85 | #endif | |
1da177e4 LT |
86 | |
87 | /* Arch-defined function to add a bus to the system */ | |
88 | ||
57283776 | 89 | struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root); |
6b90f55f HG |
90 | |
91 | #ifdef CONFIG_X86 | |
7bc5e3f2 | 92 | void pci_acpi_crs_quirks(void); |
6b90f55f HG |
93 | #else |
94 | static inline void pci_acpi_crs_quirks(void) { } | |
95 | #endif | |
1da177e4 | 96 | |
1da177e4 LT |
97 | /* -------------------------------------------------------------------------- |
98 | Processor | |
99 | -------------------------------------------------------------------------- */ | |
100 | ||
101 | #define ACPI_PROCESSOR_LIMIT_NONE 0x00 | |
102 | #define ACPI_PROCESSOR_LIMIT_INCREMENT 0x01 | |
103 | #define ACPI_PROCESSOR_LIMIT_DECREMENT 0x02 | |
104 | ||
c8f7a62c LB |
105 | /*-------------------------------------------------------------------------- |
106 | Dock Station | |
107 | -------------------------------------------------------------------------- */ | |
1253f7aa | 108 | |
e6c215f1 | 109 | #ifdef CONFIG_ACPI_DOCK |
3b52b21f | 110 | extern int is_dock_device(struct acpi_device *adev); |
c8f7a62c | 111 | #else |
3b52b21f | 112 | static inline int is_dock_device(struct acpi_device *adev) |
d94d3dff AM |
113 | { |
114 | return 0; | |
115 | } | |
e6c215f1 | 116 | #endif /* CONFIG_ACPI_DOCK */ |
aafbcd16 | 117 | |
1da177e4 | 118 | #endif /*__ACPI_DRIVERS_H__*/ |