On 2014年04月22日 19:45, Mika Westerberg wrote: > On Tue, Apr 22, 2014 at 02:24:15PM +0800, Lan Tianyu wrote: >> 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@xxxxxxxxx> >> --- >> 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. >> + > > I'm wondering, can we provide some sort of wrapper function from ACPI core > that is guaranteed to be built in to the kernel image and use it instead of > adding new Kconfig options? > Cc: LV LV tried to fix the issue via wrapper solution in the ACPI code before. https://lkml.org/lkml/2013/7/23/87 He has a plan to resolve the issue in ACPICA later. Other choice is to increase the i2c-core module count to prevent it being unloaded when i2c operation region handler is installed. Remove the code When LV finish his job. -- Best regards Tianyu Lan -- 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