ACPICA: Cleanup byte/word/dword extraction macros, fix possible warnings

Removed unnecessary masking. For the 64-bit macros, removed
the structure overlay. Fixes aliasing warnings seen with gcc 4+
compilers.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
Bob Moore 2009-04-22 12:41:27 +08:00 committed by Len Brown
parent 10b6575b5d
commit 35d7c1cfe5

View File

@ -429,20 +429,12 @@ typedef unsigned long long acpi_integer;
/* Data manipulation */
#define ACPI_LOWORD(l) ((u16)(u32)(l))
#define ACPI_HIWORD(l) ((u16)((((u32)(l)) >> 16) & 0xFFFF))
#define ACPI_LOBYTE(l) ((u8)(u16)(l))
#define ACPI_HIBYTE(l) ((u8)((((u16)(l)) >> 8) & 0xFF))
/* Full 64-bit integer must be available on both 32-bit and 64-bit platforms */
struct acpi_integer_overlay {
u32 lo_dword;
u32 hi_dword;
};
#define ACPI_LODWORD(integer) (ACPI_CAST_PTR (struct acpi_integer_overlay, &integer)->lo_dword)
#define ACPI_HIDWORD(integer) (ACPI_CAST_PTR (struct acpi_integer_overlay, &integer)->hi_dword)
#define ACPI_LOBYTE(integer) ((u8) (u16)(integer))
#define ACPI_HIBYTE(integer) ((u8) (((u16)(integer)) >> 8))
#define ACPI_LOWORD(integer) ((u16) (u32)(integer))
#define ACPI_HIWORD(integer) ((u16)(((u32)(integer)) >> 16))
#define ACPI_LODWORD(integer64) ((u32) (u64)(integer64))
#define ACPI_HIDWORD(integer64) ((u32)(((u64)(integer64)) >> 32))
#define ACPI_SET_BIT(target,bit) ((target) |= (bit))
#define ACPI_CLEAR_BIT(target,bit) ((target) &= ~(bit))