Re: [PATCH v2 7/7] iio: adc: ti-ads1015: Add static assert to test if shifted realbits fit into storagebits

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

 



On Sat, 12 Mar 2022 22:28:22 +0100
Marek Vasut <marex@xxxxxxx> wrote:

> On 3/12/22 13:19, Andy Shevchenko wrote:
> > On Fri, Mar 11, 2022 at 8:50 PM Marek Vasut <marex@xxxxxxx> wrote:  
> >>
> >> Add compile-time static_assert wrapper to verify that shifted realbits
> >> fit into storagebits. The macro is implemented in a more generic way so
> >> it can be used to verify other values if required.  
> > 
> > Thanks! I think we may leave it to maintainers to decide if it is
> > worth adding or not.  
> 
> Right, that's why I placed it as 7/7, since the macro is ... not pretty.

It's ugly but that's all wrapped up in the macro so I'll take it and
see what blows up :)

Longer term, maybe we'd should add a general runtime check in the IIO core?

Not quite so nice as catching at compile time but would catch all such issues
the moment anyone actually tries out a driver with whatever device they've
just added support for.

I'll let this sit a little longer for additional review before picking it up
(missed this cycle anyway so lots of time).


A few other comments on this driver whilst we are here on things we should
cleanup at somepoint.
1) Move over to the read_avail callback rather than having the attribute
   groups.  It may well be slightly more code but then makes them available
   to in kernel users.   Slowly moving all drivers with _available for standard
   ABI over to the callback is on the todo list but it will take a while...
2) Possibly introduced a static const array of
   struct ad1015_chip_info {
	all the per device stuff currently handled in code in probe
   };
Then simply access that directly using the the device_match_data.

Jonathan



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux