Message ID | 1408081139-6292-1-git-send-email-tianyu.lan@intel.com |
---|---|
State | Accepted |
Headers | show |
On Fri, Aug 15, 2014 at 01:38:59PM +0800, Lan Tianyu wrote: > 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: Lan Tianyu <tianyu.lan@intel.com> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Aug 15, 2014 at 01:38:59PM +0800, Lan Tianyu wrote: > 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: Lan Tianyu <tianyu.lan@intel.com> It looks good. What tests did you perform? Thanks, Wolfram
On 2014年08月15日 19:03, Wolfram Sang wrote: > On Fri, Aug 15, 2014 at 01:38:59PM +0800, Lan Tianyu wrote: >> 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: Lan Tianyu <tianyu.lan@intel.com> > > It looks good. What tests did you perform? > > Thanks, > > Wolfram > Hi Wolfram: The patch passed through Fengguang's 0-day autobuild test. Following are config files tested. configs tested: 122 parisc c3000_defconfig parisc b180_defconfig parisc defconfig alpha defconfig parisc allnoconfig mips allmodconfig mips jz4740 mips allnoconfig mips fuloong2e_defconfig mips txx9 x86_64 allnoconfig x86_64 lkp x86_64 rhel sh titan_defconfig sh rsk7269_defconfig sh sh7785lcr_32bit_defconfig sh allnoconfig x86_64 randconfig-c3-0815 x86_64 randconfig-c1-0815 x86_64 randconfig-c0-0815 x86_64 randconfig-c2-0815 x86_64 allmodconfig i386 randconfig-jx5 i386 randconfig-jx4 i386 randconfig-jx7 i386 randconfig-jx6 i386 randconfig-jx1 i386 randconfig-jx0 i386 randconfig-jx3 i386 randconfig-jx2 i386 randconfig-jx9 i386 randconfig-jx8 x86_64 randconfig-jx8 x86_64 randconfig-jx9 x86_64 randconfig-jx2 x86_64 randconfig-jx3 x86_64 randconfig-jx0 x86_64 randconfig-jx1 x86_64 randconfig-jx6 x86_64 randconfig-jx7 x86_64 randconfig-jx4 x86_64 randconfig-jx5 powerpc chroma_defconfig powerpc linkstation_defconfig powerpc powerpc powerpc wii_defconfig powerpc gamecube_defconfig powerpc corenet64_smp_defconfig powerpc mpc512x powerpc ppc44x x86_64 randconfig-j0-0815 x86_64 randconfig-j1-0815 i386 randconfig-ha2-0815 i386 randconfig-ha5-0815 i386 randconfig-ha1-0815 i386 randconfig-ha0-0815 i386 randconfig-ha3-0815 i386 randconfig-ha4-0815 ia64 allmodconfig ia64 allnoconfig ia64 defconfig ia64 alldefconfig sparc defconfig sparc64 allnoconfig sparc64 defconfig xtensa common_defconfig m32r m32104ut_defconfig xtensa iss_defconfig m32r opsput_defconfig m32r usrv_defconfig m32r mappi3.smp_defconfig microblaze mmu_defconfig microblaze nommu_defconfig microblaze allyesconfig i386 allyesconfig cris etrax-100lx_v2_defconfig blackfin TCM-BF537_defconfig blackfin BF561-EZKIT-SMP_defconfig blackfin BF533-EZKIT_defconfig blackfin BF526-EZBRD_defconfig i386 randconfig-r1-0815 i386 randconfig-r2-0815 i386 randconfig-r3-0815 i386 randconfig-r0-0815 s390 allmodconfig s390 allnoconfig s390 defconfig mn10300 asb2364_defconfig openrisc or1ksim_defconfig um x86_64_defconfig um i386_defconfig avr32 atngw100_defconfig frv defconfig avr32 atstk1006_defconfig tile tilegx_defconfig i386 randconfig-x009 i386 randconfig-x008 i386 randconfig-x005 i386 randconfig-x004 i386 randconfig-x007 i386 randconfig-x006 i386 randconfig-x001 i386 randconfig-x000 i386 randconfig-x003 i386 randconfig-x002 x86_64 randconfig-x000 x86_64 randconfig-x001 x86_64 randconfig-x002 x86_64 randconfig-x003 x86_64 randconfig-x004 x86_64 randconfig-x005 x86_64 randconfig-x006 x86_64 randconfig-x007 x86_64 randconfig-x008 x86_64 randconfig-x009 powerpc defconfig powerpc ppc64_defconfig powerpc allnoconfig powerpc allmodconfig x86_64 acpi-redef x86_64 allyesdebian x86_64 nfsroot
On Fri, Aug 15, 2014 at 01:38:59PM +0800, Lan Tianyu wrote: > 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: Lan Tianyu <tianyu.lan@intel.com> Removed the unrelated "menuconfig" change and applied to for-current, thanks! Please don't send V2 patches as "in-reply-to" V1. This gets confusing, especially when a series approaches V10.
diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig index 3e3b680..f0937e5 100644 --- a/drivers/i2c/Kconfig +++ b/drivers/i2c/Kconfig @@ -2,9 +2,7 @@ # I2C subsystem configuration # -menu "I2C support" - -config I2C +menuconfig I2C tristate "I2C support" select RT_MUTEXES ---help--- @@ -23,17 +21,14 @@ config 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 +config ACPI_I2C_OPREGION + bool "ACPI I2C Operation region support" + depends on I2C=y && ACPI default y help - Say Y here if you want to enable ACPI I2C support. This includes support - for automatic enumeration of I2C slave devices and support for ACPI I2C - Operation Regions. Operation Regions allow firmware (BIOS) code to - access I2C slave devices, such as smart batteries through an I2C host - controller driver. + Say Y here if you want to enable ACPI I2C operation region support. + Operation Regions allow firmware (BIOS) code to access I2C slave devices, + such as smart batteries through an I2C host controller driver. if I2C @@ -139,4 +134,3 @@ config I2C_DEBUG_BUS endif # I2C -endmenu diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile index a1f590c..e0228b2 100644 --- a/drivers/i2c/Makefile +++ b/drivers/i2c/Makefile @@ -3,7 +3,7 @@ # 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) += i2ccore.o diff --git a/drivers/i2c/i2c-acpi.c b/drivers/i2c/i2c-acpi.c index e8b6196..0dbc18c 100644 --- a/drivers/i2c/i2c-acpi.c +++ b/drivers/i2c/i2c-acpi.c @@ -126,6 +126,7 @@ void acpi_i2c_register_devices(struct i2c_adapter *adap) 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, u8 cmd, u8 *data, u8 data_len) { @@ -360,3 +361,4 @@ void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter) acpi_bus_detach_private_data(handle); } +#endif diff --git a/include/linux/i2c.h b/include/linux/i2c.h index ea50766..a95efeb 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h @@ -577,16 +577,20 @@ static inline struct i2c_adapter *of_find_i2c_adapter_by_node(struct device_node } #endif /* CONFIG_OF */ -#ifdef CONFIG_I2C_ACPI -int acpi_i2c_install_space_handler(struct i2c_adapter *adapter); -void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter); +#ifdef CONFIG_ACPI void acpi_i2c_register_devices(struct i2c_adapter *adap); #else 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 int acpi_i2c_install_space_handler(struct i2c_adapter *adapter) { return 0; } -#endif +#endif /* CONFIG_ACPI_I2C_OPREGION */ #endif /* _LINUX_I2C_H */
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: Lan Tianyu <tianyu.lan@intel.com> --- drivers/i2c/Kconfig | 20 +++++++------------- drivers/i2c/Makefile | 2 +- drivers/i2c/i2c-acpi.c | 2 ++ include/linux/i2c.h | 12 ++++++++---- 4 files changed, 18 insertions(+), 18 deletions(-)