ACPI 5.0 spec(5.5.2.4.5) defines GenericSerialBus(i2c, spi, uart) operation region. It allows ACPI aml code able to access such kind of devices to implement some ACPI standard method. On the Asus T100TA, Bios use GenericSerialBus operation region to access i2c device to get battery info. So battery function depends on the I2C operation region support. Here is the bug link. https://bugzilla.kernel.org/show_bug.cgi?id=69011 Change since V2: Drop patchs of adding I2C smbus quick read/write and word/block process call functions because not find machines supporting such protocols so far and can't test these functions. Merge patchs of "I2C ACPI related code clear up" and "Add CONFIG_I2C_ACPI config" Patch 2: Add acpi_bus_detach_private_data() function to detach data from ACPI handle and replace ACPI_ERROR() with acpi_handle_debug() to avoid some redundant error log. Change since V1: Fix some code style issues. Change prefix i2c_acpi to acpi_i2c. Move ACPI related code in the i2c core to i2c-acpi.c. Add CONFIG_I2C_ACPI and make i2c core built-in when it's set to avoid i2c ACPI operation region being removed. Lan Tianyu (5): ACPICA: Export acpi_buffer_to_resource symbol ACPI: Add acpi_bus_attach_private_data() to facilitate to attach data to ACPI handle ACPI/Thermal: Use acpi_bus_attach_private_data() to attach private data I2C/ACPI: Add i2c ACPI operation region support I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI config drivers/acpi/acpica/rscreate.c | 1 + drivers/acpi/bus.c | 28 +++- drivers/acpi/thermal.c | 11 +- drivers/i2c/Kconfig | 18 +- drivers/i2c/Makefile | 5 +- drivers/i2c/i2c-acpi.c | 362 +++++++++++++++++++++++++++++++++++++++++ drivers/i2c/i2c-core.c | 97 +---------- include/acpi/acpi_bus.h | 2 + include/linux/acpi.h | 11 ++ include/linux/i2c.h | 12 ++ 10 files changed, 439 insertions(+), 108 deletions(-) create mode 100644 drivers/i2c/i2c-acpi.c -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html