Blame view

kernel/linux-rt-4.4.41/include/acpi/acpi_drivers.h 4.05 KB
5113f6f70   김현기   kernel add
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
  /*
   *  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.
   *
   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   */
  
  #ifndef __ACPI_DRIVERS_H__
  #define __ACPI_DRIVERS_H__
  
  #define ACPI_MAX_STRING			80
  
  /*
   * Please update drivers/acpi/debug.c and Documentation/acpi/debug.txt
   * if you add to this list.
   */
  #define ACPI_BUS_COMPONENT		0x00010000
  #define ACPI_AC_COMPONENT		0x00020000
  #define ACPI_BATTERY_COMPONENT		0x00040000
  #define ACPI_BUTTON_COMPONENT		0x00080000
  #define ACPI_SBS_COMPONENT		0x00100000
  #define ACPI_FAN_COMPONENT		0x00200000
  #define ACPI_PCI_COMPONENT		0x00400000
  #define ACPI_POWER_COMPONENT		0x00800000
  #define ACPI_CONTAINER_COMPONENT	0x01000000
  #define ACPI_SYSTEM_COMPONENT		0x02000000
  #define ACPI_THERMAL_COMPONENT		0x04000000
  #define ACPI_MEMORY_DEVICE_COMPONENT	0x08000000
  #define ACPI_VIDEO_COMPONENT		0x10000000
  #define ACPI_PROCESSOR_COMPONENT	0x20000000
  
  /*
   * _HID definitions
   * HIDs must conform to ACPI spec(6.1.4)
   * Linux specific HIDs do not apply to this and begin with LNX:
   */
  
  #define ACPI_POWER_HID			"LNXPOWER"
  #define ACPI_PROCESSOR_OBJECT_HID	"LNXCPU"
  #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"
  #define ACPI_DOCK_HID			"LNXDOCK"
  /* Quirk for broken IBM BIOSes */
  #define ACPI_SMBUS_IBM_HID		"SMBUSIBM"
  
  /*
   * 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
  
  /* --------------------------------------------------------------------------
                                         PCI
     -------------------------------------------------------------------------- */
  
  
  /* ACPI PCI Interrupt Link (pci_link.c) */
  
  int acpi_irq_penalty_init(void);
  int acpi_pci_link_allocate_irq(acpi_handle handle, int index, int *triggering,
  			       int *polarity, char **name);
  int acpi_pci_link_free_irq(acpi_handle handle);
  
  /* ACPI PCI Device Binding (pci_bind.c) */
  
  struct pci_bus;
  
  struct pci_dev *acpi_get_pci_dev(acpi_handle);
  
  /* Arch-defined function to add a bus to the system */
  
  struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root);
  
  #ifdef CONFIG_X86
  void pci_acpi_crs_quirks(void);
  #else
  static inline void pci_acpi_crs_quirks(void) { }
  #endif
  
  /* --------------------------------------------------------------------------
                                      Processor
     -------------------------------------------------------------------------- */
  
  #define ACPI_PROCESSOR_LIMIT_NONE	0x00
  #define ACPI_PROCESSOR_LIMIT_INCREMENT	0x01
  #define ACPI_PROCESSOR_LIMIT_DECREMENT	0x02
  
  /*--------------------------------------------------------------------------
                                    Dock Station
    -------------------------------------------------------------------------- */
  
  #ifdef CONFIG_ACPI_DOCK
  extern int is_dock_device(struct acpi_device *adev);
  #else
  static inline int is_dock_device(struct acpi_device *adev)
  {
  	return 0;
  }
  #endif /* CONFIG_ACPI_DOCK */
  
  #endif /*__ACPI_DRIVERS_H__*/