[Letux-kernel] [PATCH v3] extcon: palmas: hide error messages if gpio returns -EPROBE_DEFER

Ladislav Michl ladis at linux-mips.org
Tue Feb 18 11:21:40 CET 2020


On Tue, Feb 18, 2020 at 12:28:25PM +0900, Chanwoo Choi wrote:
> On 2/17/20 10:38 PM, H. Nikolaus Schaller wrote:
> > 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 at 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..cea58d0cb457 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);
> >  	}
> > 
> 
> I think that it is enough to handle the -EPROBE_DEFER.
> Also, I prefer to use single if/else statement 
> instead of the nested if/else statement.
> 
> Applied it.

Uh... As it is? Then it is matter of time it triggers someones cocci
script pointing to else after return. Could you at least fix this?

Thanks,
	ladis


More information about the Letux-kernel mailing list