diff options
Diffstat (limited to 'include/linux/acpi.h')
-rw-r--r-- | include/linux/acpi.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index dfcd920c3e54..ce945d4845fc 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
@@ -240,7 +240,7 @@ extern int pnpacpi_disabled; | |||
240 | #define PXM_INVAL (-1) | 240 | #define PXM_INVAL (-1) |
241 | #define NID_INVAL (-1) | 241 | #define NID_INVAL (-1) |
242 | 242 | ||
243 | int acpi_check_resource_conflict(struct resource *res); | 243 | int acpi_check_resource_conflict(const struct resource *res); |
244 | 244 | ||
245 | int acpi_check_region(resource_size_t start, resource_size_t n, | 245 | int acpi_check_region(resource_size_t start, resource_size_t n, |
246 | const char *name); | 246 | const char *name); |
@@ -253,10 +253,16 @@ void __init acpi_old_suspend_ordering(void); | |||
253 | void __init acpi_s4_no_nvs(void); | 253 | void __init acpi_s4_no_nvs(void); |
254 | #endif /* CONFIG_PM_SLEEP */ | 254 | #endif /* CONFIG_PM_SLEEP */ |
255 | 255 | ||
256 | struct acpi_osc_context { | ||
257 | char *uuid_str; /* uuid string */ | ||
258 | int rev; | ||
259 | struct acpi_buffer cap; /* arg2/arg3 */ | ||
260 | struct acpi_buffer ret; /* free by caller if success */ | ||
261 | }; | ||
262 | |||
256 | #define OSC_QUERY_TYPE 0 | 263 | #define OSC_QUERY_TYPE 0 |
257 | #define OSC_SUPPORT_TYPE 1 | 264 | #define OSC_SUPPORT_TYPE 1 |
258 | #define OSC_CONTROL_TYPE 2 | 265 | #define OSC_CONTROL_TYPE 2 |
259 | #define OSC_SUPPORT_MASKS 0x1f | ||
260 | 266 | ||
261 | /* _OSC DW0 Definition */ | 267 | /* _OSC DW0 Definition */ |
262 | #define OSC_QUERY_ENABLE 1 | 268 | #define OSC_QUERY_ENABLE 1 |
@@ -265,12 +271,23 @@ void __init acpi_s4_no_nvs(void); | |||
265 | #define OSC_INVALID_REVISION_ERROR 8 | 271 | #define OSC_INVALID_REVISION_ERROR 8 |
266 | #define OSC_CAPABILITIES_MASK_ERROR 16 | 272 | #define OSC_CAPABILITIES_MASK_ERROR 16 |
267 | 273 | ||
274 | acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context); | ||
275 | |||
276 | /* platform-wide _OSC bits */ | ||
277 | #define OSC_SB_PAD_SUPPORT 1 | ||
278 | #define OSC_SB_PPC_OST_SUPPORT 2 | ||
279 | #define OSC_SB_PR3_SUPPORT 4 | ||
280 | #define OSC_SB_CPUHP_OST_SUPPORT 8 | ||
281 | #define OSC_SB_APEI_SUPPORT 16 | ||
282 | |||
283 | /* PCI defined _OSC bits */ | ||
268 | /* _OSC DW1 Definition (OS Support Fields) */ | 284 | /* _OSC DW1 Definition (OS Support Fields) */ |
269 | #define OSC_EXT_PCI_CONFIG_SUPPORT 1 | 285 | #define OSC_EXT_PCI_CONFIG_SUPPORT 1 |
270 | #define OSC_ACTIVE_STATE_PWR_SUPPORT 2 | 286 | #define OSC_ACTIVE_STATE_PWR_SUPPORT 2 |
271 | #define OSC_CLOCK_PWR_CAPABILITY_SUPPORT 4 | 287 | #define OSC_CLOCK_PWR_CAPABILITY_SUPPORT 4 |
272 | #define OSC_PCI_SEGMENT_GROUPS_SUPPORT 8 | 288 | #define OSC_PCI_SEGMENT_GROUPS_SUPPORT 8 |
273 | #define OSC_MSI_SUPPORT 16 | 289 | #define OSC_MSI_SUPPORT 16 |
290 | #define OSC_PCI_SUPPORT_MASKS 0x1f | ||
274 | 291 | ||
275 | /* _OSC DW1 Definition (OS Control Fields) */ | 292 | /* _OSC DW1 Definition (OS Control Fields) */ |
276 | #define OSC_PCI_EXPRESS_NATIVE_HP_CONTROL 1 | 293 | #define OSC_PCI_EXPRESS_NATIVE_HP_CONTROL 1 |
@@ -279,7 +296,7 @@ void __init acpi_s4_no_nvs(void); | |||
279 | #define OSC_PCI_EXPRESS_AER_CONTROL 8 | 296 | #define OSC_PCI_EXPRESS_AER_CONTROL 8 |
280 | #define OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL 16 | 297 | #define OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL 16 |
281 | 298 | ||
282 | #define OSC_CONTROL_MASKS (OSC_PCI_EXPRESS_NATIVE_HP_CONTROL | \ | 299 | #define OSC_PCI_CONTROL_MASKS (OSC_PCI_EXPRESS_NATIVE_HP_CONTROL | \ |
283 | OSC_SHPC_NATIVE_HP_CONTROL | \ | 300 | OSC_SHPC_NATIVE_HP_CONTROL | \ |
284 | OSC_PCI_EXPRESS_PME_CONTROL | \ | 301 | OSC_PCI_EXPRESS_PME_CONTROL | \ |
285 | OSC_PCI_EXPRESS_AER_CONTROL | \ | 302 | OSC_PCI_EXPRESS_AER_CONTROL | \ |