diff options
Diffstat (limited to 'drivers/acpi/acpica/utxface.c')
-rw-r--r-- | drivers/acpi/acpica/utxface.c | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/drivers/acpi/acpica/utxface.c b/drivers/acpi/acpica/utxface.c index 420ebfe08c72..644e8c8ebc4b 100644 --- a/drivers/acpi/acpica/utxface.c +++ b/drivers/acpi/acpica/utxface.c | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2011, Intel Corp. | 8 | * Copyright (C) 2000 - 2012, Intel Corp. |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -48,6 +48,7 @@ | |||
48 | #include "acnamesp.h" | 48 | #include "acnamesp.h" |
49 | #include "acdebug.h" | 49 | #include "acdebug.h" |
50 | #include "actables.h" | 50 | #include "actables.h" |
51 | #include "acinterp.h" | ||
51 | 52 | ||
52 | #define _COMPONENT ACPI_UTILITIES | 53 | #define _COMPONENT ACPI_UTILITIES |
53 | ACPI_MODULE_NAME("utxface") | 54 | ACPI_MODULE_NAME("utxface") |
@@ -640,4 +641,41 @@ acpi_status acpi_install_interface_handler(acpi_interface_handler handler) | |||
640 | } | 641 | } |
641 | 642 | ||
642 | ACPI_EXPORT_SYMBOL(acpi_install_interface_handler) | 643 | ACPI_EXPORT_SYMBOL(acpi_install_interface_handler) |
644 | |||
645 | /***************************************************************************** | ||
646 | * | ||
647 | * FUNCTION: acpi_check_address_range | ||
648 | * | ||
649 | * PARAMETERS: space_id - Address space ID | ||
650 | * Address - Start address | ||
651 | * Length - Length | ||
652 | * Warn - TRUE if warning on overlap desired | ||
653 | * | ||
654 | * RETURN: Count of the number of conflicts detected. | ||
655 | * | ||
656 | * DESCRIPTION: Check if the input address range overlaps any of the | ||
657 | * ASL operation region address ranges. | ||
658 | * | ||
659 | ****************************************************************************/ | ||
660 | u32 | ||
661 | acpi_check_address_range(acpi_adr_space_type space_id, | ||
662 | acpi_physical_address address, | ||
663 | acpi_size length, u8 warn) | ||
664 | { | ||
665 | u32 overlaps; | ||
666 | acpi_status status; | ||
667 | |||
668 | status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE); | ||
669 | if (ACPI_FAILURE(status)) { | ||
670 | return (0); | ||
671 | } | ||
672 | |||
673 | overlaps = acpi_ut_check_address_range(space_id, address, | ||
674 | (u32)length, warn); | ||
675 | |||
676 | (void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE); | ||
677 | return (overlaps); | ||
678 | } | ||
679 | |||
680 | ACPI_EXPORT_SYMBOL(acpi_check_address_range) | ||
643 | #endif /* !ACPI_ASL_COMPILER */ | 681 | #endif /* !ACPI_ASL_COMPILER */ |