Re: [PATCH 19/21] gpio: swnode: replace gpiochip_find() with gpio_device_find_by_label()

From: Andy Shevchenko
Date: Wed Sep 06 2023 - 10:52:38 EST


On Tue, Sep 05, 2023 at 08:53:07PM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
>
> We're porting all users of gpiochip_find() to using gpio_device_find().
> Update the swnode GPIO code.

...

> -static int swnode_gpiochip_match_name(struct gpio_chip *chip, void *data)
> +static struct gpio_device *swnode_get_gpio_device(struct fwnode_handle *fwnode)
> {
> - return !strcmp(chip->label, data);
> -}
> + const struct software_node *gdev_node;
> + struct gpio_device *gdev;
>
> -static struct gpio_chip *swnode_get_chip(struct fwnode_handle *fwnode)
> -{

Not sure if you used --patience. Patches might look better.

> - const struct software_node *chip_node;
> - struct gpio_chip *chip;
> -
> - chip_node = to_software_node(fwnode);
> - if (!chip_node || !chip_node->name)
> + gdev_node = to_software_node(fwnode);
> + if (!gdev_node || !gdev_node->name)
> return ERR_PTR(-EINVAL);
>
> - chip = gpiochip_find((void *)chip_node->name, swnode_gpiochip_match_name);
> - return chip ?: ERR_PTR(-EPROBE_DEFER);
> + gdev = gpio_device_find_by_label((void *)gdev_node->name);
> + return gdev ?: ERR_PTR(-EPROBE_DEFER);
> }

...

> - desc = gpiochip_get_desc(chip, args.args[0]);
> + desc = gpiochip_get_desc(gdev->chip, args.args[0]);

gpio_device_get_desc() ?

--
With Best Regards,
Andy Shevchenko