Message ID | cf2554c724a8ddc5a3e3485228f3ab750980d4b4.1581941945.git.hns@goldelico.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] extcon: palmas: hide error messages if gpio returns -EPROBE_DEFER | expand |
> Am 17.02.2020 um 13:19 schrieb H. Nikolaus Schaller <hns@goldelico.com>: > > If the gpios are probed after this driver (e.g. if they > come from an i2c expander) there is no need to print an > error message. > > Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> > --- > drivers/extcon/extcon-palmas.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c > index edc5016f46f1..701d7c9584fa 100644 > --- a/drivers/extcon/extcon-palmas.c > +++ b/drivers/extcon/extcon-palmas.c > @@ -205,14 +205,18 @@ static int palmas_usb_probe(struct platform_device *pdev) > > palmas_usb->id_gpiod = devm_gpiod_get_optional(&pdev->dev, "id", > GPIOD_IN); > - if (IS_ERR(palmas_usb->id_gpiod)) { > + if (PTR_ERR(palmas_usb->id_gpiod) != -EPROBE_DEFER) { oops. Polarity went wrong. Will send a v3 asap. > + return -EPROBE_DEFER; > + } else if (IS_ERR(palmas_usb->id_gpiod)) { > dev_err(&pdev->dev, "failed to get id gpio\n"); > return PTR_ERR(palmas_usb->id_gpiod); > } > > palmas_usb->vbus_gpiod = devm_gpiod_get_optional(&pdev->dev, "vbus", > GPIOD_IN); > - if (IS_ERR(palmas_usb->vbus_gpiod)) { > + if (PTR_ERR(palmas_usb->vbus_gpiod) != -EPROBE_DEFER) { > + return -EPROBE_DEFER; > + } else if (IS_ERR(palmas_usb->vbus_gpiod)) { > dev_err(&pdev->dev, "failed to get vbus gpio\n"); > return PTR_ERR(palmas_usb->vbus_gpiod); > } > -- > 2.23.0 >
diff --git a/drivers/extcon/extcon-palmas.c b/drivers/extcon/extcon-palmas.c index edc5016f46f1..701d7c9584fa 100644 --- a/drivers/extcon/extcon-palmas.c +++ b/drivers/extcon/extcon-palmas.c @@ -205,14 +205,18 @@ static int palmas_usb_probe(struct platform_device *pdev) palmas_usb->id_gpiod = devm_gpiod_get_optional(&pdev->dev, "id", GPIOD_IN); - if (IS_ERR(palmas_usb->id_gpiod)) { + if (PTR_ERR(palmas_usb->id_gpiod) != -EPROBE_DEFER) { + return -EPROBE_DEFER; + } else if (IS_ERR(palmas_usb->id_gpiod)) { dev_err(&pdev->dev, "failed to get id gpio\n"); return PTR_ERR(palmas_usb->id_gpiod); } palmas_usb->vbus_gpiod = devm_gpiod_get_optional(&pdev->dev, "vbus", GPIOD_IN); - if (IS_ERR(palmas_usb->vbus_gpiod)) { + if (PTR_ERR(palmas_usb->vbus_gpiod) != -EPROBE_DEFER) { + return -EPROBE_DEFER; + } else if (IS_ERR(palmas_usb->vbus_gpiod)) { dev_err(&pdev->dev, "failed to get vbus gpio\n"); return PTR_ERR(palmas_usb->vbus_gpiod); }
If the gpios are probed after this driver (e.g. if they come from an i2c expander) there is no need to print an error message. Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> --- drivers/extcon/extcon-palmas.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)