]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ACPICA: Enhance the ACPI_GETx and ACPI_SETx macros.
authorLv Zheng <lv.zheng@intel.com>
Wed, 19 Dec 2012 05:38:24 +0000 (05:38 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 10 Jan 2013 11:36:19 +0000 (12:36 +0100)
Improve the implementation of the macros.  Change the SETx macros
to the style of (destination, source).  Also add ACPI_CASTx
companion macros.  Lv Zheng.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/acmacros.h
drivers/acpi/acpica/exregion.c
drivers/acpi/acpica/rsmisc.c

index 1fa91f1d8994a8beca98282682823853e193d6eb..3ba11d23cba0dfa008ce68d49865964fd5a32875 100644 (file)
  * get into potential aligment issues -- see the STORE macros below.
  * Use with care.
  */
-#define ACPI_GET8(ptr)                  *ACPI_CAST_PTR (u8, ptr)
-#define ACPI_GET16(ptr)                 *ACPI_CAST_PTR (u16, ptr)
-#define ACPI_GET32(ptr)                 *ACPI_CAST_PTR (u32, ptr)
-#define ACPI_GET64(ptr)                 *ACPI_CAST_PTR (u64, ptr)
-#define ACPI_SET8(ptr)                  *ACPI_CAST_PTR (u8, ptr)
-#define ACPI_SET16(ptr)                 *ACPI_CAST_PTR (u16, ptr)
-#define ACPI_SET32(ptr)                 *ACPI_CAST_PTR (u32, ptr)
-#define ACPI_SET64(ptr)                 *ACPI_CAST_PTR (u64, ptr)
+#define ACPI_CAST8(ptr)                 ACPI_CAST_PTR (u8, (ptr))
+#define ACPI_CAST16(ptr)                ACPI_CAST_PTR (u16, (ptr))
+#define ACPI_CAST32(ptr)                ACPI_CAST_PTR (u32, (ptr))
+#define ACPI_CAST64(ptr)                ACPI_CAST_PTR (u64, (ptr))
+#define ACPI_GET8(ptr)                  (*ACPI_CAST8 (ptr))
+#define ACPI_GET16(ptr)                 (*ACPI_CAST16 (ptr))
+#define ACPI_GET32(ptr)                 (*ACPI_CAST32 (ptr))
+#define ACPI_GET64(ptr)                 (*ACPI_CAST64 (ptr))
+#define ACPI_SET8(ptr, val)             (*ACPI_CAST8 (ptr) = (u8) (val))
+#define ACPI_SET16(ptr, val)            (*ACPI_CAST16 (ptr) = (u16) (val))
+#define ACPI_SET32(ptr, val)            (*ACPI_CAST32 (ptr) = (u32) (val))
+#define ACPI_SET64(ptr, val)            (*ACPI_CAST64 (ptr) = (u64) (val))
 
 /*
  * printf() format helpers
index 06a49245f41055dd56914179bcbd675ecc8d9e9c..28d3cd975490e9a75c7616f48a9e19a0ae0b14c1 100644 (file)
@@ -239,19 +239,19 @@ acpi_ex_system_memory_space_handler(u32 function,
 
                switch (bit_width) {
                case 8:
-                       ACPI_SET8(logical_addr_ptr) = (u8)*value;
+                       ACPI_SET8(logical_addr_ptr, *value);
                        break;
 
                case 16:
-                       ACPI_SET16(logical_addr_ptr) = (u16)*value;
+                       ACPI_SET16(logical_addr_ptr, *value);
                        break;
 
                case 32:
-                       ACPI_SET32(logical_addr_ptr) = (u32)*value;
+                       ACPI_SET32(logical_addr_ptr, *value);
                        break;
 
                case 64:
-                       ACPI_SET64(logical_addr_ptr) = (u64)*value;
+                       ACPI_SET64(logical_addr_ptr, *value);
                        break;
 
                default:
index 3d0e15cd12769d3210493a1c119fc11e7becf914..7b094ebff1db6c7a1fcaad1557d801d40a9e81b1 100644 (file)
@@ -136,30 +136,30 @@ acpi_rs_convert_aml_to_resource(struct acpi_resource *resource,
                        /*
                         * Mask and shift the flag bit
                         */
-                       ACPI_SET8(destination) = (u8)
-                           ((ACPI_GET8(source) >> info->value) & 0x01);
+                       ACPI_SET8(destination,
+                                 ((ACPI_GET8(source) >> info->value) & 0x01));
                        break;
 
                case ACPI_RSC_2BITFLAG:
                        /*
                         * Mask and shift the flag bits
                         */
-                       ACPI_SET8(destination) = (u8)
-                           ((ACPI_GET8(source) >> info->value) & 0x03);
+                       ACPI_SET8(destination,
+                                 ((ACPI_GET8(source) >> info->value) & 0x03));
                        break;
 
                case ACPI_RSC_3BITFLAG:
                        /*
                         * Mask and shift the flag bits
                         */
-                       ACPI_SET8(destination) = (u8)
-                           ((ACPI_GET8(source) >> info->value) & 0x07);
+                       ACPI_SET8(destination,
+                                 ((ACPI_GET8(source) >> info->value) & 0x07));
                        break;
 
                case ACPI_RSC_COUNT:
 
                        item_count = ACPI_GET8(source);
-                       ACPI_SET8(destination) = (u8)item_count;
+                       ACPI_SET8(destination, item_count);
 
                        resource->length = resource->length +
                            (info->value * (item_count - 1));
@@ -168,7 +168,7 @@ acpi_rs_convert_aml_to_resource(struct acpi_resource *resource,
                case ACPI_RSC_COUNT16:
 
                        item_count = aml_resource_length;
-                       ACPI_SET16(destination) = item_count;
+                       ACPI_SET16(destination, item_count);
 
                        resource->length = resource->length +
                            (info->value * (item_count - 1));
@@ -181,13 +181,13 @@ acpi_rs_convert_aml_to_resource(struct acpi_resource *resource,
 
                        resource->length = resource->length + item_count;
                        item_count = item_count / 2;
-                       ACPI_SET16(destination) = item_count;
+                       ACPI_SET16(destination, item_count);
                        break;
 
                case ACPI_RSC_COUNT_GPIO_VEN:
 
                        item_count = ACPI_GET8(source);
-                       ACPI_SET8(destination) = (u8)item_count;
+                       ACPI_SET8(destination, item_count);
 
                        resource->length = resource->length +
                            (info->value * item_count);
@@ -216,7 +216,7 @@ acpi_rs_convert_aml_to_resource(struct acpi_resource *resource,
                        }
 
                        resource->length = resource->length + item_count;
-                       ACPI_SET16(destination) = item_count;
+                       ACPI_SET16(destination, item_count);
                        break;
 
                case ACPI_RSC_COUNT_SERIAL_VEN:
@@ -224,7 +224,7 @@ acpi_rs_convert_aml_to_resource(struct acpi_resource *resource,
                        item_count = ACPI_GET16(source) - info->value;
 
                        resource->length = resource->length + item_count;
-                       ACPI_SET16(destination) = item_count;
+                       ACPI_SET16(destination, item_count);
                        break;
 
                case ACPI_RSC_COUNT_SERIAL_RES:
@@ -234,7 +234,7 @@ acpi_rs_convert_aml_to_resource(struct acpi_resource *resource,
                            - ACPI_GET16(source) - info->value;
 
                        resource->length = resource->length + item_count;
-                       ACPI_SET16(destination) = item_count;
+                       ACPI_SET16(destination, item_count);
                        break;
 
                case ACPI_RSC_LENGTH:
@@ -385,7 +385,7 @@ acpi_rs_convert_aml_to_resource(struct acpi_resource *resource,
                        }
 
                        target = ACPI_ADD_PTR(char, resource, info->value);
-                       ACPI_SET8(target) = (u8)item_count;
+                       ACPI_SET8(target, item_count);
                        break;
 
                case ACPI_RSC_BITMASK16:
@@ -401,7 +401,7 @@ acpi_rs_convert_aml_to_resource(struct acpi_resource *resource,
                        }
 
                        target = ACPI_ADD_PTR(char, resource, info->value);
-                       ACPI_SET8(target) = (u8)item_count;
+                       ACPI_SET8(target, item_count);
                        break;
 
                case ACPI_RSC_EXIT_NE:
@@ -514,37 +514,40 @@ acpi_rs_convert_resource_to_aml(struct acpi_resource *resource,
                        /*
                         * Clear the flag byte
                         */
-                       ACPI_SET8(destination) = 0;
+                       ACPI_SET8(destination, 0);
                        break;
 
                case ACPI_RSC_1BITFLAG:
                        /*
                         * Mask and shift the flag bit
                         */
-                       ACPI_SET8(destination) |= (u8)
-                           ((ACPI_GET8(source) & 0x01) << info->value);
+                       ACPI_SET_BIT(*ACPI_CAST8(destination), (u8)
+                                    ((ACPI_GET8(source) & 0x01) << info->
+                                     value));
                        break;
 
                case ACPI_RSC_2BITFLAG:
                        /*
                         * Mask and shift the flag bits
                         */
-                       ACPI_SET8(destination) |= (u8)
-                           ((ACPI_GET8(source) & 0x03) << info->value);
+                       ACPI_SET_BIT(*ACPI_CAST8(destination), (u8)
+                                    ((ACPI_GET8(source) & 0x03) << info->
+                                     value));
                        break;
 
                case ACPI_RSC_3BITFLAG:
                        /*
                         * Mask and shift the flag bits
                         */
-                       ACPI_SET8(destination) |= (u8)
-                           ((ACPI_GET8(source) & 0x07) << info->value);
+                       ACPI_SET_BIT(*ACPI_CAST8(destination), (u8)
+                                    ((ACPI_GET8(source) & 0x07) << info->
+                                     value));
                        break;
 
                case ACPI_RSC_COUNT:
 
                        item_count = ACPI_GET8(source);
-                       ACPI_SET8(destination) = (u8)item_count;
+                       ACPI_SET8(destination, item_count);
 
                        aml_length =
                            (u16) (aml_length +
@@ -561,18 +564,18 @@ acpi_rs_convert_resource_to_aml(struct acpi_resource *resource,
                case ACPI_RSC_COUNT_GPIO_PIN:
 
                        item_count = ACPI_GET16(source);
-                       ACPI_SET16(destination) = (u16)aml_length;
+                       ACPI_SET16(destination, aml_length);
 
                        aml_length = (u16)(aml_length + item_count * 2);
                        target = ACPI_ADD_PTR(void, aml, info->value);
-                       ACPI_SET16(target) = (u16)aml_length;
+                       ACPI_SET16(target, aml_length);
                        acpi_rs_set_resource_length(aml_length, aml);
                        break;
 
                case ACPI_RSC_COUNT_GPIO_VEN:
 
                        item_count = ACPI_GET16(source);
-                       ACPI_SET16(destination) = (u16)item_count;
+                       ACPI_SET16(destination, item_count);
 
                        aml_length =
                            (u16)(aml_length + (info->value * item_count));
@@ -584,7 +587,7 @@ acpi_rs_convert_resource_to_aml(struct acpi_resource *resource,
                        /* Set resource source string length */
 
                        item_count = ACPI_GET16(source);
-                       ACPI_SET16(destination) = (u16)aml_length;
+                       ACPI_SET16(destination, aml_length);
 
                        /* Compute offset for the Vendor Data */
 
@@ -594,7 +597,7 @@ acpi_rs_convert_resource_to_aml(struct acpi_resource *resource,
                        /* Set vendor offset only if there is vendor data */
 
                        if (resource->data.gpio.vendor_length) {
-                               ACPI_SET16(target) = (u16)aml_length;
+                               ACPI_SET16(target, aml_length);
                        }
 
                        acpi_rs_set_resource_length(aml_length, aml);
@@ -603,7 +606,7 @@ acpi_rs_convert_resource_to_aml(struct acpi_resource *resource,
                case ACPI_RSC_COUNT_SERIAL_VEN:
 
                        item_count = ACPI_GET16(source);
-                       ACPI_SET16(destination) = item_count + info->value;
+                       ACPI_SET16(destination, item_count + info->value);
                        aml_length = (u16)(aml_length + item_count);
                        acpi_rs_set_resource_length(aml_length, aml);
                        break;
@@ -707,10 +710,12 @@ acpi_rs_convert_resource_to_aml(struct acpi_resource *resource,
                        /*
                         * 8-bit encoded bitmask (DMA macro)
                         */
-                       ACPI_SET8(destination) = (u8)
-                           acpi_rs_encode_bitmask(source,
-                                                  *ACPI_ADD_PTR(u8, resource,
-                                                                info->value));
+                       ACPI_SET8(destination,
+                                 acpi_rs_encode_bitmask(source,
+                                                        *ACPI_ADD_PTR(u8,
+                                                                      resource,
+                                                                      info->
+                                                                      value)));
                        break;
 
                case ACPI_RSC_BITMASK16: