1. 16 Apr, 2019 25 commits
  2. 04 Apr, 2019 15 commits
    • Greg Kroah-Hartman's avatar
      Merge tag 'iio-for-5.2a-2' of... · 932f9892
      Greg Kroah-Hartman authored
      Merge tag 'iio-for-5.2a-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
      
      Jonathan writes:
      
      First set of new device support, features and fixes for IIO in the 5.2 cycle
      
      Staging graduations
      * ad7780
        - Move this ADC driver out of staging.  Included adding some new features
          along the way (see below). Also added DT bindings.
      
      New device support
      * adis16480
        - Support the ADIS16495 and ADIS16497 IMU devices making
          heavy use of refactoring of various aspects of the driver in precursor
          patches.
      * lsm6dsx
        - Support for the ASM330LHH 6-axis (accelerometer + gyro) sensor.
        - Support for the LSM6DS0X
      * matbotix mb1232
        - New driver for this ultrasound ranging device family. Including bindings.
        - Supports mb1202, mb1212, mb1222, mb1232, mb1242, mb7040 and mb7137.
      * max31856
        - New driver for this thermocouple temperature sensor.
      * meson saradc
        - Support the Meson-G12A (ID addition only).
      * stmpe-adc
        - New driver supporting generic ADC alongside touchscreen support which
          previously existed. Includes DT bindings.
      * vcnl4000
        - Support for the vcln4040 proximity and light sensor, including adding
          DT bindings for this and parts previously supported.
      
      Features
      * core
        - Allow reading of mount matrices from ACPI in addition to DT.
        - Common binding for theromcouple types.
      * ad5933
        - Add ABI docs as there are a few 'unsual' elements about this
          device - perhaps because it's our only impedance analyser.
      * ad7780
        - Add gain and filter gpio support + readback of current gain and filter.
      * adis16480
        - Allow selection fo the dataready pin to be used.
        - Device tree ID table and binding documentation.
        - Support external clock modes, including new bindings.
      * bma180
        - Mount matrix support.
      * bmc150
        - Mount matrix support.
      * bmg160
        - Mount matrix support.
        - DT id table and bindings doc.
      * bmp280
        - Put calibration data into the entropy pool.
      * hmc5843
        - Mount matrix support.
      * itg3200
        - Mount matrix support.
      * kxcjk1013
        - Device tree id table, and binding docs.
      * lpc32xx
        - Add scale when regulator specified including DT docs for regulator.
      * pms7003
        - Add device IDs for all supported parts to driver and binding.
      * stm32-dfsdm
        - Enable hw consumer support, scan mode control and a complex set of
          triggered buffer modes.
        - Power management.
      * stm32-lptimer-counter
        - power management.
        - Document the pinctrl sleep state binding.
      * ti-ads7950
        - GPIO pin support.
      
      Cleanups, minor fixes
      * core
        - Use bitmap_zalloc to make it explicit that is what we are doing.
        - Tidy up all the Kconfig files (which had slowly gotten messy)
        - Fix a forwards definition missing issue in iio/driver.h
      * ad sigma delta core
        - Improve handling of SPI bus locking vs CS assertion.  This has been
          wrong a long time so not rushing this in.
      * ad5064
        - Mlock to local lock.
      * ad5933 (staging cleanup)
        - Multiline comment fixes.
        - Include ordering.
        - SPDX.
        - Tidy up Kconfig help which was a bit missleading.
        - Change some non standard attributes to ABI defined ones.
      * ad7124
        - White space fix.
      * ad7192
        - White space.
        - Use DT clock binding.
        - Improve error reporting.
        - Platform data to DT conversion.
        - Use read_avail callback, mostly to avoid the endless series of
          patches from new contributors trying to falsely put spaces around
          the negative sign.
      * ad7280a
        - Add brackets to macros to avoid potential precedence isseus.
        - Add temp vars for event codes to reduce indent and improved readability.
        - Clean out som CamelCase notation.
        - White space.
      * ad7606
        - Fix broken file naming in MAINTAINERS.
      * ad7780
        - Missing switch defaults to supress warnings and harden the code slightly.
        - Set pattern masks more directly.
        - Add ID values and masks for all supported chips.
        - SPDX + add Renato as a copyright holder as he has done a lot of work on
          this driver.
        - Add brackets to macros to avoid potential precedence issues.
      * ad7923
        - White space fixes.
        - Use BIT macro to improve readability.
        - Add brackets to macros to avoid potential precedence issues.
        - Tidy up a null comparisom.
      * ad9523
        - Fix a typo in naming of variables.
      * adis16400
        - Combine trigger file into main code as no advantage in separate files.
          Rename core file to just adis16400.
        - Squash the header into the c file now there is only one file.
        - Generalize burst mode to support new variants.
      * ak8975
        - Local variable to improve readability around mount matrix support.
      * as3935
        - Avoid potential race by ensuring remove does exact opposite of
          probe rather than a slightly different order.
      * cross_ec
        - Drop some unnecessary includes.
        - Fix some warning and the slightly 'unusual' code.
        - Add some docs for non obvious function.
        - SPDX
      * hmc5843
        - Potential unhandled error case.
      * iio trigger core
        - Print an error if there is no available irq due to max consumers per
          trigger being set to low.
      * iio loop trigger
        - Drop an unlikely on IS_ERR as IS_ERR already has the annotation.
      * ingenic-adc
        - Drop a redundant dev_err call as devm_ioremap_resource reports the same
          internally.
      * lmp91000
        - Drop some unncessary parentheses and white space tidy up.
        - Invert and if statement to improve readability.
        - Fix a wrong error message.
      * lpc32xx
        - Header sorting + drop some unused ones.
      * mma8542
        - Mark a switch fallthrough.
      * mpu6050
        - Add a local variable to improve code readability around mount matrix
          support.
      * mxs-lradc-adc
        - Handle devm_iio_trigger_alloc failure.
      * sps30
        - Fix up a kernel version in the ABI docs.
      * srf04
        - DT binding doc converted to yaml.
      * ssp_sensors
        - Supress a clang build warning due to lack of visibility of conditional
          within a iio_push_to_buffers_with_timestamp.  (reasonable false warning!)
      * st_accel
        - Drop pointless less than 0 comparisom of unsigned int.
      * stm32-dfsdm
        - Improve accuracy of spi_master_frequency calculation.
        - Improve calculation fo sampling frequency.
        - Rework various internals to simplify adding triggered buffer support.
        - Claim direct mode to avoid racing around read_raw and being in buffered
          mode.
      * stmpe
        - Fix a clang false positive warning.
      * ti-ads7950
        - Use local lock rather than using the core mlock when not locking around
          the device mode.
      * vcnl4000
        - Use word writes instead of byte writes.  It seems byte writes are fine
          for some parts (undocument) but not others that the driver will shortly
          support.
      
      Other
      * mailmap
        - Add email address change for Sean Nyekjaer.  Update in relevant drivers
      
      * tag 'iio-for-5.2a-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (129 commits)
        iio: ad_sigma_delta: Properly handle SPI bus locking vs CS assertion
        iio: adc: stm32-dfsdm: add PM support
        iio: adc: stm32-dfsdm: improve sampling frequency accuracy
        staging: iio: adc: ad7280a: Tab alignment
        MAINTAINERS: Fix the link to ad7606 dt-bindings
        iio:temperature: Add MAX31856 thermocouple support
        iio:temperature:max31856:Add device tree bind info
        dt-bindings: iio/temperature: Add thermocouple types (and doc)
        devantech-srf04.yaml: transform DT binding to YAML
        iio: frequency: ad9523: Fix typo in ad9523_platform_data
        iio: Make possible to include driver.h first
        dt-bindings: iio: add Bosch BMG160 gyroscope sensor
        iio: gyro: bmg160: add device tree compatibility table
        staging: iio: adc: ad7192: Use read_avail for available attributes
        dt-bindings: iio: light: add vcnl4040 devicetree bindings
        iio: light: vcnl4000 add support for the VCNL4040 proximity and light sensor
        dt-bindings: iio: light: add vcnl4000 devicetree bindings
        iio: light: vcnl4000 add devicetree hooks
        iio: light: vcnl4000 use word writes instead of byte writes
        iio: adc: stm32-dfsdm: claim direct mode for raw read and settings
        ...
      932f9892
    • Lars-Peter Clausen's avatar
      iio: ad_sigma_delta: Properly handle SPI bus locking vs CS assertion · df1d80ae
      Lars-Peter Clausen authored
      For devices from the SigmaDelta family we need to keep CS low when doing a
      conversion, since the device will use the MISO line as a interrupt to
      indicate that the conversion is complete.
      
      This is why the driver locks the SPI bus and when the SPI bus is locked
      keeps as long as a conversion is going on. The current implementation gets
      one small detail wrong though. CS is only de-asserted after the SPI bus is
      unlocked. This means it is possible for a different SPI device on the same
      bus to send a message which would be wrongfully be addressed to the
      SigmaDelta device as well. Make sure that the last SPI transfer that is
      done while holding the SPI bus lock de-asserts the CS signal.
      Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarAlexandru Ardelean <Alexandru.Ardelean@analog.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      df1d80ae
    • Fabrice Gasnier's avatar
      iio: adc: stm32-dfsdm: add PM support · 6ec417d2
      Fabrice Gasnier authored
      Add PM and runtime PM support to STM32 DFSDM drivers:
      - stm32-dfsdm-core: manage clocks.
      - stm32-dfsdm-adc: restore channels configuration upon resume. Also stop
        restart everything in case of buffer mode.
      Signed-off-by: default avatarFabrice Gasnier <fabrice.gasnier@st.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      6ec417d2
    • Fabrice Gasnier's avatar
      iio: adc: stm32-dfsdm: improve sampling frequency accuracy · 9f57110d
      Fabrice Gasnier authored
      The sample frequency is driven using the oversampling ratio depending
      on the SPI bus frequency.
      Currently, oversampling ratio is computed by an entire division:
      - spi_freq / sample_freq. This may result in inaccurate value.
      Using DIV_ROUND_CLOSEST improves resulting sample frequency, which is
      useful for audio that requests fixed rates (such as: 8, 16 or 32 kHz).
      BTW, introduce new routine to re-factor sample frequency setting, and
      move frequency accuracy message from warning to debug level.
      Signed-off-by: default avatarFabrice Gasnier <fabrice.gasnier@st.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      9f57110d
    • Cristian Sicilia's avatar
      staging: iio: adc: ad7280a: Tab alignment · 65500c53
      Cristian Sicilia authored
      Aligned some parameters.
      Signed-off-by: default avatarCristian Sicilia <sicilia.cristian@gmail.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      65500c53
    • Stefan Popa's avatar
      MAINTAINERS: Fix the link to ad7606 dt-bindings · 0976f94f
      Stefan Popa authored
      The devicetree bindings documentation for ad7606 should also include
      the vendor prefix: ad7606.txt -> adi,ad7606.txt
      
      Fixes: 6e33a125 ("dt-bindings: iio: adc: Add docs for AD7606 ADC")
      Signed-off-by: default avatarStefan Popa <stefan.popa@analog.com>
      Reviewed-by: default avatarMukesh Ojha <mojha@codeaurora.org>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      0976f94f
    • Paresh Chaudhary's avatar
      iio:temperature: Add MAX31856 thermocouple support · fb55a513
      Paresh Chaudhary authored
      This patch adds support for Maxim MAX31856 thermocouple
      temperature sensor support.
      
      More information can be found in:
      https://www.maximintegrated.com/en/ds/MAX31856.pdf
      
      NOTE: Driver support only Comparator Mode.
      Signed-off-by: default avatarParesh Chaudhary <paresh.chaudhary@rockwellcollins.com>
      Signed-off-by: default avatarMatt Weber <matthew.weber@rockwellcollins.com>
      Signed-off-by: default avatarPatrick Havelange <patrick.havelange@essensium.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      fb55a513
    • Paresh Chaudhary's avatar
      iio:temperature:max31856:Add device tree bind info · 8fede567
      Paresh Chaudhary authored
      This patch added device tree binding info for MAX31856 driver.
      Signed-off-by: default avatarParesh Chaudhary <paresh.chaudhary@rockwellcollins.com>
      Signed-off-by: default avatarMatt Weber <matthew.weber@rockwellcollins.com>
      Signed-off-by: default avatarPatrick Havelange <patrick.havelange@essensium.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      8fede567
    • Patrick Havelange's avatar
      dt-bindings: iio/temperature: Add thermocouple types (and doc) · 023e4163
      Patrick Havelange authored
      This patch introduces common thermocouple types used by various
      temperature sensors. Also a brief documentation explaining this
      "thermocouple-type" property.
      Signed-off-by: default avatarPatrick Havelange <patrick.havelange@essensium.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      023e4163
    • Andreas Klinger's avatar
      devantech-srf04.yaml: transform DT binding to YAML · 52f171ab
      Andreas Klinger authored
      devantech-srf04.yaml: yaml devicetree binding for iio ultrasonic
      proximity driver of devantech srf04
      
      use devantech-srf04.txt, transform binding into yaml and remove the
      outdated DT documentation
      Signed-off-by: default avatarAndreas Klinger <ak@it-klinger.de>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      52f171ab
    • Lars-Peter Clausen's avatar
      iio: frequency: ad9523: Fix typo in ad9523_platform_data · 5cd66239
      Lars-Peter Clausen authored
      Replace diff_{m1,m2} with div_{m1,m2} since they are dividers and not a
      differential settings.
      Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarAlexandru Ardelean <alexandru.ardelean@analog.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      5cd66239
    • Andy Shevchenko's avatar
      iio: Make possible to include driver.h first · 89c16919
      Andy Shevchenko authored
      If we put headers alphabetically sorted in the IIO driver,
      the compilation will abort because of unknown type to handle.
      
      Simple add a forward declaration of opaque struct iio_dev.
      Suggested-by: default avatarJonathan Cameron <jic23@kernel.org>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      89c16919
    • H. Nikolaus Schaller's avatar
      dt-bindings: iio: add Bosch BMG160 gyroscope sensor · e8379e05
      H. Nikolaus Schaller authored
      Define bindings for "bosch,bmg160" and "bosch,bmi055_gyro".
      Signed-off-by: default avatarH. Nikolaus Schaller <hns@goldelico.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      e8379e05
    • H. Nikolaus Schaller's avatar
      94bceb3c
    • Mircea Caprioru's avatar
      staging: iio: adc: ad7192: Use read_avail for available attributes · 2b0d1c6f
      Mircea Caprioru authored
      This patch removes the in_voltage-voltage_scale_available and
      in_voltage_scale_available attributes. These are replaced with available
      attributes added in info_mask_shared_by_type_available.
      
      With this modification the iio core will be responsible with naming the
      attributes thus removing the checkpatch warning related to
      in_voltage-voltage_scale_available naming.
      Signed-off-by: default avatarMircea Caprioru <mircea.caprioru@analog.com>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      2b0d1c6f