[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1398695268-28645-10-git-send-email-tianyu.lan@intel.com>
Date: Mon, 28 Apr 2014 22:27:48 +0800
From: Lan Tianyu <tianyu.lan@...el.com>
To: wsa@...-dreams.de, rjw@...ysocki.net,
mika.westerberg@...ux.intel.com, awilliam@...hat.com,
lenb@...nel.org
Cc: linux-i2c@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-acpi@...r.kernel.org, tianyu.lan@...el.com
Subject: [Patch V2 9/9] I2C/ACPI: Add CONFIG_I2C_ACPI config
This patch is to add CONFIG_I2C_ACPI. Current there is a race between
removing I2C ACPI operation region and ACPI AML code accessing.
So make i2c core built-in if CONFIG_I2C_ACPI is set.
Signed-off-by: Lan Tianyu <tianyu.lan@...el.com>
---
drivers/i2c/Kconfig | 17 ++++++++++++++++-
drivers/i2c/Makefile | 2 +-
include/linux/i2c.h | 2 +-
3 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
index 7b7ea32..c670d49 100644
--- a/drivers/i2c/Kconfig
+++ b/drivers/i2c/Kconfig
@@ -2,7 +2,9 @@
# I2C subsystem configuration
#
-menuconfig I2C
+menu "I2C support"
+
+config I2C
tristate "I2C support"
select RT_MUTEXES
---help---
@@ -21,6 +23,17 @@ menuconfig I2C
This I2C support can also be built as a module. If so, the module
will be called i2c-core.
+config I2C_ACPI
+ bool "I2C ACPI support"
+ select I2C
+ depends on ACPI
+ default y
+ help
+ Say Y here if you want to enable I2C ACPI function. ACPI table
+ provides I2C slave devices' information to enumerate these devices.
+ This option also allows ACPI AML code to access I2C slave devices
+ via I2C ACPI operation region to fulfill ACPI method.
+
if I2C
config I2C_BOARDINFO
@@ -124,3 +137,5 @@ config I2C_DEBUG_BUS
on.
endif # I2C
+
+endmenu
diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile
index 80db307..37464ee 100644
--- a/drivers/i2c/Makefile
+++ b/drivers/i2c/Makefile
@@ -3,7 +3,7 @@
#
i2ccore-y := i2c-core.o
-i2ccore-$(CONFIG_ACPI) += i2c-acpi.o
+i2ccore-$(CONFIG_I2C_ACPI) += i2c-acpi.o
obj-$(CONFIG_I2C_BOARDINFO) += i2c-boardinfo.o
obj-$(CONFIG_I2C) += i2ccore.o
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 4b6fcdb..8c2d9b5 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -583,7 +583,7 @@ static inline struct i2c_adapter *of_find_i2c_adapter_by_node(struct device_node
}
#endif /* CONFIG_OF */
-#ifdef CONFIG_ACPI
+#ifdef CONFIG_I2C_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);
--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists