mirror of https://gitee.com/openkylin/linux.git
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:
parent
10b6575b5d
commit
35d7c1cfe5
|
@ -429,20 +429,12 @@ typedef unsigned long long acpi_integer;
|
||||||
|
|
||||||
/* Data manipulation */
|
/* Data manipulation */
|
||||||
|
|
||||||
#define ACPI_LOWORD(l) ((u16)(u32)(l))
|
#define ACPI_LOBYTE(integer) ((u8) (u16)(integer))
|
||||||
#define ACPI_HIWORD(l) ((u16)((((u32)(l)) >> 16) & 0xFFFF))
|
#define ACPI_HIBYTE(integer) ((u8) (((u16)(integer)) >> 8))
|
||||||
#define ACPI_LOBYTE(l) ((u8)(u16)(l))
|
#define ACPI_LOWORD(integer) ((u16) (u32)(integer))
|
||||||
#define ACPI_HIBYTE(l) ((u8)((((u16)(l)) >> 8) & 0xFF))
|
#define ACPI_HIWORD(integer) ((u16)(((u32)(integer)) >> 16))
|
||||||
|
#define ACPI_LODWORD(integer64) ((u32) (u64)(integer64))
|
||||||
/* Full 64-bit integer must be available on both 32-bit and 64-bit platforms */
|
#define ACPI_HIDWORD(integer64) ((u32)(((u64)(integer64)) >> 32))
|
||||||
|
|
||||||
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_SET_BIT(target,bit) ((target) |= (bit))
|
#define ACPI_SET_BIT(target,bit) ((target) |= (bit))
|
||||||
#define ACPI_CLEAR_BIT(target,bit) ((target) &= ~(bit))
|
#define ACPI_CLEAR_BIT(target,bit) ((target) &= ~(bit))
|
||||||
|
|
Loading…
Reference in New Issue