1. 08 Dec, 2020 20 commits
  2. 07 Dec, 2020 15 commits
  3. 04 Dec, 2020 1 commit
  4. 03 Dec, 2020 4 commits
    • Greg Kroah-Hartman's avatar
      Merge tag 'iio-for-5.11b-take2' of... · 332037d4
      Greg Kroah-Hartman authored
      Merge tag 'iio-for-5.11b-take2' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
      
      Jonathan writes:
      
      2nd set of IIO device support, features, cleanups and yaml conversions for 5.11
      
      v2: Fix some missing Sign offs from me that Greg found in v1.
      
      Includes low priority/late breaking/long standing bug fixes.
      
      Note this includes the last few patches that were listed in the description
      for the previous pull request but weren't actually in the PULL.
      
      New devices support
      * bosch,bmc150-accel
        - Support for BMA222, including adding binding doc that was previously
          missing.
      * st,lsm6dsx
        - Support LSM6DSOP accelerometer + gyroscope sensor.
      
      yaml-conversions by manufacturer
      * core
        - adc
        - iio-binding (drop as now in dt-schema)
        - temperature (drop as not clear it is generic)
      * generic (no specific manufacturer)
        - dpot-dac
        - current-sense-amplifier
        - current-sense-shunt
        - envelope-detector
        - voltage-divider
      * adi,ad5592r adi,ad7124 adi,ad7292 adi,adf4350
      * atmel,sama9260-adc
      * bosch,bma180 bosch,bmg180
      * brcm,iproc-static-adc
      * capella,cm3605
      * fsl,mma8452
      * kionix,kxcjk1013
      * maxim,max1027 (from trivial)
      * mediatek,mt2701-auxdac
      * microchip,mcp4531 (from trivial)
      * qcom,pm8018-adc qcom,spi-iadc
      * st,st-sensors
      * ti,ads124s08 ti,afe4403 ti,afe4404 ti,lmp91000 ti,palmas-gpadc
      
      Features
      * bosch,bmc150
        - Handle unusual ACPI binding where two devices are provided in a single
          ACPI device (BOSC0200).
        - ACPI based mount matrix handling
      * st,hts221
        - regulator control
      * st,lsm6dsx
        - regulator control
      
      Cleanup + minor fixes
      * core
        - Reduce duplication in iio_format_avail_{list,range}() and iio_format_list()
        - Fix an issue in the demux update code that could lead to misaligned data.
          Possible no existing driver hits this. Been there a very long time with
          no bug reports.
        - Improve iio_map_array_register() error handling.
        - Avoid polling driver again if try_reenable() callback returns non 0.
          Only users of this were bugs so also drop the return value.
      * core/cb_buffer
        - Return an error if no callback provided (include adding a dummy for one
          unusual case where no callback is valid).
      * trigger/hrtimer-trig, sysfs-trig
        - Fix an issue seen with PREEMPT_RT by marking irq_work as expiring in hard
          interrupt context.
      * adi,ad_sigma_delta library
        - Avoid putting SPI transfer buffers on stack for DMA safety reasons
      * adi,ad5272
        - Fix discrepancy in polarity of reset line between binding documentation
          (which was right) and driver.
      * adi,ad7298
        - Use devm for all of probe
      * atmel,at91_adc
        - Drop at91_adc_ids as only support DT probe
        - Simplify resolution selection and bindings
        - Drop binding for triggers and move into driver based on compatible.
        - Merge at91_adc_probe_dt() into main at91_adc_probe()
      * bosch,bmc150
        - Drop unused structure member.
      * bosch,bmi160
        - Fix overly long buffer due to wrong channel count.
        - Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
      * fsl,mag3110
        - Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
      * fsl,mpl3115
        - Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
      * invn,mpu3050
        - Use 64 bit local variable and FIELD_GET to simplify code that extracts
          values from OTP.
      * qcom,spmi-vadc
        - Drop wrong use of io-channel-ranges in binding doc.
      * rockchip,saradc
        - Fix a missing clk_disable_unprepare() in an error path.
      * rohm,rpr0521
        - Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
      * samsung,exynos-adc
        - Drop wrong use of io-channel-ranges in binding doc.
      * st,lsm6dsx
        - Reduce duplication in the chip model specific tables.
        - Fix an issue with missed edge-interrupts that can occur when using
          the FIFO.
      * st,uvis21
        - Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
      * ti,adc084s021
        - Tidy up endian types to clear a warning.
      * ti,ads124s08
        - Fix too long a buffer.
        - Fix potential buffer alignment into iio_push_to_buffers_with_timestamp()
      
      Counter
      * microchip,tcb-counter
        - Add Kamel Bouhara to MAINTAINERS
        - Fix CMR value check
      
      * tag 'iio-for-5.11b-take2' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (80 commits)
        iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume
        iio: imu: st_lsm6dsx: fix edge-trigger interrupts
        counter: microchip-tcb-capture: Fix CMR value check
        iio: sysfs-trigger: Mark irq_work to expire in hardirq context
        iio: hrtimer-trigger: Mark hrtimer to expire in hard interrupt context
        iio: accel: bmc150: Get mount-matrix from ACPI
        iio: accel: bmc150: Check for a second ACPI device for BOSC0200
        iio: accel: bmc150: Removed unused bmc150_accel_dat irq member
        iio:gyro:mpu3050 Treat otp value as a __le64 and use FIELD_GET() to break up
        iio:adc:ti-ads124s08: Fix alignment and data leak issues.
        iio:adc:ti-ads124s08: Fix buffer being too long.
        iio:pressure:mpl3115: Force alignment of buffer
        iio:imu:bmi160: Fix alignment and data leak issues
        iio:imu:bmi160: Fix too large a buffer.
        iio:magnetometer:mag3110: Fix alignment and data leak issues.
        iio:light:st_uvis25: Fix timestamp alignment and prevent data leak.
        iio:light:rpr0521: Fix timestamp alignment and prevent data leak.
        iio:adc:ti-adc084s021 Tidy up endian types
        iio:trigger: rename try_reenable() to reenable() plus return void
        iio: Fix: Do not poll the driver again if try_reenable() callback returns non 0.
        ...
      332037d4
    • Qinglang Miao's avatar
      iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume · 560c6b91
      Qinglang Miao authored
      Fix the missing clk_disable_unprepare() of info->pclk
      before return from rockchip_saradc_resume in the error
      handling case when fails to prepare and enable info->clk.
      Suggested-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Fixes: 44d6f2ef ("iio: adc: add driver for Rockchip saradc")
      Signed-off-by: default avatarQinglang Miao <miaoqinglang@huawei.com>
      Cc: <Stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/20201103120743.110662-1-miaoqinglang@huawei.comSigned-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      560c6b91
    • Lorenzo Bianconi's avatar
      iio: imu: st_lsm6dsx: fix edge-trigger interrupts · 3f9bce7a
      Lorenzo Bianconi authored
      If we are using edge IRQs, new samples can arrive while processing
      current interrupt since there are no hw guarantees the irq line
      stays "low" long enough to properly detect the new interrupt.
      In this case the new sample will be missed.
      Polling FIFO status register in st_lsm6dsx_handler_thread routine
      allow us to read new samples even if the interrupt arrives while
      processing previous data and the timeslot where the line is "low"
      is too short to be properly detected.
      
      Fixes: 89ca88a7 ("iio: imu: st_lsm6dsx: support active-low interrupts")
      Fixes: 290a6ce1 ("iio: imu: add support to lsm6dsx driver")
      Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
      Link: https://lore.kernel.org/r/5e93cda7dc1e665f5685c53ad8e9ea71dbae782d.1605378871.git.lorenzo@kernel.org
      Cc: <Stable@vger.kernel.org>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      3f9bce7a
    • William Breathitt Gray's avatar
      counter: microchip-tcb-capture: Fix CMR value check · 3418bd7c
      William Breathitt Gray authored
      The ATMEL_TC_ETRGEDG_* defines are not masks but rather possible values
      for CMR. This patch fixes the action_get() callback to properly check
      for these values rather than mask them.
      
      Fixes: 106b1041 ("counter: Add microchip TCB capture counter")
      Signed-off-by: default avatarWilliam Breathitt Gray <vilhelm.gray@gmail.com>
      Acked-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
      Acked-by: default avatarKamel Bouhara <kamel.bouhara@bootlin.com>
      Cc: <Stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/20201114232805.253108-1-vilhelm.gray@gmail.comSigned-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      3418bd7c