Re: [PATCH v5 6/6] i2c: Add driver for the RTL9300 I2C controller

From: Chris Packham
Date: Sun Sep 29 2024 - 16:17:50 EST


Hi Markus,

On 29/09/24 21:45, Markus Elfring wrote:

+++ b/drivers/i2c/busses/i2c-rtl9300.c
@@ -0,0 +1,422 @@

+static int rtl9300_i2c_smbus_xfer(struct i2c_adapter *adap, u16 addr, unsigned short flags,
+ char read_write, u8 command, int size,
+ union i2c_smbus_data *data)
+{

+ mutex_lock(&i2c->lock);
+ if (chan->sda_pin != i2c->sda_pin) {

+out_unlock:
+ mutex_unlock(&i2c->lock);
+
+ return ret;
+}


Under which circumstances would you become interested to apply a statement
like “guard(mutex)(&i2c->lock);”?
https://elixir.bootlin.com/linux/v6.11/source/include/linux/mutex.h#L196

At this stage I don't what to change unless Andi insists that I do.

I can't find much mention of using guard() on https://www.kernel.org/doc/html/latest/ but I can see enough examples (although notably none in drivers/i2c) that I _think_ I can see how I could use it.