On 13/03/23 12:36, Andi Shyti wrote: > "of_property_read_u32()" is preferred to "of_get_property()" for > retreiving u32 from the device tree. Replace it. > > Suggested-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: Andi Shyti <andi.shyti@xxxxxxxxxx> Reviewed-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx> Gave the patches a spin on a P2041RDB so Tested-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx> > --- > drivers/i2c/busses/i2c-mpc.c | 25 +++++++++++++------------ > 1 file changed, 13 insertions(+), 12 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c > index 81ac92bb4f6f..87e5c1725750 100644 > --- a/drivers/i2c/busses/i2c-mpc.c > +++ b/drivers/i2c/busses/i2c-mpc.c > @@ -770,7 +770,6 @@ static const struct i2c_algorithm mpc_algo = { > static struct i2c_adapter mpc_ops = { > .owner = THIS_MODULE, > .algo = &mpc_algo, > - .timeout = HZ, > }; > > static struct i2c_bus_recovery_info fsl_i2c_recovery_info = { > @@ -781,11 +780,9 @@ static int fsl_i2c_probe(struct platform_device *op) > { > const struct mpc_i2c_data *data; > struct mpc_i2c *i2c; > - const u32 *prop; > - u32 clock = MPC_I2C_CLOCK_LEGACY; > - int result = 0; > - int plen; > struct clk *clk; > + int result; > + u32 clock; > int err; > > i2c = devm_kzalloc(&op->dev, sizeof(*i2c), GFP_KERNEL); > @@ -831,10 +828,10 @@ static int fsl_i2c_probe(struct platform_device *op) > if (of_property_read_bool(op->dev.of_node, "fsl,preserve-clocking")) { > clock = MPC_I2C_CLOCK_PRESERVE; > } else { > - prop = of_get_property(op->dev.of_node, "clock-frequency", > - &plen); > - if (prop && plen == sizeof(u32)) > - clock = *prop; > + result = of_property_read_u32(op->dev.of_node, > + "clock-frequency", &clock); > + if (result) > + clock = MPC_I2C_CLOCK_LEGACY; > } > > data = device_get_match_data(&op->dev); > @@ -846,12 +843,16 @@ static int fsl_i2c_probe(struct platform_device *op) > mpc_i2c_setup_8xxx(op->dev.of_node, i2c, clock); > } > > - prop = of_get_property(op->dev.of_node, "fsl,timeout", &plen); > - if (prop && plen == sizeof(u32)) { > - mpc_ops.timeout = *prop * HZ / 1000000; > + result = of_property_read_u32(op->dev.of_node, > + "fsl,timeout", &mpc_ops.timeout); > + if (!result) { > + mpc_ops.timeout *= HZ / 1000000; > if (mpc_ops.timeout < 5) > mpc_ops.timeout = 5; > + } else { > + mpc_ops.timeout = HZ; > } > + > dev_info(i2c->dev, "timeout %u us\n", mpc_ops.timeout * 1000000 / HZ); > > if (of_property_read_bool(op->dev.of_node, "fsl,i2c-erratum-a004447"))