Re: [PATCH v1 3/4] i2c: mpc: Use device_get_match_data() helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 */




[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux