Utilities: Fix missing parentheses in ACPI_GET_BITS()/ACPI_SET_BITS()
authorLv Zheng <lv.zheng@intel.com>
Thu, 24 Mar 2016 01:41:02 +0000 (09:41 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 5 Apr 2016 01:53:33 +0000 (03:53 +0200)
Some compilers require parentheses to be enforced in the macro definition,
so that the macro caller side can be simpler.

This patch fixes this kind of macro issue in
ACPI_SET_BITS()/ACPI_GET_BITS(). Lv Zheng.

Link: https://bugs.acpica.org/show_bug.cgi?id=1268
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/acmacros.h

index b461f5568e8c4673fcf02a322d2250fd2542cbbf..73f6653c848d6895c07b7edc7001eb629c8cbea7 100644 (file)
 /* Generic bitfield macros and masks */
 
 #define ACPI_GET_BITS(source_ptr, position, mask) \
-       ((*source_ptr >> position) & mask)
+       ((*(source_ptr) >> (position)) & (mask))
 
 #define ACPI_SET_BITS(target_ptr, position, mask, value) \
-       (*target_ptr |= ((value & mask) << position))
+       (*(target_ptr) |= (((value) & (mask)) << (position)))
 
 #define ACPI_1BIT_MASK      0x00000001
 #define ACPI_2BIT_MASK      0x00000003