Re: [PATCHv2 3/4] Input: rotary-encoder - Use dev_err_probe

From: Sebastian Reichel
Date: Thu Sep 10 2020 - 16:58:47 EST


Hi Rob,

On Wed, Sep 09, 2020 at 01:48:49PM -0600, Rob Herring wrote:
> 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...

It got added in 5.8.

> 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.

Makes sense. I suppose dev_err_probe could be used within the
framework(s) and is still useful for those resource frameworks not
having _optional variants.

FYI: There is a bunch of dev_err_probe for all kind of drivers
being send out at the moment. I already received quite a few
for the power-supply subsystem. Be prepared for conflicts.

If this is about this specific instance: No hard feelings, I
only cleaned up the driver a bit while adding new features
and being able to easily test the cleanups on real HW. With
some luck patch 4/4 applies without this one.

-- Sebastian

Attachment: signature.asc
Description: PGP signature