Blame view

include/acpi/acpi_drivers.h 5.36 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
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
27
28
29
30
  /*
   *  acpi_drivers.h  ($Revision: 31 $)
   *
   *  Copyright (C) 2001, 2002 Andy Grover <andrew.grover@intel.com>
   *  Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com>
   *
   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   *
   *  This program is free software; you can redistribute it and/or modify
   *  it under the terms of the GNU General Public License as published by
   *  the Free Software Foundation; either version 2 of the License, or (at
   *  your option) any later version.
   *
   *  This program is distributed in the hope that it will be useful, but
   *  WITHOUT ANY WARRANTY; without even the implied warranty of
   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   *  General Public License for more details.
   *
   *  You should have received a copy of the GNU General Public License along
   *  with this program; if not, write to the Free Software Foundation, Inc.,
   *  59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
   *
   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   */
  
  #ifndef __ACPI_DRIVERS_H__
  #define __ACPI_DRIVERS_H__
  
  #include <linux/acpi.h>
  #include <acpi/acpi_bus.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
31
  #define ACPI_MAX_STRING			80
bdd727991   Bjorn Helgaas   ACPI: add driver ...
32
33
34
35
  /*
   * Please update drivers/acpi/debug.c and Documentation/acpi/debug.txt
   * if you add to this list.
   */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
36
  #define ACPI_BUS_COMPONENT		0x00010000
89595b8f2   Bjorn Helgaas   ACPI: consolidate...
37
38
39
  #define ACPI_AC_COMPONENT		0x00020000
  #define ACPI_BATTERY_COMPONENT		0x00040000
  #define ACPI_BUTTON_COMPONENT		0x00080000
44342f9e8   Bjorn Helgaas   ACPI: fix conflic...
40
  #define ACPI_SBS_COMPONENT		0x00100000
89595b8f2   Bjorn Helgaas   ACPI: consolidate...
41
42
43
44
  #define ACPI_FAN_COMPONENT		0x00200000
  #define ACPI_PCI_COMPONENT		0x00400000
  #define ACPI_POWER_COMPONENT		0x00800000
  #define ACPI_CONTAINER_COMPONENT	0x01000000
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
45
  #define ACPI_SYSTEM_COMPONENT		0x02000000
89595b8f2   Bjorn Helgaas   ACPI: consolidate...
46
47
  #define ACPI_THERMAL_COMPONENT		0x04000000
  #define ACPI_MEMORY_DEVICE_COMPONENT	0x08000000
44342f9e8   Bjorn Helgaas   ACPI: fix conflic...
48
49
  #define ACPI_VIDEO_COMPONENT		0x10000000
  #define ACPI_PROCESSOR_COMPONENT	0x20000000
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
50

8c8eb78f6   Thomas Renninger   ACPI: autoload mo...
51
52
53
54
55
  /*
   * _HID definitions
   * HIDs must conform to ACPI spec(6.1.4)
   * Linux specific HIDs do not apply to this and begin with LNX:
   */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
56

8c8eb78f6   Thomas Renninger   ACPI: autoload mo...
57
  #define ACPI_POWER_HID			"LNXPOWER"
ad93a765c   Myron Stowe   ACPI: Disambiguat...
58
  #define ACPI_PROCESSOR_OBJECT_HID	"ACPI_CPU"
11bf04c44   Alexey Starikovskiy   ACPICA: Allow pro...
59
  #define ACPI_PROCESSOR_HID		"ACPI0007"
8c8eb78f6   Thomas Renninger   ACPI: autoload mo...
60
61
62
63
64
65
  #define ACPI_SYSTEM_HID			"LNXSYSTM"
  #define ACPI_THERMAL_HID		"LNXTHERM"
  #define ACPI_BUTTON_HID_POWERF		"LNXPWRBN"
  #define ACPI_BUTTON_HID_SLEEPF		"LNXSLPBN"
  #define ACPI_VIDEO_HID			"LNXVIDEO"
  #define ACPI_BAY_HID			"LNXIOBAY"
a340af14b   Frank Seidel   ACPI: Add autoloa...
66
  #define ACPI_DOCK_HID			"LNXDOCK"
8c8eb78f6   Thomas Renninger   ACPI: autoload mo...
67

46ec8598f   Bjorn Helgaas   ACPI: support acp...
68
69
70
71
72
73
74
75
76
  /*
   * For fixed hardware buttons, we fabricate acpi_devices with HID
   * ACPI_BUTTON_HID_POWERF or ACPI_BUTTON_HID_SLEEPF.  Fixed hardware
   * signals only an event; it doesn't supply a notification value.
   * To allow drivers to treat notifications from fixed hardware the
   * same as those from real devices, we turn the events into this
   * notification value.
   */
  #define ACPI_FIXED_HARDWARE_EVENT	0x100
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
77
78
79
  /* --------------------------------------------------------------------------
                                         PCI
     -------------------------------------------------------------------------- */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
