Re: [PATCH 00/15] ad799x cleanup

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

 



On 03/06/14 23:42, Peter Meerwald wrote:
Hello,

I ran into some issues with IIO events using the ad799x ADC driver with an
ad7997 chip; the following series has cleanups and fixes
Hi Peter,

A useful looking set.  Will take a look once Lars is happy with them all
(I'm lazy).

Putting my maintainer hat on, I'm trying to work out what if anything in
here would want to go to stable.

We are rather two interlinked between clean ups and fixes though I can
see why you did it like this.  If possible to reorder to have any fixes at
the top that would be great.

patches 1-6, 8 are cleanup

patch 7 exposes the IIO event interface of the driver only if an IRQ has been configured
for the device; no IRQ -> no events
While unexpected behaviour (and good to fix) I don't think this one is stable material.

patch 9 shifts out the last two bits when reading the event value on ad7993 and ad7997
(which have 10-bit ADCs); same as read_raw()
This looks like stable material.

patch 10 checks the range of the event value on write and shifts the value into place;
similar to the previous patch
this one as well (as Lars suggested, combining these makes sense...)

patch 11 adds helper function to read/write the chip's config register (16-bit on
ad7997/ad7998, 8-bit everywhere else)
You've already stated this is a cleanup rather than a bug fix.

patch 12 actually writes the default config to the chip and keeps a copy of
the config register in the driver's state
Another unexpected behaviour case, I think...

patch 13 changes update_scan_mode() to store the enabled channels in the config
register, on ad7992/ad7993/ad7994/ad7997/ad7998, hence the rename
Ouch - this would be stable material, but is rather more involved with earlier
patches than ideal...

patch 14 reports only those events as enabled which actually are
Unexpected behaviour again, though I'd hope any userspace code would cope with this.
In theory any event can result in any other even being enabled, but then userspace
should be able to see what is enabled by reading back the relevant attributes.
It's clearly a bug fix, but stable material?

patch 15 allows to write the event config, previously events could only be
set implicitly via the buffer scan mode
Clearly still under discussion but sounds like more a case of unusual behaviour
(in need of fixing) than a bug that wants patching in stable?

Sorry for being a pain on this.  Until fairly recently I'd just have been
cynical and applied this lot to the togreg branch and ignored the fact
it would be left broken in earlier versions!  I'm trying to do this better
hence this email.

J

regards, p.

Peter Meerwald (15):
   staging:iio: Update iio_event_monitor program
   staging:iio: Fix iio_utils.h function prototypes
   iio:adc:ad799x: Fix ad799x_chip_info kerneldoc
   iio:adc:ad799x: Drop I2C access helper functions
   iio:adc:ad799x: Save some lines in ad7997_8_update_scan_mode() exit
     handling
   iio:adc:ad799x: Use BIT() and GENMASK()
   iio:adc:ad799x: Only expose event interface when IRQ is available
   iio:adc:ad799x: Make chan_spec const in ad799x_chip_config struct
   iio:adc:ad799x: Fix reported event values, apply shift
   iio:adc:ad799x: Check event value range on write
   iio:adc:ad799x: Add helper function to read/write config register
   iio:adc:ad799x: Write default config on probe and reset alert status
     on probe
   iio:adc:ad799x: Rename ad7997_8_update_scan_mode() to
     ad799x_update_scan_mode()
   iio:adc:ad799x: Return more meaningful event enabled state
   iio:adc:ad799x: Allow to write event config

  drivers/iio/adc/ad799x.c                           | 507 ++++++++++++---------
  .../staging/iio/Documentation/iio_event_monitor.c  |  10 +
  drivers/staging/iio/Documentation/iio_utils.h      |   6 +-
  3 files changed, 317 insertions(+), 206 deletions(-)


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




[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