From: Maurice Petallo <mauricex.r.peta...@intel.com> When SMBus is enabled in Baytrail, it is being probed first before all the Designware I2C devices. This means SMBus will take the first available bus id which is 0 and then the I2C devices will take the next succeeding bus ids. This should be fine as long as the I2C devices bus ids are assigned dynamically.
The problem arises when the I2C devices' bus ids are assigned statically and the SMBus is probed first. The kernel will fail to add the i2c adapter because something else, which in that case is the SMBus, has taken the bus id that the i2c adapter is trying to take. As mentioned in commit "i2c: designware-pci: use static bus num allocation for baytrail", it is required for I2C devices' bus ids to be assigned statically for LPE Audio to register the i2c properly. To resolve this, we either force the SMBus to take the next bus id after all the designware I2C devices or we allow all the I2C devices to be probed first before the SMBus. This patch implements the 2nd. Signed-off-by: Maurice Petallo <mauricex.r.peta...@intel.com> Change-Id: I113c4c2b0d9a44aa2d28ff764c19c798df6d3c30 Reviewed-on: https://git-gar-1.devtools.intel.com/gerrit/4016 Reviewed-by: Wan Mohamad, Wan Ahmad Zainie <wan.ahmad.zainie.wan.moha...@intel.com> --- drivers/i2c/busses/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile index f35b079..5bbf680 100644 --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile @@ -12,7 +12,6 @@ obj-$(CONFIG_I2C_ALI15X3) += i2c-ali15x3.o obj-$(CONFIG_I2C_AMD756) += i2c-amd756.o obj-$(CONFIG_I2C_AMD756_S4882) += i2c-amd756-s4882.o obj-$(CONFIG_I2C_AMD8111) += i2c-amd8111.o -obj-$(CONFIG_I2C_I801) += i2c-i801.o obj-$(CONFIG_I2C_ISCH) += i2c-isch.o obj-$(CONFIG_I2C_ISMT) += i2c-ismt.o obj-$(CONFIG_I2C_NFORCE2) += i2c-nforce2.o @@ -41,6 +40,7 @@ obj-$(CONFIG_I2C_DESIGNWARE_PLATFORM) += i2c-designware-platform.o i2c-designware-platform-objs := i2c-designware-platdrv.o obj-$(CONFIG_I2C_DESIGNWARE_PCI) += i2c-designware-pci.o i2c-designware-pci-objs := i2c-designware-pcidrv.o +obj-$(CONFIG_I2C_I801) += i2c-i801.o obj-$(CONFIG_I2C_EG20T) += i2c-eg20t.o obj-$(CONFIG_I2C_GPIO) += i2c-gpio.o obj-$(CONFIG_I2C_HIGHLANDER) += i2c-highlander.o -- 1.9.1 -- _______________________________________________ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto