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