Commit | Line | Data |
---|---|---|
c942fddf | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
1da177e4 LT |
2 | /* |
3 | * acpi_drivers.h ($Revision: 31 $) | |
4 | * | |
5 | * Copyright (C) 2001, 2002 Andy Grover <andrew.grover@intel.com> | |
6 | * Copyright (C) 2001, 2002 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com> | |
1da177e4 LT |
7 | */ |
8 | ||
9 | #ifndef __ACPI_DRIVERS_H__ | |
10 | #define __ACPI_DRIVERS_H__ | |
11 | ||
1da177e4 LT |
12 | #define ACPI_MAX_STRING 80 |
13 | ||
8c8eb78f TR |
14 | /* |
15 | * _HID definitions | |
16 | * HIDs must conform to ACPI spec(6.1.4) | |
17 | * Linux specific HIDs do not apply to this and begin with LNX: | |
18 | */ | |
1da177e4 | 19 | |
8c8eb78f | 20 | #define ACPI_POWER_HID "LNXPOWER" |
b9417f84 | 21 | #define ACPI_PROCESSOR_OBJECT_HID "LNXCPU" |
8c8eb78f TR |
22 | #define ACPI_SYSTEM_HID "LNXSYSTM" |
23 | #define ACPI_THERMAL_HID "LNXTHERM" | |
24 | #define ACPI_BUTTON_HID_POWERF "LNXPWRBN" | |
25 | #define ACPI_BUTTON_HID_SLEEPF "LNXSLPBN" | |
26 | #define ACPI_VIDEO_HID "LNXVIDEO" | |
27 | #define ACPI_BAY_HID "LNXIOBAY" | |
a340af14 | 28 | #define ACPI_DOCK_HID "LNXDOCK" |
a64a62ce | 29 | #define ACPI_ECDT_HID "LNXEC" |
222e82ac DW |
30 | /* Quirk for broken IBM BIOSes */ |
31 | #define ACPI_SMBUS_IBM_HID "SMBUSIBM" | |
8c8eb78f | 32 | |
46ec8598 BH |
33 | /* |
34 | * For fixed hardware buttons, we fabricate acpi_devices with HID | |
35 | * ACPI_BUTTON_HID_POWERF or ACPI_BUTTON_HID_SLEEPF. Fixed hardware | |
36 | * signals only an event; it doesn't supply a notification value. | |
37 | * To allow drivers to treat notifications from fixed hardware the | |
38 | * same as those from real devices, we turn the events into this | |
39 | * notification value. | |
40 | */ | |
41 | #define ACPI_FIXED_HARDWARE_EVENT 0x100 | |
42 | ||
1da177e4 LT |
43 | /* -------------------------------------------------------------------------- |
44 | PCI | |
45 | -------------------------------------------------------------------------- */ | |
46 | ||
1da177e4 | 47 | |
ec2a9cea | 48 | /* ACPI PCI Interrupt Link */ |
1da177e4 | 49 | |
4be44fcd | 50 | int acpi_irq_penalty_init(void); |
50eca3eb BM |
51 | int acpi_pci_link_allocate_irq(acpi_handle handle, int index, int *triggering, |
52 | int *polarity, char **name); | |
87bec66b | 53 | int acpi_pci_link_free_irq(acpi_handle handle); |
1da177e4 | 54 | |
ec2a9cea | 55 | /* ACPI PCI Device Binding */ |
1da177e4 LT |
56 | |
57 | struct pci_bus; | |
58 | ||
5d32a665 | 59 | #ifdef CONFIG_PCI |
2f7bbceb | 60 | struct pci_dev *acpi_get_pci_dev(acpi_handle); |
5d32a665 SK |
61 | #else |
62 | static inline struct pci_dev *acpi_get_pci_dev(acpi_handle handle) | |
63 | { | |
64 | return NULL; | |
65 | } | |
66 | #endif | |
1da177e4 LT |
67 | |
68 | /* Arch-defined function to add a bus to the system */ | |
69 | ||
57283776 | 70 | struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root); |
6b90f55f HG |
71 | |
72 | #ifdef CONFIG_X86 | |
7bc5e3f2 | 73 | void pci_acpi_crs_quirks(void); |
6b90f55f HG |
74 | #else |
75 | static inline void pci_acpi_crs_quirks(void) { } | |
76 | #endif | |
1da177e4 | 77 | |
c8f7a62c LB |
78 | /*-------------------------------------------------------------------------- |
79 | Dock Station | |
80 | -------------------------------------------------------------------------- */ | |
1253f7aa | 81 | |
e6c215f1 | 82 | #ifdef CONFIG_ACPI_DOCK |
3b52b21f | 83 | extern int is_dock_device(struct acpi_device *adev); |
c8f7a62c | 84 | #else |
3b52b21f | 85 | static inline int is_dock_device(struct acpi_device *adev) |
d94d3dff AM |
86 | { |
87 | return 0; | |
88 | } | |
e6c215f1 | 89 | #endif /* CONFIG_ACPI_DOCK */ |
aafbcd16 | 90 | |
1da177e4 | 91 | #endif /*__ACPI_DRIVERS_H__*/ |