80
81
  
  /* ACPI PCI Interrupt Link (pci_link.c) */
4be44fcd3   Len Brown   [ACPI] Lindent al...
82
  int acpi_irq_penalty_init(void);
50eca3eb8   Bob Moore   [ACPI] ACPICA 200...
83
84
  int acpi_pci_link_allocate_irq(acpi_handle handle, int index, int *triggering,
  			       int *polarity, char **name);
87bec66b9   David Shaohua Li   [ACPI] suspend/re...
85
  int acpi_pci_link_free_irq(acpi_handle handle);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
86
87
  
  /* ACPI PCI Interrupt Routing (pci_irq.c) */
4be44fcd3   Len Brown   [ACPI] Lindent al...
88
89
  int acpi_pci_irq_add_prt(acpi_handle handle, int segment, int bus);
  void acpi_pci_irq_del_prt(int segment, int bus);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
90
91
92
93
  
  /* ACPI PCI Device Binding (pci_bind.c) */
  
  struct pci_bus;
4be44fcd3   Len Brown   [ACPI] Lindent al...
94
95
  acpi_status acpi_get_pci_id(acpi_handle handle, struct acpi_pci_id *id);
  int acpi_pci_bind(struct acpi_device *device);
4be44fcd3   Len Brown   [ACPI] Lindent al...
96
97
  int acpi_pci_bind_root(struct acpi_device *device, struct acpi_pci_id *id,
  		       struct pci_bus *bus);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
98
99
  
  /* Arch-defined function to add a bus to the system */
4be44fcd3   Len Brown   [ACPI] Lindent al...
100
101
  struct pci_bus *pci_acpi_scan_root(struct acpi_device *device, int domain,
  				   int bus);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
102

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
103
  /* --------------------------------------------------------------------------
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
104
105
106
107
108
109
110
111
                                      Processor
     -------------------------------------------------------------------------- */
  
  #define ACPI_PROCESSOR_LIMIT_NONE	0x00
  #define ACPI_PROCESSOR_LIMIT_INCREMENT	0x01
  #define ACPI_PROCESSOR_LIMIT_DECREMENT	0x02
  
  int acpi_processor_set_thermal_limit(acpi_handle handle, int type);
c8f7a62cd   Len Brown   Revert "Revert "A...
112
113
114
  /*--------------------------------------------------------------------------
                                    Dock Station
    -------------------------------------------------------------------------- */
1253f7aab   Shaohua Li   dock: introduce ....
115
116
117
118
  struct acpi_dock_ops {
  	acpi_notify_handler handler;
  	acpi_notify_handler uevent;
  };
c8f7a62cd   Len Brown   Revert "Revert "A...
119
120
121
122
123
  #if defined(CONFIG_ACPI_DOCK) || defined(CONFIG_ACPI_DOCK_MODULE)
  extern int is_dock_device(acpi_handle handle);
  extern int register_dock_notifier(struct notifier_block *nb);
  extern void unregister_dock_notifier(struct notifier_block *nb);
  extern int register_hotplug_dock_device(acpi_handle handle,
1253f7aab   Shaohua Li   dock: introduce ....
124
  					struct acpi_dock_ops *ops,
fd3509436   Len Brown   ACPICA: Lindent
125
  					void *context);
c8f7a62cd   Len Brown   Revert "Revert "A...
126
127
  extern void unregister_hotplug_dock_device(acpi_handle handle);
  #else
d94d3dff0   Andrew Morton   ACPI: bay: fix bu...
128
129
130
131
132
133
134
135
136
137
138
139
  static inline int is_dock_device(acpi_handle handle)
  {
  	return 0;
  }
  static inline int register_dock_notifier(struct notifier_block *nb)
  {
  	return -ENODEV;
  }
  static inline void unregister_dock_notifier(struct notifier_block *nb)
  {
  }
  static inline int register_hotplug_dock_device(acpi_handle handle,
1253f7aab   Shaohua Li   dock: introduce ....
140
  					       struct acpi_dock_ops *ops,
fd3509436   Len Brown   ACPICA: Lindent
141
  					       void *context)
d94d3dff0   Andrew Morton   ACPI: bay: fix bu...
142
143
144
145
146
147
  {
  	return -ENODEV;
  }
  static inline void unregister_hotplug_dock_device(acpi_handle handle)
  {
  }
c8f7a62cd   Len Brown   Revert "Revert "A...
148
  #endif
aafbcd165   Alexey Starikovskiy   ACPI: invoke acpi...
149

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
150
  #endif /*__ACPI_DRIVERS_H__*/