i2c: mpc: Use of_property_read_u32 instead of of_get_property
authorAndi Shyti <andi.shyti@kernel.org>
Fri, 17 Mar 2023 23:33:37 +0000 (00:33 +0100)
committerWolfram Sang <wsa@kernel.org>
Wed, 29 Mar 2023 19:07:27 +0000 (21:07 +0200)
"of_property_read_u32()" is preferred to "of_get_property()" for
retrieving u32 from the device tree. Replace it.

Suggested-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Tested-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-mpc.c

index bec0c5d..02baba2 100644 (file)
@@ -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"))