Hi This is mostly the same than the first version implementing generic polling mode code for the i2c-designware except three more patches added before them. Andy had an idea we should have more consistency to platform flags naming and the first three patches are around that. Michael started the conversion so I took his patch from an internal set and put first. Since this version touches Intel PUNIT semaphore code I Cc'ed Hans. Andy and Andi had comments to "Uniform initialization flow for polling mode" but I decided to not implement a separate helpter function for interrupt request as it in my opinnion does not make code any easier to read. I also wanted to retain single return point in the i2c_dw_wait_transfer() implemented by the last patch since I had some debug code there when doing the first version. v1: https://lore.kernel.org/linux-i2c/20240131141653.2689260-1-jarkko.nikula@xxxxxxxxxxxxxxx/ Jarkko Nikula (8): i2c: designware: Convert arbitration semaphore flag as semaphore type i2c: designware: Convert shared_with_punit boolean as semaphore type i2c: designware: Uniform initialization flow for polling mode i2c: designware: Do not enable interrupts shortly in polling mode i2c: designware: Use accessors to DW_IC_INTR_MASK register i2c: designware: Move interrupt handling functions before i2c_dw_xfer() i2c: designware: Fix RX FIFO depth define on Wangxun 10Gb NIC i2c: designware: Implement generic polling mode code for Wangxun 10Gb NIC Michael J. Ruhl (1): i2c: designware: Add some flexiblity to the model info drivers/i2c/busses/i2c-designware-amdpsp.c | 2 +- drivers/i2c/busses/i2c-designware-baytrail.c | 2 +- drivers/i2c/busses/i2c-designware-common.c | 2 +- drivers/i2c/busses/i2c-designware-core.h | 38 +- drivers/i2c/busses/i2c-designware-master.c | 417 ++++++++----------- drivers/i2c/busses/i2c-designware-pcidrv.c | 2 +- drivers/i2c/busses/i2c-designware-platdrv.c | 12 +- 7 files changed, 223 insertions(+), 252 deletions(-) -- 2.43.0