Commit 36604751 authored by Lan Tianyu's avatar Lan Tianyu Committed by Wolfram Sang

i2c: rework kernel config I2C_ACPI

Commit da3c6647(I2C/ACPI: Clean up I2C ACPI code and Add CONFIG_I2C_ACPI
config) adds a new kernel config I2C_ACPI and make I2C core built in
when the config is selected. This is wrong because distributions
etc generally compile I2C as a module and the commit broken that.
This patch is to rename I2C_ACPI to ACPI_I2C_OPREGION. New config
only controls ACPI I2C operation region code and depends on I2C=y.
Signed-off-by: default avatarLan Tianyu <tianyu.lan@intel.com>
Reviewed-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
[wsa: removed unrelated change for Kconfig]
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent 7d1311b9
...@@ -23,17 +23,14 @@ config I2C ...@@ -23,17 +23,14 @@ config I2C
This I2C support can also be built as a module. If so, the module This I2C support can also be built as a module. If so, the module
will be called i2c-core. will be called i2c-core.
config I2C_ACPI config ACPI_I2C_OPREGION
bool "I2C ACPI support" bool "ACPI I2C Operation region support"
select I2C depends on I2C=y && ACPI
depends on ACPI
default y default y
help help
Say Y here if you want to enable ACPI I2C support. This includes support Say Y here if you want to enable ACPI I2C operation region support.
for automatic enumeration of I2C slave devices and support for ACPI I2C Operation Regions allow firmware (BIOS) code to access I2C slave devices,
Operation Regions. Operation Regions allow firmware (BIOS) code to such as smart batteries through an I2C host controller driver.
access I2C slave devices, such as smart batteries through an I2C host
controller driver.
if I2C if I2C
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# #
i2ccore-y := i2c-core.o i2ccore-y := i2c-core.o
i2ccore-$(CONFIG_I2C_ACPI) += i2c-acpi.o i2ccore-$(CONFIG_ACPI) += i2c-acpi.o
obj-$(CONFIG_I2C_BOARDINFO) += i2c-boardinfo.o obj-$(CONFIG_I2C_BOARDINFO) += i2c-boardinfo.o
obj-$(CONFIG_I2C) += i2ccore.o obj-$(CONFIG_I2C) += i2ccore.o
......
...@@ -126,6 +126,7 @@ void acpi_i2c_register_devices(struct i2c_adapter *adap) ...@@ -126,6 +126,7 @@ void acpi_i2c_register_devices(struct i2c_adapter *adap)
dev_warn(&adap->dev, "failed to enumerate I2C slaves\n"); dev_warn(&adap->dev, "failed to enumerate I2C slaves\n");
} }
#ifdef CONFIG_ACPI_I2C_OPREGION
static int acpi_gsb_i2c_read_bytes(struct i2c_client *client, static int acpi_gsb_i2c_read_bytes(struct i2c_client *client,
u8 cmd, u8 *data, u8 data_len) u8 cmd, u8 *data, u8 data_len)
{ {
...@@ -360,3 +361,4 @@ void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter) ...@@ -360,3 +361,4 @@ void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter)
acpi_bus_detach_private_data(handle); acpi_bus_detach_private_data(handle);
} }
#endif
...@@ -577,16 +577,20 @@ static inline struct i2c_adapter *of_find_i2c_adapter_by_node(struct device_node ...@@ -577,16 +577,20 @@ static inline struct i2c_adapter *of_find_i2c_adapter_by_node(struct device_node
} }
#endif /* CONFIG_OF */ #endif /* CONFIG_OF */
#ifdef CONFIG_I2C_ACPI #ifdef CONFIG_ACPI
int acpi_i2c_install_space_handler(struct i2c_adapter *adapter);
void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter);
void acpi_i2c_register_devices(struct i2c_adapter *adap); void acpi_i2c_register_devices(struct i2c_adapter *adap);
#else #else
static inline void acpi_i2c_register_devices(struct i2c_adapter *adap) { } static inline void acpi_i2c_register_devices(struct i2c_adapter *adap) { }
#endif /* CONFIG_ACPI */
#ifdef CONFIG_ACPI_I2C_OPREGION
int acpi_i2c_install_space_handler(struct i2c_adapter *adapter);
void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter);
#else
static inline void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter) static inline void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter)
{ } { }
static inline int acpi_i2c_install_space_handler(struct i2c_adapter *adapter) static inline int acpi_i2c_install_space_handler(struct i2c_adapter *adapter)
{ return 0; } { return 0; }
#endif #endif /* CONFIG_ACPI_I2C_OPREGION */
#endif /* _LINUX_I2C_H */ #endif /* _LINUX_I2C_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment