summaryrefslogtreecommitdiff
path: root/drivers/acpi/acpica/acobject.h
diff options
context:
space:
mode:
authorBob Moore <Robert.Moore@intel.com>2014-09-23 10:35:47 +0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-09-24 22:53:46 +0200
commit75ec6e55f1384548311a13ce4fcb39c516053314 (patch)
tree0165f3ba0f3fe31a1d27d17e4fee1a379df83c40 /drivers/acpi/acpica/acobject.h
parent0f33be009b89d2268e94194dc4fd01a7851b6d51 (diff)
ACPICA: Update to GPIO region handler interface.
Changes to correct several GPIO issues: 1) The update_rule in a GPIO field definition is now ignored; a read-modify-write operation is never performed for GPIO fields. (Internally, this means that the field assembly/disassembly code is completely bypassed for GPIO.) 2) The Address parameter passed to a GPIO region handler is now the bit offset of the field from a previous Connection() operator. Thus, it becomes a "Pin Number Index" into the Connection() resource descriptor. 3) The bit_width parameter passed to a GPIO region handler is now the exact bit width of the GPIO field. Thus, it can be interpreted as "number of pins". Overall, we can now say that the region handler interface to GPIO handlers is a raw "bit/pin" addressed interface, not a byte-addressed interface like the system_memory handler interface. Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Lv Zheng <lv.zheng@intel.com> Cc: 3.15+ <stable@vger.kernel.org> # 3.15+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi/acpica/acobject.h')
-rw-r--r--drivers/acpi/acpica/acobject.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/acpi/acpica/acobject.h b/drivers/acpi/acpica/acobject.h
index 22fb6449d3d6..8abb393dafab 100644
--- a/drivers/acpi/acpica/acobject.h
+++ b/drivers/acpi/acpica/acobject.h
@@ -264,6 +264,7 @@ struct acpi_object_region_field {
ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO u16 resource_length;
union acpi_operand_object *region_obj; /* Containing op_region object */
u8 *resource_buffer; /* resource_template for serial regions/fields */
+ u16 pin_number_index; /* Index relative to previous Connection/Template */
};
struct acpi_object_bank_field {