Skip to content
  • Greg Kroah-Hartman's avatar
    Merge tag 'iio-for-4.8a' of... · aabb4060
    Greg Kroah-Hartman authored
    Merge tag 'iio-for-4.8a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
    
    Jonathan writes:
    
    First round of IIO new device support, features and cleanups for the 4.8 cycle.
    
    New device support
    * ads1015
      - add ads1115 support
    * bma220 accelerometer
      - new driver
      - triggered buffer support.
    * bmc150
      - add bmm150 support.
    * bmp280
      - bme280 support with addition of humidity channel.
    * max5487 potentiometer
      - new driver
    * MMA7660FC accelerometer.
      - New driver
    * st-pressure
      - support for the lps22hb
    * loop trigger.
      - This one is *nasty* but we have real applications (parrot drones) where
      it is useful.  The trigger basically spins as hard as it can firing off
      a new trigger each time all triggered devices come back to say they are
      done.  It doesn't hang a machine even when doing it on a dummy driver.
      A lot nicer than having this implemented within lots of device drivers
      anyway.
    
    Core stuff
    * Add support to create IIO devices via configfs (similar to we did for
    triggers a while back) + docs.
    * New channel types
      - IIO_ELECTRICAL_CONDUCTIVITY
    * Couple of MAINTAINERS patches to list the device tree bindings.
    * Make trigger ops structure non optional (comment fix). It hasn't been for
    an awful long time, but that's not what the description said.
    
    New features
    * ak8975
      - support adapters that are limited to byte data only by allowing the
      emulated block read i2c function that was recently introduced.
    * atlas-ph
      - support atlas-ec (electrical conductivity sensor)
    * bmi160
      - add available frequency and scale attributes to make the driver
      more user friendly (and avoid having to read the datasheet to know
      what will work).
    * dummy
      - move creation to configfs interface.  It's not real hardware so we
      are not that worried about the ABI breakage ;)
    * mma8452
      - oversampling ration support
    * nau7802
      - expose available gains to make life easier for userspace.
    * st-sensors
      - allow use of emulation for SMBus block reads as all the st parts support
      it.
    * ti-ads1015
      - list datasheet names to allow their use by inkernel consumers.
    * Various module alias additions to help auto probing.  Drop one redundant one
    as well.
    
    Cleanups
    * ad7266, ad7476, ad7887, ad7923, ad799x
      - use direct mode claim function rather than open coding it during sensor
      read (prevents switching on buffers mid read).
    * ad7793, ad7791
      - use direct mode claim to prevent frequency changes when buffers running.
    * afe440x - These are ABI breaking but the driver requires custom userspace
      code to do anything useful anyway and that is still being written and under
      control of TI.  Ultimately we may have other libraries to do pulse
      oximetry with these devices but we aren't aware of any yet.
      - kernel-doc format fixes
      - drop ifdef fun around of_match_ptr - it's not worth the mess to save
      a tiny amount of space.
      - drop some unnecessary register initializations.
      - drop the weird locked gain modes as they gain us nothing (can just set
      all gains separately).
      - remove handling of offset attributes seeing as no channels actually have
      them (oops)
      - Drop the LED3 input channel as it's an alias for ALED2.
      - *big one* remove channel names - an experiment that turned out to not
      make sense - see patch for details.
      - use regmap fields to clean up code.
      - tie the tia gain stages to appropriate channels in the ABI as that is
      what they really effect. Same with the LED currents.
      - cleanout some unused defines and fix a missnamed one.
    * atlas-ph
      - reorganise to allow support of other similar parts.
    * bmc150
      - document supported chips in kconfig help.
    * jsa1212
      - drop an unneeded i2c functionality check for functionality the driver
      doesn't use.
    * mxs-lradc
      - simply touch screen registration code.
      - remove the touch screen unregister as all devm based now.
      - disable only those channels that are masked in hardware stop (others
      are already dealt with elsewhere)
    * st-sensors
      - unexport st_sensors_get_buffer_element as nothing outside the st-sensors
      core driver uses it.
      - fix handling of failure to start up regulators.
    * tpl0102
      - drop an i2c functionality test for features that aren't needed.
    * ti-am335x
      - use variable name rather than type in sizeof for clarity.
      - use SIMPLE_DEV_PM_OPS helper macro to tidy up a bit.
    
    Tools
    * Add install / uninstall to makefile.  Someone cares, so presumably
    some people will find it useful!
    *  generic_buffer
       - rename to iio_generic_buffer to line up with other tools.
       - handle cleanup when receiving signals
       - Add a --device-num option and a --trigger-num option rather than
       relying on naming which doesn't work if you have two of the same part.
    aabb4060