On 2/17/20 10:58 PM, H. Nikolaus Schaller wrote: > >> Am 17.02.2020 um 14:38 schrieb H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>: >> >> 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@xxxxxxxxxxxxx> >> --- >> 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)) { > > Hm. > > While looking again at that: why do we need the "{" and "} else "? > > It should be sufficient to have > >> palmas_usb->id_gpiod = devm_gpiod_get_optional(&pdev->dev, "id", >> GPIOD_IN); >> + if (PTR_ERR(palmas_usb->id_gpiod) == -EPROBE_DEFER) >> + return -EPROBE_DEFER; >> if (IS_ERR(palmas_usb->id_gpiod)) { > > What do you think is better coding style here? I think that my suggestion is better because 'if' and 'else if' check the error state of same 'palmas_usb->id_gpiod' variable. If 'if' and 'else if' checks the different variable, your suggestion is better. -- Best Regards, Chanwoo Choi Samsung Electronics