Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


6a5bdcefec6438ef81f6abcf5142cb843e035886
[palacios.git] / kitten / include / acpi / acpi_drivers.h
1 /*
2  *  acpi_drivers.h  ($Revision: 31 $)
3  *
4  *  Copyright (C) 2001, 2002 Andy Grover <andrew.grover@intel.com>
5  *  Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com>
6  *
7  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8  *
9  *  This program is free software; you can redistribute it and/or modify
10  *  it under the terms of the GNU General Public License as published by
11  *  the Free Software Foundation; either version 2 of the License, or (at
12  *  your option) any later version.
13  *
14  *  This program is distributed in the hope that it will be useful, but
15  *  WITHOUT ANY WARRANTY; without even the implied warranty of
16  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  *  General Public License for more details.
18  *
19  *  You should have received a copy of the GNU General Public License along
20  *  with this program; if not, write to the Free Software Foundation, Inc.,
21  *  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
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 #define ACPI_BUS_COMPONENT              0x00010000
35 #define ACPI_SYSTEM_COMPONENT           0x02000000
36
37 /* _HID definitions */
38
39 #define ACPI_POWER_HID                  "ACPI_PWR"
40 #define ACPI_PROCESSOR_HID              "ACPI_CPU"
41 #define ACPI_SYSTEM_HID                 "ACPI_SYS"
42 #define ACPI_THERMAL_HID                "ACPI_THM"
43 #define ACPI_BUTTON_HID_POWERF          "ACPI_FPB"
44 #define ACPI_BUTTON_HID_SLEEPF          "ACPI_FSB"
45
46 /* --------------------------------------------------------------------------
47                                        PCI
48    -------------------------------------------------------------------------- */
49
50 #define ACPI_PCI_COMPONENT              0x00400000
51
52 /* ACPI PCI Interrupt Link (pci_link.c) */
53
54 int acpi_irq_penalty_init(void);
55 int acpi_pci_link_allocate_irq(acpi_handle handle, int index, int *triggering,
56                                int *polarity, char **name);
57 int acpi_pci_link_free_irq(acpi_handle handle);
58
59 /* ACPI PCI Interrupt Routing (pci_irq.c) */
60
61 int acpi_pci_irq_add_prt(acpi_handle handle, int segment, int bus);
62 void acpi_pci_irq_del_prt(int segment, int bus);
63
64 /* ACPI PCI Device Binding (pci_bind.c) */
65
66 struct pci_bus;
67
68 acpi_status acpi_get_pci_id(acpi_handle handle, struct acpi_pci_id *id);
69 int acpi_pci_bind(struct acpi_device *device);
70 int acpi_pci_unbind(struct acpi_device *device);
71 int acpi_pci_bind_root(struct acpi_device *device, struct acpi_pci_id *id,
72                        struct pci_bus *bus);
73
74 /* Arch-defined function to add a bus to the system */
75
76 struct pci_bus *pci_acpi_scan_root(struct acpi_device *device, int domain,
77                                    int bus);
78
79 /* --------------------------------------------------------------------------
80                                   Power Resource
81    -------------------------------------------------------------------------- */
82
83 #ifdef CONFIG_ACPI_POWER
84 int acpi_enable_wakeup_device_power(struct acpi_device *dev);
85 int acpi_disable_wakeup_device_power(struct acpi_device *dev);
86 int acpi_power_get_inferred_state(struct acpi_device *device);
87 int acpi_power_transition(struct acpi_device *device, int state);
88 #endif
89
90 /* --------------------------------------------------------------------------
91                                   Embedded Controller
92    -------------------------------------------------------------------------- */
93 #ifdef CONFIG_ACPI_EC
94 int acpi_ec_ecdt_probe(void);
95 #endif
96
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
105 int acpi_processor_set_thermal_limit(acpi_handle handle, int type);
106
107 /* --------------------------------------------------------------------------
108                                     Hot Keys
109    -------------------------------------------------------------------------- */
110
111 extern int acpi_specific_hotkey_enabled;
112
113 /*--------------------------------------------------------------------------
114                                   Dock Station
115   -------------------------------------------------------------------------- */
116 #if defined(CONFIG_ACPI_DOCK) || defined(CONFIG_ACPI_DOCK_MODULE)
117 extern int is_dock_device(acpi_handle handle);
118 extern int register_dock_notifier(struct notifier_block *nb);
119 extern void unregister_dock_notifier(struct notifier_block *nb);
120 extern int register_hotplug_dock_device(acpi_handle handle,
121         acpi_notify_handler handler, void *context);
122 extern void unregister_hotplug_dock_device(acpi_handle handle);
123 #else
124 #define is_dock_device(h)                       (0)
125 #define register_dock_notifier(nb)              (-ENODEV)
126 #define unregister_dock_notifier(nb)            do { } while(0)
127 #define register_hotplug_dock_device(h1, h2, c) (-ENODEV)
128 #define unregister_hotplug_dock_device(h)       do { } while(0)
129 #endif
130 #endif /*__ACPI_DRIVERS_H__*/