On Mon, Sep 21, 2020 at 11:50:14AM -0400, Khalil Blaiech wrote: > From: Khalil Blaiech > > Add BlueField I2C driver to offer master and slave support for > Mellanox BlueField SoCs. The driver implements an SMBus adapter > and interfaces to multiple busses that can be probed using both > ACPI and Device Tree infrastructures. > > The driver supports several SMBus operations to transfer data > back and forth from/to various I2C devices. It is mainly intended > to be consumed by userspace tools and utilities, such as i2c-tools > and decode-dimms to collect memory module information. > > On the other hand, the driver has a slave function to support, > among others, an IPMB interface that requires both master and > slave functions to handle transfers between the BlueField SoC > and a board management controllers (e.g., BMC). > > Signed-off-by: Khalil Blaiech > Reviewed-by: Vadim Pasternak It still seems nobody has time for even a high level review of this huge driver. From a visual glimpse, the driver looks mostly OK to me. It probably makes sense to fix issues incrementally from here on. So, let's just fix these static analyzer warnings and I'll apply it for v5.10. CHECKPATCH CHECK: struct mutex definition without comment #462: FILE: drivers/i2c/busses/i2c-mlxbf.c:372: + struct mutex *lock; WARNING: Prefer 'fallthrough;' over fallthrough comment #1330: FILE: drivers/i2c/busses/i2c-mlxbf.c:1240: + /* Fall-through. */ WARNING: Prefer 'fallthrough;' over fallthrough comment #2000: FILE: drivers/i2c/busses/i2c-mlxbf.c:1910: + /* Fall-through. */ SPARSE drivers/i2c/busses/i2c-mlxbf.c:513:16: warning: cast to restricted __be32 drivers/i2c/busses/i2c-mlxbf.c:513:16: warning: cast to restricted __be32 drivers/i2c/busses/i2c-mlxbf.c:513:16: warning: cast to restricted __be32 drivers/i2c/busses/i2c-mlxbf.c:513:16: warning: cast to restricted __be32 drivers/i2c/busses/i2c-mlxbf.c:513:16: warning: cast to restricted __be32 drivers/i2c/busses/i2c-mlxbf.c:513:16: warning: cast to restricted __be32 drivers/i2c/busses/i2c-mlxbf.c:527:34: warning: incorrect type in argument 3 (different base types) drivers/i2c/busses/i2c-mlxbf.c:527:34: expected unsigned int [usertype] val drivers/i2c/busses/i2c-mlxbf.c:527:34: got restricted __be32 [usertype] Thanks for your patience! Wolfram