Re: [PATCH v1 3/4] i2c: mpc: Use device_get_match_data() helper
From: Chris Packham
Date: Tue Apr 13 2021 - 19:45:31 EST
On 14/04/21 2:37 am, Andy Shevchenko wrote:
> Use the device_get_match_data() helper instead of open coding.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Reviewed-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
> ---
> drivers/i2c/busses/i2c-mpc.c | 12 ++++--------
> 1 file changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
> index 2376accd4e8e..ec9d7d93e80f 100644
> --- a/drivers/i2c/busses/i2c-mpc.c
> +++ b/drivers/i2c/busses/i2c-mpc.c
> @@ -19,6 +19,7 @@
> #include <linux/of_address.h>
> #include <linux/of_irq.h>
> #include <linux/of_platform.h>
> +#include <linux/property.h>
> #include <linux/slab.h>
>
> #include <linux/clk.h>
> @@ -643,10 +644,9 @@ static struct i2c_bus_recovery_info fsl_i2c_recovery_info = {
> .recover_bus = fsl_i2c_bus_recovery,
> };
>
> -static const struct of_device_id mpc_i2c_of_match[];
> static int fsl_i2c_probe(struct platform_device *op)
> {
> - const struct of_device_id *match;
> + const struct mpc_i2c_data *data;
> struct mpc_i2c *i2c;
> const u32 *prop;
> u32 clock = MPC_I2C_CLOCK_LEGACY;
> @@ -655,10 +655,6 @@ static int fsl_i2c_probe(struct platform_device *op)
> struct clk *clk;
> int err;
>
> - match = of_match_device(mpc_i2c_of_match, &op->dev);
> - if (!match)
> - return -EINVAL;
> -
> i2c = devm_kzalloc(&op->dev, sizeof(*i2c), GFP_KERNEL);
> if (!i2c)
> return -ENOMEM;
> @@ -709,8 +705,8 @@ static int fsl_i2c_probe(struct platform_device *op)
> clock = *prop;
> }
>
> - if (match->data) {
> - const struct mpc_i2c_data *data = match->data;
> + data = device_get_match_data(&op->dev);
> + if (data) {
> data->setup(op->dev.of_node, i2c, clock);
> } else {
> /* Backwards compatibility */