mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-17 06:40:11 -05:00
media: uvcvideo: Use dev_err_probe for devm_gpiod_get_optional
Use the dev_err_probe() helper for devm_gpiod_get_optional(), like we do with gpiod_to_irq() That eventually calls device_set_deferred_probe_reason() which can be helpful for tracking down problems. Now that all the error paths in uvc_gpio_parse have dev_err_probe, we can remove the error message in uvc_probe. Suggested-by: Doug Anderson <dianders@chromium.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> Message-ID: <20250313-uvc-eprobedefer-v3-2-a1d312708eef@chromium.org> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
This commit is contained in:
committed by
Hans Verkuil
parent
387e893930
commit
3328eb4dfe
@@ -1299,8 +1299,13 @@ static int uvc_gpio_parse(struct uvc_device *dev)
|
||||
|
||||
gpio_privacy = devm_gpiod_get_optional(&dev->intf->dev, "privacy",
|
||||
GPIOD_IN);
|
||||
if (IS_ERR_OR_NULL(gpio_privacy))
|
||||
return PTR_ERR_OR_ZERO(gpio_privacy);
|
||||
if (!gpio_privacy)
|
||||
return 0;
|
||||
|
||||
if (IS_ERR(gpio_privacy))
|
||||
return dev_err_probe(&dev->intf->dev,
|
||||
PTR_ERR(gpio_privacy),
|
||||
"Can't get privacy GPIO\n");
|
||||
|
||||
irq = gpiod_to_irq(gpio_privacy);
|
||||
if (irq < 0)
|
||||
@@ -2241,10 +2246,8 @@ static int uvc_probe(struct usb_interface *intf,
|
||||
|
||||
/* Parse the associated GPIOs. */
|
||||
ret = uvc_gpio_parse(dev);
|
||||
if (ret < 0) {
|
||||
uvc_dbg(dev, PROBE, "Unable to parse UVC GPIOs\n");
|
||||
if (ret < 0)
|
||||
goto error;
|
||||
}
|
||||
|
||||
dev_info(&dev->udev->dev, "Found UVC %u.%02x device %s (%04x:%04x)\n",
|
||||
dev->uvc_version >> 8, dev->uvc_version & 0xff,
|
||||
|
||||
Reference in New Issue
Block a user