On Mon, Sep 7, 2020 at 2:40 PM Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> wrote: > > Simplify driver a bit by making use of dev_err_probe. > > Signed-off-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> > --- > drivers/input/misc/rotary_encoder.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/input/misc/rotary_encoder.c b/drivers/input/misc/rotary_encoder.c > index e9a5dbb10513..16ad86fad7cb 100644 > --- a/drivers/input/misc/rotary_encoder.c > +++ b/drivers/input/misc/rotary_encoder.c > @@ -241,12 +241,8 @@ static int rotary_encoder_probe(struct platform_device *pdev) > device_property_read_bool(dev, "rotary-encoder,relative-axis"); > > encoder->gpios = devm_gpiod_get_array(dev, NULL, GPIOD_IN); > - if (IS_ERR(encoder->gpios)) { > - err = PTR_ERR(encoder->gpios); > - if (err != -EPROBE_DEFER) > - dev_err(dev, "unable to get gpios: %d\n", err); > - return err; > - } > + if (IS_ERR(encoder->gpios)) > + return dev_err_probe(dev, PTR_ERR(encoder->gpios), "unable to get gpios\n"); I hadn't seen dev_err_probe... Just FYI, I'm working on a different fix here which is to print errors in the subsystems instead. We already do this for IRQs, so why not everything else? The original reason was no resource is sometimes not an error, but now we have *_optional calls to handle this case for most all subsystems. It's a coccinelle script (hacked up from platform_get_irq.cocci) to convert all the drivers. Rob