1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26#ifndef __ACPI_DRIVERS_H__
27#define __ACPI_DRIVERS_H__
28
29#include <linux/acpi.h>
30#include <acpi/acpi_bus.h>
31
32#define ACPI_MAX_STRING 80
33
34
35
36
37
38#define ACPI_BUS_COMPONENT 0x00010000
39#define ACPI_AC_COMPONENT 0x00020000
40#define ACPI_BATTERY_COMPONENT 0x00040000
41#define ACPI_BUTTON_COMPONENT 0x00080000
42#define ACPI_SBS_COMPONENT 0x00100000
43#define ACPI_FAN_COMPONENT 0x00200000
44#define ACPI_PCI_COMPONENT 0x00400000
45#define ACPI_POWER_COMPONENT 0x00800000
46#define ACPI_CONTAINER_COMPONENT 0x01000000
47#define ACPI_SYSTEM_COMPONENT 0x02000000
48#define ACPI_THERMAL_COMPONENT 0x04000000
49#define ACPI_MEMORY_DEVICE_COMPONENT 0x08000000
50#define ACPI_VIDEO_COMPONENT 0x10000000
51#define ACPI_PROCESSOR_COMPONENT 0x20000000
52
53
54
55
56
57
58
59#define ACPI_POWER_HID "LNXPOWER"
60#define ACPI_PROCESSOR_OBJECT_HID "LNXCPU"
61#define ACPI_SYSTEM_HID "LNXSYSTM"
62#define ACPI_THERMAL_HID "LNXTHERM"
63#define ACPI_BUTTON_HID_POWERF "LNXPWRBN"
64#define ACPI_BUTTON_HID_SLEEPF "LNXSLPBN"
65#define ACPI_VIDEO_HID "LNXVIDEO"
66#define ACPI_BAY_HID "LNXIOBAY"
67#define ACPI_DOCK_HID "LNXDOCK"
68
69#define ACPI_SMBUS_IBM_HID "SMBUSIBM"
70
71
72
73
74
75
76
77
78
79#define ACPI_FIXED_HARDWARE_EVENT 0x100
80
81
82
83
84
85
86
87
88int acpi_irq_penalty_init(void);
89int acpi_pci_link_allocate_irq(acpi_handle handle, int index, int *triggering,
90 int *polarity, char **name);
91int acpi_pci_link_free_irq(acpi_handle handle);
92
93
94
95struct pci_bus;
96
97struct pci_dev *acpi_get_pci_dev(acpi_handle);
98
99
100
101struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root);
102void pci_acpi_crs_quirks(void);
103
104
105
106
107
108#define ACPI_PROCESSOR_LIMIT_NONE 0x00
109#define ACPI_PROCESSOR_LIMIT_INCREMENT 0x01
110#define ACPI_PROCESSOR_LIMIT_DECREMENT 0x02
111
112
113
114
115struct acpi_dock_ops {
116 acpi_notify_handler fixup;
117 acpi_notify_handler handler;
118 acpi_notify_handler uevent;
119};
120
121#ifdef CONFIG_ACPI_DOCK
122extern int is_dock_device(acpi_handle handle);
123extern int register_hotplug_dock_device(acpi_handle handle,
124 const struct acpi_dock_ops *ops,
125 void *context,
126 void (*init)(void *),
127 void (*release)(void *));
128extern void unregister_hotplug_dock_device(acpi_handle handle);
129#else
130static inline int is_dock_device(acpi_handle handle)
131{
132 return 0;
133}
134static inline int register_hotplug_dock_device(acpi_handle handle,
135 const struct acpi_dock_ops *ops,
136 void *context,
137 void (*init)(void *),
138 void (*release)(void *))
139{
140 return -ENODEV;
141}
142static inline void unregister_hotplug_dock_device(acpi_handle handle)
143{
144}
145#endif
146
147#endif
148