hc
2023-11-22 f743a7adbd6e230d66a6206fa115b59fec2d88eb
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
124
/*
 *  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"
#define ACPI_ECDT_HID            "LNXEC"
/* 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__*/