Re: [PATCH v3] Input: rotary_encoder - support binary encoding of states

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Fri, Apr 08, 2016 at 08:40:58AM +0200, Uwe Kleine-König wrote:
> Hello Rob,
> 
> On Thu, Apr 07, 2016 at 05:45:00PM -0500, Rob Herring wrote:
> > On Thu, Apr 7, 2016 at 1:58 PM, Uwe Kleine-König
> > <u.kleine-koenig@xxxxxxxxxxxxxx> wrote:
> > > It's not advisable to use this encoding, but to support existing devices
> > > add support for this to the driver.
> > >
> > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
> > > ---
> > 
> > Ack for the binding, but...
> 
> Thanks. Actually I already had your ack for v2 and only dropped it to
> make you look over the patch again :-)
>  
> > > @@ -213,6 +222,17 @@ static int rotary_encoder_probe(struct platform_device *pdev)
> > >         encoder->rollover =
> > >                 device_property_read_bool(dev, "rotary-encoder,rollover");
> > >
> > > +       err = device_property_read_string(dev, "rotary-encoder,encoding",
> > > +                                         &encoding);
> > > +       if (!err && !strcmp(encoding, "binary")) {
> > > +               encoder->encoding = ROTENC_BINARY;
> > > +       } else if (err || !strcmp(encoding, "gray")) {
> > > +               encoder->encoding = ROTENC_GRAY;
> > > +       } else {
> > > +               dev_err(dev, "unknown encoding setting");
> > > +               return -EINVAL;
> > 
> > device_property_match_string() here instead.
> 
> With the added downside that the property is parsed at least twice from
> dt, right? This is not a hot path, but still I wonder if it simplyfies
> the driver code enough to be worth the effort?

IMO, yes.
 
> Also this seems to have a different semantic and allows the property to
> be an array.

It is not really the kernel's job to validate crap in bindings. If you 
put '"binary", "gray"' in your DT, then the kernel may or may not handle 
that.

Rob
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux