Re: [PATCH linux-next] hwrng: n2-drv - Use device_get_match_data() to simplify the?? code

From: Herbert Xu
Date: Fri Nov 25 2022 - 03:56:37 EST


On Thu, Nov 17, 2022 at 05:10:15PM +0800, ye.xingchen@xxxxxxxxxx wrote:
> From: ye xingchen <ye.xingchen@xxxxxxxxxx>
>
> Directly get the match data with device_get_match_data().
>
> Signed-off-by: ye xingchen <ye.xingchen@xxxxxxxxxx>
> ---
> drivers/char/hw_random/n2-drv.c | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/drivers/char/hw_random/n2-drv.c b/drivers/char/hw_random/n2-drv.c
> index 73e408146420..2f784addb717 100644
> --- a/drivers/char/hw_random/n2-drv.c
> +++ b/drivers/char/hw_random/n2-drv.c
> @@ -695,20 +695,15 @@ static void n2rng_driver_version(void)
> static const struct of_device_id n2rng_match[];
> static int n2rng_probe(struct platform_device *op)
> {
> - const struct of_device_id *match;
> int err = -ENOMEM;
> struct n2rng *np;
>
> - match = of_match_device(n2rng_match, &op->dev);
> - if (!match)
> - return -EINVAL;
> -
> n2rng_driver_version();
> np = devm_kzalloc(&op->dev, sizeof(*np), GFP_KERNEL);
> if (!np)
> goto out;
> np->op = op;
> - np->data = (struct n2rng_template *)match->data;
> + np->data = (struct n2rng_template *) device_get_match_data(&op->dev);

Please explain why changing the error case is OK.

Thanks,
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt