]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge tag 'iio-for-4.10b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23...
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Nov 2016 08:14:03 +0000 (09:14 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Nov 2016 08:14:03 +0000 (09:14 +0100)
Jonathan writes:

Second round of new device support, cleanups and fixes for IIO in the 4.10 cycle

This includes two branch merges for elements that may also go via MFD.

New device support
* cros_ec
  - new driver to support these Chrome OS contiguous sensors which are behind
    the Chrome OS embedded controller.  Requires a few minor MFD and chrome
    platform changes.  One follow up fix deals with some dependency issues in
    Kconfig.
* mpu-3050
  - new driver and device tree bindings for this venerable device.
* st_accel
  - support for the lng2dm an

Driver features
* ad7192
  - Add DVdd regulator handling
* ad9832
  - Add DVDD regulator handling
* at91
  - Suspend and resume support
* si7020
  - Device tree bindings
* ti-am335x
  - DMA support - uses dma to accelerate short bursts of read back rather
  than full blown DMA buffer support.  Greatly improved performance.
  Includes an MFD addition to give access to the address needed for DMA.
* tsl2583
  - Device tree bindings

Cleanups and minor fixes
* ad7192
  - Fix regulator naming to match datasheet
  - Handle regulator errors correctly (so as to not break deferred probing)
  - Rename reg variable to reflect which regulator it is
* ad5933
  - Fix regulator naming to match datasheet
  - Handle regulator errors correctly (so as to not break deferred probing)
* ad7746
  - Fix a missing return value (fallout from previous patch set)
* ad7780
  - Fix regulator naming to match datasheet
  - Handle regulator errors correctly (so as to not break deferred probing)
* ad9832
  - Fix regulator naming to match datasheet
  - Handle regulator errors correctly (so as to not break deferred probing)
  - Rename reg regulator to reflect which one it is
* ad9834
  - Fix regulator naming to match datasheet
  - Handle regulator errors correctly (so as to not break deferred probing)
* hts221
  - Remove a duplicated include
* maxim thermocouple
  - Handle a wrong storage side in read function.  Prevent any problems that
  might be introduced by additions to this driver in future.
* tsl2583 - big set from Brian Masney to drive this towards a staging
  graduation.
  - Convert to iio_chan_spec and read_raw / write_raw (in a couple of steps)
  - Improved error handling in various functions
  - Drop redundant power_state custom sysfs attribute.
  - Use IIO_*_ATTR* macros for remaining attributes.
  - Return an error code to userspace on invalid parameters being writen to
    sysfs files.
  - Add locking to various attribute accesses to remove possible races.
  - Add defines for various magic numbers.
  - Use smbus_read_byte_data instead of a write_byte followed by read_byte.
  - Query only relevant registers in probe.
  - Tidy up ordering of code comments.
  - Remove a pointless power off sequence in taos_chip_on.
  - Don't bother shutting down the chip when updating the lux table.
  The table is held entirely in the driver and doesn't effect the chip at all.
  - Drop a redundant i2c call in taos_als_calibrate where the same register
  is read twice in a row.

1  2 
MAINTAINERS
drivers/iio/temperature/maxim_thermocouple.c
drivers/staging/iio/impedance-analyzer/ad5933.c

diff --cc MAINTAINERS
Simple merge
index 066161a4bccd90e7df35fd0c20e2648dee551a18,d19a4dea4c3ca4c55769f339365608e89f8a8c4a..f962f31a5eb223c4f41d273743ed75f30e648a18
@@@ -123,24 -123,24 +123,26 @@@ static int maxim_thermocouple_read(stru
  {
        unsigned int storage_bytes = data->chip->read_size;
        unsigned int shift = chan->scan_type.shift + (chan->address * 8);
 -      unsigned int buf;
 +      __be16 buf16;
 +      __be32 buf32;
        int ret;
  
 -      ret = spi_read(data->spi, (void *) &buf, storage_bytes);
 -      if (ret)
 -              return ret;
 -
        switch (storage_bytes) {
        case 2:
 -              *val = be16_to_cpu(buf);
 +              ret = spi_read(data->spi, (void *)&buf16, storage_bytes);
 +              *val = be16_to_cpu(buf16);
                break;
        case 4:
 -              *val = be32_to_cpu(buf);
 +              ret = spi_read(data->spi, (void *)&buf32, storage_bytes);
 +              *val = be32_to_cpu(buf32);
                break;
+       default:
+               ret = -EINVAL;
        }
  
 +      if (ret)
 +              return ret;
 +
        /* check to be sure this is a valid reading */
        if (*val & data->chip->status_bit)
                return -EINVAL;