All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/16 V3] IIO: Make the value attribute optional for channels
@ 2012-04-15 16:41 Jonathan Cameron
  2012-04-15 16:41 ` [PATCH 01/16] staging:iio: add a raw and processed elements to info_mask Jonathan Cameron
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: Jonathan Cameron @ 2012-04-15 16:41 UTC (permalink / raw)
  To: gregkh; +Cc: linux-iio, device-drivers-devel, Jonathan Cameron

Hi Greg,

This series both gets rid of some special case code (which is always
nice) and makes it optional to have raw and/or processed access to the
value of a particular channel.  Quite a few devices will give you information
about a given channel without allowing you to read it's value.  Examples
include devices that just do interrupts on threshold crossings, and
variable gain amplifiers (one of those from Michael Hennerich kicked this
whole set off).

Anyhow, only changes from v2 are a couple of formatting fixes and the addition
of isl29028 changes which were posted separately and have been acked.

Note that this patch will cause breakage in any drivers that don't take
it into account.  I will email everyone I know with a driver under review
to make sure they are aware of it.  The annoying bit is it may not cause
build breakage so it may not be obvious.

Thanks to Lars-Peter for the suggestion of a neater solution than the
one I proposed in V1 and also for review and filling in a few devices
drivers that I'd somehow missed entirely (including our stub example
driver -- oops).

Jonathan

Previous messages:

This is as per Lars-Peter's suggestion + actually covers 'all' (I hope)
of the drivers rather than missing cdc and impedance directories.

So now we have IIO_CHAN_INFO_RAW and IIO_CHAN_INFO_PROCESSED.

This lets us drop a chunk of special case logic and generally cleans
things up.  On top of this allows channels with no reading or writing
abilities which was the original point.

Jonathan

original patch message was:

Dear All,

This came out of a discussion about Michael's variable gain amplifier
driver the other day.  We have devices that have a channel that we
can't actually read, but know other things about. (there are other
cases that we have previously fudged around).

Anyhow, here is the promised series making the value optional.
Has recieved limited testing and I may well have fried someones
driver so please do take a look and test test test!

Dependent on the IIO_CHAN removal series.

Note I'll probably handle this set a little differently from
usual and send the first 9 to Greg asap, but hold the 10th
that actually makes them active until I'm sure there aren't
any drivers going to cross with it and end up broken.

Jonathan

Jonathan Cameron (14):
  staging:iio: add a raw and processed elements to info_mask
  staging:iio:accel Add IIO_CHAN_INFO_RAW entries to all drivers.
  staging:iio:adc Add IIO_CHAN_INFO_RAW entries to all drivers.
  staging:iio:dac Add IIO_CHAN_INFO_RAW entries to all drivers.
  staging:iio:gyro Add IIO_CHAN_INFO_RAW entries to all drivers.
  staging:iio:imu Add IIO_CHAN_INFO_RAW entries to all drivers.
  staging:iio:light Add IIO_CHAN_INFO_RAW/PROCESSED entries to all
    drivers.
  staging:iio:magnetometer Add IIO_CHAN_INFO_RAW entries to all
    drivers.
  staging:iio:resolver Add IIO_CHAN_INFO_RAW entries to all drivers.
  staging:iio:impedance Add IIO_CHAN_INFO_RAW/PROCESSED entries to all
    drivers.
  staging:iio:cdc Add IIO_CHAN_INFO_RAW/PROCESSED entries to all
    drivers.
  staging:iio:isl29028 Add IIO_CHAN_INFO_RAW/PROCESSED entries
  staging:iio: Make read / write attributes for channel values
    optional.
  staging:iio: drop procesed_val element of chan_spec.

Lars-Peter Clausen (2):
  staging:iio: Add IIO_CHAN_INFO_RAW entries to the dummy driver
  staging:iio:meter Add IIO_CHAN_INFO_RAW entries to all drivers.

 drivers/staging/iio/accel/adis16201_core.c      |   25 +++--
 drivers/staging/iio/accel/adis16203_core.c      |   17 ++--
 drivers/staging/iio/accel/adis16204_core.c      |   17 ++--
 drivers/staging/iio/accel/adis16209_core.c      |   24 +++--
 drivers/staging/iio/accel/adis16220_core.c      |   15 ++-
 drivers/staging/iio/accel/adis16240_core.c      |   18 ++--
 drivers/staging/iio/accel/kxsd9.c               |    6 +-
 drivers/staging/iio/accel/lis3l02dq_core.c      |    5 +-
 drivers/staging/iio/accel/sca3000_core.c        |    4 +-
 drivers/staging/iio/adc/ad7192.c                |   11 ++-
 drivers/staging/iio/adc/ad7280a.c               |    7 +-
 drivers/staging/iio/adc/ad7291.c                |    8 +-
 drivers/staging/iio/adc/ad7298_core.c           |    8 +-
 drivers/staging/iio/adc/ad7476_core.c           |    5 +-
 drivers/staging/iio/adc/ad7606_core.c           |   19 ++--
 drivers/staging/iio/adc/ad7780.c                |    8 +-
 drivers/staging/iio/adc/ad7793.c                |   38 ++++---
 drivers/staging/iio/adc/ad7887_core.c           |    8 +-
 drivers/staging/iio/adc/ad799x_core.c           |   40 +++++++-
 drivers/staging/iio/adc/lpc32xx_adc.c           |   15 +--
 drivers/staging/iio/adc/max1363_core.c          |    5 +-
 drivers/staging/iio/adc/spear_adc.c             |    5 +-
 drivers/staging/iio/cdc/ad7150.c                |    8 +-
 drivers/staging/iio/cdc/ad7152.c                |   14 ++-
 drivers/staging/iio/cdc/ad7746.c                |   25 +++--
 drivers/staging/iio/dac/ad5064.c                |    7 +-
 drivers/staging/iio/dac/ad5360.c                |    7 +-
 drivers/staging/iio/dac/ad5380.c                |    7 +-
 drivers/staging/iio/dac/ad5421.c                |    7 +-
 drivers/staging/iio/dac/ad5446.c                |    5 +-
 drivers/staging/iio/dac/ad5504.c                |    7 +-
 drivers/staging/iio/dac/ad5624r_spi.c           |    5 +-
 drivers/staging/iio/dac/ad5686.c                |    7 +-
 drivers/staging/iio/dac/ad5764.c                |    7 +-
 drivers/staging/iio/dac/ad5791.c                |    7 +-
 drivers/staging/iio/gyro/adis16060_core.c       |    8 +-
 drivers/staging/iio/gyro/adis16080_core.c       |    6 +-
 drivers/staging/iio/gyro/adis16130_core.c       |    2 +
 drivers/staging/iio/gyro/adis16260_core.c       |   15 ++-
 drivers/staging/iio/gyro/adxrs450_core.c        |   14 ++-
 drivers/staging/iio/iio.h                       |   18 ++--
 drivers/staging/iio/iio_simple_dummy.c          |   19 +++-
 drivers/staging/iio/impedance-analyzer/ad5933.c |   11 ++-
 drivers/staging/iio/imu/adis16400_core.c        |  121 +++++++++++++++--------
 drivers/staging/iio/industrialio-core.c         |   24 +----
 drivers/staging/iio/light/isl29018.c            |    9 +-
 drivers/staging/iio/light/isl29028.c            |   11 ++-
 drivers/staging/iio/light/tsl2563.c             |   11 ++-
 drivers/staging/iio/magnetometer/ak8975.c       |    5 +-
 drivers/staging/iio/magnetometer/hmc5843.c      |    5 +-
 drivers/staging/iio/meter/ade7758_core.c        |   45 ++++++---
 drivers/staging/iio/resolver/ad2s1200.c         |    2 +
 drivers/staging/iio/resolver/ad2s1210.c         |    2 +
 drivers/staging/iio/resolver/ad2s90.c           |    1 +
 54 files changed, 484 insertions(+), 266 deletions(-)

-- 
1.7.9.4


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2012-04-15 16:41 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-15 16:41 [PATCH 00/16 V3] IIO: Make the value attribute optional for channels Jonathan Cameron
2012-04-15 16:41 ` [PATCH 01/16] staging:iio: add a raw and processed elements to info_mask Jonathan Cameron
2012-04-15 16:41 ` [PATCH 02/16] staging:iio:accel Add IIO_CHAN_INFO_RAW entries to all drivers Jonathan Cameron
2012-04-15 16:41 ` [PATCH 03/16] staging:iio:adc " Jonathan Cameron
2012-04-15 16:41 ` [PATCH 05/16] staging:iio:gyro " Jonathan Cameron
2012-04-15 16:41 ` [PATCH 06/16] staging:iio:imu " Jonathan Cameron
2012-04-15 16:41 ` [PATCH 07/16] staging:iio:light Add IIO_CHAN_INFO_RAW/PROCESSED " Jonathan Cameron
2012-04-15 16:41 ` [PATCH 08/16] staging:iio:magnetometer Add IIO_CHAN_INFO_RAW " Jonathan Cameron
2012-04-15 16:41 ` [PATCH 09/16] staging:iio:resolver " Jonathan Cameron
2012-04-15 16:41 ` [PATCH 10/16] staging:iio:impedance Add IIO_CHAN_INFO_RAW/PROCESSED " Jonathan Cameron
2012-04-15 16:41 ` [PATCH 11/16] staging:iio:cdc " Jonathan Cameron
2012-04-15 16:41 ` [PATCH 13/16] staging:iio:meter Add IIO_CHAN_INFO_RAW " Jonathan Cameron
2012-04-15 16:41 ` [PATCH 14/16] staging:iio:isl29028 Add IIO_CHAN_INFO_RAW/PROCESSED entries Jonathan Cameron
2012-04-15 16:41 ` [PATCH 15/16] staging:iio: Make read / write attributes for channel values optional Jonathan Cameron
2012-04-15 16:41 ` [PATCH 16/16] staging:iio: drop procesed_val element of chan_spec Jonathan Cameron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.