1 // Copyright 2017 The Fuchsia Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #pragma once 6 7 #include <acpica/acpi.h> 8 acpi_to_zx_status(ACPI_STATUS acpi_status)9static inline zx_status_t acpi_to_zx_status(ACPI_STATUS acpi_status) { 10 switch (acpi_status) { 11 case AE_ERROR: 12 case AE_NO_ACPI_TABLES: 13 return ZX_ERR_INTERNAL; 14 case AE_NO_NAMESPACE: 15 return ZX_ERR_NOT_FOUND; 16 case AE_NO_MEMORY: 17 return ZX_ERR_NO_MEMORY; 18 case AE_NOT_EXIST: 19 return ZX_ERR_NOT_FOUND; 20 case AE_ALREADY_EXISTS: 21 return ZX_ERR_ALREADY_EXISTS; 22 case AE_TYPE: 23 return ZX_ERR_WRONG_TYPE; 24 case AE_NULL_OBJECT: 25 case AE_NULL_ENTRY: 26 return ZX_ERR_NOT_FOUND; 27 case AE_BUFFER_OVERFLOW: 28 return ZX_ERR_BUFFER_TOO_SMALL; 29 case AE_STACK_OVERFLOW: 30 case AE_STACK_UNDERFLOW: 31 return ZX_ERR_INTERNAL; 32 case AE_NOT_IMPLEMENTED: 33 case AE_SUPPORT: 34 return ZX_ERR_NOT_SUPPORTED; 35 case AE_LIMIT: 36 return ZX_ERR_INTERNAL; 37 case AE_TIME: 38 return ZX_ERR_TIMED_OUT; 39 case AE_ACQUIRE_DEADLOCK: 40 case AE_RELEASE_DEADLOCK: 41 case AE_NOT_ACQUIRED: 42 case AE_ALREADY_ACQUIRED: 43 return ZX_ERR_INTERNAL; 44 case AE_NO_HARDWARE_RESPONSE: 45 return ZX_ERR_TIMED_OUT; 46 case AE_NO_GLOBAL_LOCK: 47 return ZX_ERR_INTERNAL; 48 case AE_ABORT_METHOD: 49 return ZX_ERR_INTERNAL; 50 case AE_SAME_HANDLER: 51 return ZX_ERR_ALREADY_EXISTS; 52 case AE_OWNER_ID_LIMIT: 53 return ZX_ERR_NO_RESOURCES; 54 case AE_NOT_CONFIGURED: 55 return ZX_ERR_NOT_FOUND; 56 case AE_ACCESS: 57 return ZX_ERR_ACCESS_DENIED; 58 case AE_IO_ERROR: 59 return ZX_ERR_IO; 60 case AE_OK: 61 return ZX_OK; 62 default: 63 return ZX_ERR_INTERNAL; 64 } 65 } 66