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
70
71
72
73
74
75
76
77#define ACPI_FIXED_HARDWARE_EVENT 0x100
78
79
80
81
82
83
84
85
86int acpi_irq_penalty_init(void);
87int acpi_pci_link_allocate_irq(acpi_handle handle, int index, int *triggering,
88 int *polarity, char **name);
89int acpi_pci_link_free_irq(acpi_handle handle);
90
91
92
93int acpi_pci_irq_add_prt(acpi_handle handle, struct pci_bus *bus);
94void acpi_pci_irq_del_prt(struct pci_bus *bus);
95
96
97
98struct pci_bus;
99
100struct pci_dev *acpi_get_pci_dev(acpi_handle);
101int acpi_pci_bind_root(struct acpi_device *device);
102
103
104
105struct pci_bus *pci_acpi_scan_root(struct acpi_device *device, int domain,
106 int bus);
107
108
109
110
111
112#define ACPI_PROCESSOR_LIMIT_NONE 0x00
113#define ACPI_PROCESSOR_LIMIT_INCREMENT 0x01
114#define ACPI_PROCESSOR_LIMIT_DECREMENT 0x02
115
116int acpi_processor_set_thermal_limit(acpi_handle handle, int type);
117
118
119
120
121struct acpi_dock_ops {
122 acpi_notify_handler handler;
123 acpi_notify_handler uevent;
124};
125
126#if defined(CONFIG_ACPI_DOCK) || defined(CONFIG_ACPI_DOCK_MODULE)
127extern int is_dock_device(acpi_handle handle);
128extern int register_dock_notifier(struct notifier_block *nb);
129extern void unregister_dock_notifier(struct notifier_block *nb);
130extern int register_hotplug_dock_device(acpi_handle handle,
131 struct acpi_dock_ops *ops,
132 void *context);
133extern void unregister_hotplug_dock_device(acpi_handle handle);
134#else
135static inline int is_dock_device(acpi_handle handle)
136{
137 return 0;
138}
139static inline int register_dock_notifier(struct notifier_block *nb)
140{
141 return -ENODEV;
142}
143static inline void unregister_dock_notifier(struct notifier_block *nb)
144{
145}
146static inline int register_hotplug_dock_device(acpi_handle handle,
147 struct acpi_dock_ops *ops,
148 void *context)
149{
150 return -ENODEV;
151}
152static inline void unregister_hotplug_dock_device(acpi_handle handle)
153{
154}
155#endif
156
157#endif
158