RE: [PATCH v4 5/6] iio: imu: Add support for adis16475

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

 



> From: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
> Sent: Dienstag, 7. April 2020 11:19
> To: Sa, Nuno <Nuno.Sa@xxxxxxxxxx>
> Cc: linux-iio <linux-iio@xxxxxxxxxxxxxxx>; devicetree
> <devicetree@xxxxxxxxxxxxxxx>; Jonathan Cameron <jic23@xxxxxxxxxx>;
> Hartmut Knaack <knaack.h@xxxxxx>; Lars-Peter Clausen
> <lars@xxxxxxxxxx>; Peter Meerwald-Stadler <pmeerw@xxxxxxxxxx>; Rob
> Herring <robh+dt@xxxxxxxxxx>; Mark Rutland <mark.rutland@xxxxxxx>;
> Ardelean, Alexandru <alexandru.Ardelean@xxxxxxxxxx>; Hennerich,
> Michael <Michael.Hennerich@xxxxxxxxxx>
> Subject: Re: [PATCH v4 5/6] iio: imu: Add support for adis16475
> 
> On Tue, Apr 7, 2020 at 10:26 AM Sa, Nuno <Nuno.Sa@xxxxxxxxxx> wrote:
> > > From: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
> > > Sent: Montag, 6. April 2020 18:20
> > > To: Sa, Nuno <Nuno.Sa@xxxxxxxxxx>
> > > Cc: linux-iio <linux-iio@xxxxxxxxxxxxxxx>; devicetree
> > > <devicetree@xxxxxxxxxxxxxxx>; Jonathan Cameron <jic23@xxxxxxxxxx>;
> > > Hartmut Knaack <knaack.h@xxxxxx>; Lars-Peter Clausen
> > > <lars@xxxxxxxxxx>; Peter Meerwald-Stadler <pmeerw@xxxxxxxxxx>;
> Rob
> > > Herring <robh+dt@xxxxxxxxxx>; Mark Rutland <mark.rutland@xxxxxxx>;
> > > Ardelean, Alexandru <alexandru.Ardelean@xxxxxxxxxx>; Hennerich,
> > > Michael <Michael.Hennerich@xxxxxxxxxx>
> > > Subject: Re: [PATCH v4 5/6] iio: imu: Add support for adis16475
> > >
> > > On Mon, Apr 6, 2020 at 6:10 PM Nuno Sá <nuno.sa@xxxxxxxxxx> wrote:
> 
> ...
> 
> > > > +       for_each_set_bit(bit, indio_dev->active_scan_mask,
> > > > +                        indio_dev->masklength) {
> > >
> > > One line?
> > >
> >
> > It goes beyond 80 col limit... I know I could initialize these to some local
> const but...
> 
> That's why question mark is there.
> Nonetheless, if it ~2-3 characters more, I would leave it on one line anyway.
> 
> JFYI: readability has a priority over 80 limit.
>

Thanks! I would say it also depends on the maintainer (not sure)? Some are more
strict about checkpatch...
Btw, the line will have 84 if one liner...

> > > > +       }
> 
> ...
> 
> > > > +                       if (scaled_out_freq < 1900 || scaled_out_freq > 2100) {
> > > > +                               dev_err(dev,
> > > > +                                       "Invalid value:%u for adi,scaled-output-hz",
> > > > +                                       scaled_out_freq);
> > >
> > > When there is no property or property has a value 0 this message can't
> > > tell the difference.
> > > Perhaps you have to check return code from
> device_property_read_u32()
> > > call.
> > >
> >
> > Well, I think we don't really need to. If the sync mode is scaled, then this
> property is mandatory
> > (and this is stated in the bindings). So, I don't really care if the property is
> not there or if it's just
> > a wrong value. We should fail either way and I'm not sure an extra if with
> some other message will
> > give us that extra value...
> 
> Up to maintainer (I have no strong opinion about this)
> 
> > > > +                               return -EINVAL;
> > > > +                       }
> 
> ...
> 
> > > > +       /*
> > > > +        * It is possible to configure the data ready polarity. Furthermore,
> we
> > > > +        * need to update the adis struct if we want data ready as active
> low.
> > > > +        */
> > > > +       irq_type = irqd_get_trigger_type(desc);
> > > > +       if (irq_type == IRQF_TRIGGER_RISING) {
> 
> > > > +               polarity = 1;
> 
> For the sake of consistency I would assign irq_flag here as well.
>

The library will do it by default, But that's me using "inside" info... or maybe if
I document that in patch 2 (the struct kernel docs) we would not really need to
assign it here?

> > > > +       } else if (irq_type == IRQF_TRIGGER_FALLING) {
> > > > +               polarity = 0;
> > > > +               st->adis.irq_flag = IRQF_TRIGGER_FALLING;
> > > > +       } else {
> > > > +               dev_err(&spi->dev, "Invalid interrupt type 0x%x specified\n",
> > > > +                       irq_type);
> > > > +               return -EINVAL;
> > > > +       }
> > >
> > > Here is the problem. You got type, but you compare it to flags. It's
> > > not correct.
> > > Although values are the same, the meaning is different.
> > >
> >
> > Hmm, thanks! Honestly, this was copy paste from adis16480 and I never
> realized this. I will
> > use IRQ_TYPE_EDGE_RISING and IRQ_TYPE_EDGE_FALLING. I guess we
> need a patch changing this
> > in adis16480...
> 
> As a separate patch, yes.
Sure...

Thanks!
- Nuno Sá
> --
> With Best Regards,
> Andy Shevchenko




[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