Sometimes the driver can not get the SFP information because the I2C bus is accessed by the firmware at the same time. So we need to add the lock on the I2C bus access. The hardware semaphores perform this lock. Jiawen Wu (3): net: txgbe: add IO address in I2C platform device data i2c: designware: add device private data passing to lock functions i2c: designware: support hardware lock for Wangxun 10Gb NIC drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-designware-amdpsp.c | 4 +- drivers/i2c/busses/i2c-designware-baytrail.c | 14 +++- drivers/i2c/busses/i2c-designware-common.c | 4 +- drivers/i2c/busses/i2c-designware-core.h | 6 +- drivers/i2c/busses/i2c-designware-platdrv.c | 3 + drivers/i2c/busses/i2c-designware-wx.c | 65 +++++++++++++++++++ .../net/ethernet/wangxun/txgbe/txgbe_phy.c | 5 ++ include/linux/platform_data/i2c-wx.h | 11 ++++ 9 files changed, 105 insertions(+), 8 deletions(-) create mode 100644 drivers/i2c/busses/i2c-designware-wx.c create mode 100644 include/linux/platform_data/i2c-wx.h -- 2.27.0