This is a series of patches fixing several bugs and implementing new features. Bug fixes: 1) Fix the frequency calculation 2) Fix incorrect base address passed during io write 3) prevent stack overflow in mlxbf_i2c_smbus_start_transaction() 4) Support lock mechanism to avoid race condition between entities using the i2c bus Cleanup: 5) remove IRQF_ONESHOT flag as it is no longer needed. Features: 6) Support multi slave functionality 7) Support BlueField-3 SoC 8) Update binding devicetree What has changed from v3->v4: - moved the patch related to updating the SPDX licence out of this series. This will be submitted as a separate patch later and will need approval from all contributors. - fixed build error in the frequency calculation patch. The name of the frequency functions changed but that was not reflected when they were called. - Fixed the prefix in $subject as "i2c: <driver>:" - Use kernel multiline comment style in the "support lock mechanism" patch - instead of calling mlxbf_i2c_smbus_master_unlock multiple times, use the "goto out_unlock" style. - Added the devicetree reviewers Asmaa Mnebhi (8): i2c: i2c-mlxbf.c: Fix frequency calculation i2c: i2c-mlxbf.c: remove IRQF_ONESHOT i2c: i2c-mlxbf.c: incorrect base address passed during io write i2c: i2c-mlxbf: prevent stack overflow in mlxbf_i2c_smbus_start_transaction() i2c: i2c-mlxbf.c: support lock mechanism i2c: i2c-mlxbf: add multi slave functionality i2c: i2c-mlxbf.c: support BlueField-3 SoC i2c: i2c-mlxbf.c: Update binding devicetree .../bindings/i2c/mellanox,i2c-mlxbf.yaml | 49 +- MAINTAINERS | 1 + drivers/i2c/busses/i2c-mlxbf.c | 862 ++++++++++-------- 3 files changed, 522 insertions(+), 390 deletions(-) -- 2.30.1