PULL] First round of new IIO drivers, features and cleanups for the 3.20 cycle - take 2

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

 



The following changes since commit 5e62863aea463c9bf24538315327d0922be35d64:

  staging: comedi: das800: use comedi_async 'scans_done' to detect EOA (2014-11-05 14:59:48 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git tags/iio-for-3.20a_take2

for you to fetch changes up to df1fad80dfa0a7644b525c4a0dd8f2be21f57358:

  iio kmx61 / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM (2015-01-20 22:00:19 +0000)

----------------------------------------------------------------
First round of IIO new drivers, cleanups and functionality for the 3.20 cycle take 2

Updated pull request with Daniel's fix on top for the power management
Kconfig changes that had snuck in since last update of the IIO tree
worked it's way through from mainline.

Original pull message

New device support
* jsa1212 proxmity / ambient light sensor
* SM08500 supported added to the kxcjk-1013 accelerometer driver
* KMX61 Accelerometer/Magnetometer.  This took a somewhat rocky path
  being first merged, then reverted for a rewrite after a discussion of
  how to support additional functionality and finally being merged prior
  to some last reviews coming in, with resultant follow up patches.
* Freescale mma9551l driver (minor follow up warning supression patch).
* Semtech SX9500 proximity device driver.
* ak8975 gains support for ak09911 and ak09912 and drop the standalone driver
  for the ak09911.

New functionality
 * Dummy driver gains some virtual registers making it more flexible.
 * IIO_ACTIVITY channel types, with modifiers running, walking etc.  This is
   to support on chip motion clasifiers.  As such it is in the form of a
   confidence percentage.  The only devices so far only do binary decisions
   but this gives us room when other devices give more nuanced clasification.
 * IIO_EV_DIR_NONE type for events where there is no obvious direction.
   First case is step detection.
 * IIO_STEPS channel type for pedometers.
 * ENABLE mask element used to control turning on counting types such as
   the pedometer that need a 'start point'.
 * INSTANCE event type to support things that happen once.
 * info element for height calibration (used in various motion estimation
   algorithms). Note heigh tof use
 * dummy driver demonstration of the use of all the new bits above.
 * event monitor support for the new events.
 * inv_mpu6050 gains an i2c mux to allow bypassing the device to access
   additional devices connected on the other side of it.  Note that in
   Windows these are handled by firmware on the device and not exposed
   directly.
 * inv_mpu6050 gains ACPI enumeration.
 * inkern interface gains iio_write_channel_raw to allow in kernel users
   of DAC functionality via a simple wrapper.
 * Document input current readings in the ABI docs.
 * Add an error message when we get an out of range error in device tree
   processing for the in kernel interfaces.  Basically a device tree debugging
   aid.
 * Add a sanity check that a scan index for a channel is unique during
   registration.  There to help catch bugs as this should never happen
   in a bug free driver.

Cleanups and fixlets

 A rework of buffer registration from Lars - a precursor to some other
 upcoming new stuff (a few patches from others rolled in here as well).
 * Ensure all drivers register the same channels for the device and buffer.
 * Move buffer registration into the core rather than using the old
   two step approach.  Now we have simple ways of using a unified set channels
   for both without requiring channels be exposed by both interface, this
   removes a fair bit of boilerplate.
 * Stop sca3000 and ad5933 (both in staging) enabling buffer channels by
   default. It has long be convention in IIO to startup with no channels
   enabled and leave it up to userspace to say what goes in the buffer.
   Getting rid of these allows us to drop export of iio_scan_mask_set.
 * Drop get_bytes_per_datum from iio_buffer_access_funcs as not been used
   for a while.
 * Allocate standard buffer attributes in the core rather than in every
   driver with a buffer.
 * Make the length attribute read only when a driver is not able to set
   the length.
 * Drop the get_length callback for buffers as it is already available in
   struct iio_buffer.
 * Drop an unused arguement form iio_kfifo_allocate and add devm allocator
   for it.
 * some kconfig entries gain anotation with the resulting module name.
 * Fix a resulting compile issue in dummy driver due to a stub taking
   wrong parameters as a result of the above rework.
 * Fix an off by 2 error in copying the core assigned buffer attributes.

Other cleanups,
 * Trivial space before comma fixups.
 * ak8975 fixlets - none critical.  Rework to allow more device support.
 * Drop unnecessary sizeof(u8) calls.
 * bmp280 - refactor the compensation code to reduce copy operations and
   code length.  A second patch futher optimized this and performed some
   other minor cleanups.
 * kxcjk-1013 - various power control cleanups to avoid unnecessary enable
   / disable of device.  Make sure it is only controlled at all if CONFIG_PM
   is enabled.  Also som cleanups of error paths.
 * Small cleanups in adf4530 driver - pointless message and unnecessary braces.
 * Clarifiy the proximity ABI docs to make it clear it should get bigger
   as we move futher away.
 * Drop a misleading comment form industrialio-core.c
 * Trivial white space cleanups.
 * sca3000 looses an unused debug function.
 * Fix char unsigned ordering in ad8366
 * Increase the sleep time in ad9523 to make it predictable (value didn't
   really matter so make it more than 20 msecs)
 * mxs-lradc touchscreen property cleanups in device tree are fixed to ensure
   the meet all the 'interesting' documentation.
 * A couple of cleanups for the staging ad5933 driver to avoid unnecessary
   conversion to a processed temperature vlaue in kernel and remove
   platform data form the state structure as not needed after probe.
 * Fix a wrong scale factor in the docs.

Misc
 * Add IIO include files to the maintainers entry.

----------------------------------------------------------------
Adam Thomson (1):
      iio: Add ABI documentation for input current readings

Bastien Nocera (1):
      iio:kxcjk-1013: Add support for SMO8500 device

Daniel Baluta (22):
      MAINTAINERS: Add IIO include files
      iio: imu: Add support for Kionix KMX61 sensor
      iio: dummy: Add virtual registers for dummy device
      iio: core: Introduce IIO_ACTIVITY channel
      iio: dummy: Demonstrate the usage of new channel types
      iio: event_monitor: Add support for new channel types
      iio: imu: Add support for Kionix KMX61 sensor
      iio: imu: kmx61: Add acpi support
      iio: imu: kmx61: Add PM runtime support
      iio: imu: kmx61: Add PM sleep support
      iio: imu: kmx61: Add support for data ready triggers
      iio: imu: kmx61: Add support for any motion trigger
      iio: imu: kmx61: Save odr_bits for later use
      iio: imu: kmx61: Don't ignore kmx61_set_power_state errors
      iio: imu: kmx61: Enhance error handling
      iio: imu: kmx61: Fixup parameters alignment
      iio: imu: kmx61: Drop unused device parameter
      iio: imu: kmx61: Use false instead of 0 for ev_enable_state
      iio: imu: kmx61: Fix device initialization when setting trigger state
      iio: imu: kmx61: Remove unnecessary REG_INS1 read
      iio: imu: kmx61: Use correct base when reading data
      iio kmx61 / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM

Dmitry Eremin-Solenikov (1):
      iio: inkern: add iio_write_channel_raw

Fabian Frederick (1):
      iio: common: remove unnecessary sizeof(u8)

Gwendal Grignou (3):
      iio: ak8975: minor fixes
      iio: ak8975: add definition structure per compass type
      iio: ak8975: add ak09911 and ak09912 support

Hartmut Knaack (1):
      iio:pressure:bmp280: cleanup

Irina Tirdea (7):
      iio: core: Introduce IIO_EV_DIR_NONE
      iio: core: Introduce STEPS channel, ENABLE mask and INSTANCE event
      iio: core: Introduce IIO_CHAN_INFO_CALIBHEIGHT
      iio: accel: kxcjk-1013: always power on device in resume
      iio: accel: kxcjk-1013: only set power state if CONFIG_PM is defined
      iio: accel: kxcjk-1013: error handling when set mode fails
      iio: accel: kxcjk-1013: power off device if probe fails

Ivan T. Ivanov (1):
      iio: consumer.h: Fix scale factor in function comment

Jonathan Cameron (1):
      Revert "iio: imu: Add support for Kionix KMX61 sensor"

Karol Wrona (3):
      iio: kfifo: Remove unused argument in iio_kfifo_allocate
      iio: kfifo: Add resource management devm_iio_kfifo_allocate/free
      iio: core: Get rid of misleading comment

Kuppuswamy Sathyanarayanan (1):
      iio: jsa1212: Add JSA1212 proximity/ALS sensor

Lars-Peter Clausen (13):
      staging:iio:ad5933: Don't enable channels by default
      staging:iio:sca3000: Don't enable channels by default
      iio: Unexport iio_scan_mask_set()
      staging:iio:sca3000: Register same channels for device and buffer
      staging:iio:dummy: Register same channels for device and buffer
      iio: Move buffer registration to the core
      iio: Remove get_bytes_per_datum() from iio_buffer_access_funcs
      iio: buffer: Move iio_buffer_alloc_sysfs and iio_buffer_free_sysfs
      iio: buffer: Allocate standard attributes in the core
      iio: buffer: Make length attribute read only for buffers without set_length
      iio: buffer: Drop get_length callback
      staging:iio:ad5933: Report temperature as raw value
      staging:iio:ad5933: Remove platform data from state struct

Octavian Purdila (1):
      iio: buffer: fix custom buffer attributes copy

Rickard Strandqvist (1):
      staging: iio: accel: sca3000_core.c: Remove unused function

Roberta Dobrescu (11):
      iio: frequency: Remove 'out of memory' message
      iio: frequency: Remove unnecessary braces around single statement block
      iio: trigger: Add a blank line after declarations
      iio: accel: kxcjk-1013: Add a blank line after declarations
      iio: accel: mma8452: Remove trailing whitespace
      iio: accel: Annotate Kconfig entries with module name information
      iio: light: Annotate Kconfig entry with module name information
      iio: light: lm3533-als: Remove space before ','
      iio: amplifiers: ad8366: Remove space before ','
      iio: amplifiers: ad8366: Use right order for type specification
      iio: frequency: ad9523: Increase sleep time in ad9523_store_eeprom

Srinivas Pandruvada (2):
      iio: imu: inv_mpu6050: Add i2c mux for by pass
      iio: imu: inv_mpu6050: ACPI enumeration

Stefan Wahren (3):
      iio: inkern: add out of range error message
      DT: mxs-lradc: fix ranges of ts properties
      iio: mxs-lradc: check ranges of ts properties

Vlad Dogaru (7):
      iio: bmp280: refactor compensation code
      iio: add driver for Freescale MMA9551L
      iio: ABI: add clarification for proximity
      iio: mma9551: fix sparse warning
      staging: iio: dummy: fix compile error when not using buffering
      iio: driver for Semtech SX9500 proximity solution
      iio: ensure scan index is unique at device register

Zachary Warren (1):
      drivers:staging:iio: fix checkpatch complaint about space before comma

kbuild test robot (1):
      iio: imu: kmx61: kmx61_set_wake_up_odr() can be static

 Documentation/ABI/testing/sysfs-bus-iio            |   95 +-
 .../bindings/staging/iio/adc/mxs-lradc.txt         |    4 +-
 Documentation/driver-model/devres.txt              |    2 +
 MAINTAINERS                                        |    1 +
 drivers/iio/accel/Kconfig                          |   16 +
 drivers/iio/accel/Makefile                         |    1 +
 drivers/iio/accel/kxcjk-1013.c                     |   52 +-
 drivers/iio/accel/mma8452.c                        |    2 +-
 drivers/iio/accel/mma9551.c                        |  956 ++++++++++++
 drivers/iio/adc/ti_am335x_adc.c                    |   11 +-
 drivers/iio/amplifiers/ad8366.c                    |    4 +-
 drivers/iio/common/st_sensors/st_sensors_spi.c     |    2 +-
 drivers/iio/frequency/ad9523.c                     |    2 +-
 drivers/iio/frequency/adf4350.c                    |    7 +-
 drivers/iio/iio_core.h                             |    9 +
 drivers/iio/imu/Kconfig                            |   11 +
 drivers/iio/imu/Makefile                           |    2 +
 drivers/iio/imu/inv_mpu6050/Kconfig                |    1 +
 drivers/iio/imu/inv_mpu6050/inv_mpu_core.c         |  124 +-
 drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h          |    6 +
 drivers/iio/imu/kmx61.c                            | 1595 ++++++++++++++++++++
 drivers/iio/industrialio-buffer.c                  |  408 ++---
 drivers/iio/industrialio-core.c                    |   50 +-
 drivers/iio/industrialio-event.c                   |   13 +-
 drivers/iio/industrialio-triggered-buffer.c        |   13 +-
 drivers/iio/inkern.c                               |   30 +-
 drivers/iio/kfifo_buf.c                            |   87 +-
 drivers/iio/light/Kconfig                          |   13 +
 drivers/iio/light/Makefile                         |    1 +
 drivers/iio/light/jsa1212.c                        |  471 ++++++
 drivers/iio/light/lm3533-als.c                     |    2 +-
 drivers/iio/magnetometer/Kconfig                   |   15 +-
 drivers/iio/magnetometer/Makefile                  |    1 -
 drivers/iio/magnetometer/ak09911.c                 |  326 ----
 drivers/iio/magnetometer/ak8975.c                  |  504 +++++--
 drivers/iio/pressure/bmp280.c                      |  150 +-
 drivers/iio/proximity/Kconfig                      |   17 +
 drivers/iio/proximity/Makefile                     |    1 +
 drivers/iio/proximity/sx9500.c                     |  752 +++++++++
 drivers/iio/trigger/iio-trig-sysfs.c               |    2 +
 .../staging/iio/Documentation/iio_event_monitor.c  |   23 +-
 drivers/staging/iio/Documentation/ring.txt         |    8 +-
 drivers/staging/iio/accel/lis3l02dq_core.c         |   13 +-
 drivers/staging/iio/accel/lis3l02dq_ring.c         |    2 +-
 drivers/staging/iio/accel/sca3000_core.c           |   45 +-
 drivers/staging/iio/accel/sca3000_ring.c           |   29 +-
 drivers/staging/iio/adc/ad7192.c                   |    2 +-
 drivers/staging/iio/adc/mxs-lradc.c                |   45 +-
 drivers/staging/iio/iio_dummy_evgen.c              |   17 +
 drivers/staging/iio/iio_dummy_evgen.h              |    6 +
 drivers/staging/iio/iio_simple_dummy.c             |  210 ++-
 drivers/staging/iio/iio_simple_dummy.h             |   13 +-
 drivers/staging/iio/iio_simple_dummy_buffer.c      |   12 +-
 drivers/staging/iio/iio_simple_dummy_events.c      |   66 +-
 drivers/staging/iio/impedance-analyzer/ad5933.c    |   49 +-
 drivers/staging/iio/meter/ade7758.h                |    1 -
 drivers/staging/iio/meter/ade7758_core.c           |   15 +-
 drivers/staging/iio/meter/ade7758_ring.c           |    7 +-
 drivers/staging/iio/meter/ade7759.c                |    2 +-
 include/linux/iio/buffer.h                         |   76 +-
 include/linux/iio/consumer.h                       |   12 +-
 include/linux/iio/iio.h                            |    2 +
 include/linux/iio/kfifo_buf.h                      |    5 +-
 include/linux/iio/types.h                          |   10 +-
 64 files changed, 5314 insertions(+), 1115 deletions(-)
 create mode 100644 drivers/iio/accel/mma9551.c
 create mode 100644 drivers/iio/imu/kmx61.c
 create mode 100644 drivers/iio/light/jsa1212.c
 delete mode 100644 drivers/iio/magnetometer/ak09911.c
 create mode 100644 drivers/iio/proximity/sx9500.c
--
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