1. 05 Jan, 2019 11 commits
  2. 22 Dec, 2018 7 commits
  3. 16 Dec, 2018 20 commits
  4. 13 Dec, 2018 1 commit
    • Greg Kroah-Hartman's avatar
      Merge tag 'iio-for-4.21b' of... · c6cbcdea
      Greg Kroah-Hartman authored
      Merge tag 'iio-for-4.21b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
      
      Jonathan writes:
      
      Second set of IIO new device support, features and cleanups for the 4.21 cycle.
      
      Staging graduation
      * ad2s90
        - Driver for this resolver to digital chip.
      
      New drivers and device support.
      * ad5686
        - Add support for ad5310r DAC and associated fix in value read back.
      * exynos-adc
        - Support for S5PV210 which is slightly different from other parts.
      * mcp41010
        - Driver supporting MCP41010, MCP41050, MCP41100, MCP42010, MCP42050 and
        MCP42100 microchip potentiometers.
      
      New ACPI ids.
      * ak8975
        - AKM9911 ACPI HID.
      * kxcjk-1013
        - KXJ2109 ACPI HID.
        - KIOX010A ACPI HID.
      
      New features
      * ad5933
        - Explicit DT binding.
      * ad2s90
        - Explicit DT binding including dropping spi setup that is done via dt
          in favour of verifying the settings form DT.
      * adt7316
        - Explicit DT binding and support for gpio, irq_flags etc.
      * stm32-adc
        - Runtime power management.
      
      Minor fixes and cleanups
      * core
        - Protect against missing info structure.
      * ad2s90
        - SPDX
        - Add documentation fo the mutex.
      * ad7280a
        - Check allocation failure.
        - Fix an accidental replacement of an error return.
      * adt7316
        - Switch some variables to be local and rename for consistency with other
          drivers.
        - Revert a false handling of 0 as an error introduced earlier this cycle.
      * bmi160
        - Use devm functions throughout probe() to avoid need for remove().
      * hid-sensor-hub
        - White space cleanup.
      * hts221
        - MAINTAINERS entry.
      * lis302
        - Use generic name in the DT binding doc.
      * Messon-saradc
        - Check for allocation error.
        - Fix some presented clock names that break clk debugfs.
      * qcom-spmi-adc
        - A fix for initialization of the prescale property. Came late in the
          cycle, so merge window is probably the best route for this.
      * st_lsm6dsx
        - Allow for variable read length to support wider range of slave devices.
      
      * tag 'iio-for-4.21b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (37 commits)
        iio: adc: qcom-spmi-adc5: Initialize prescale properly
        dt-bindings: iio: adc: exynos-adc: Add S5PV210 variant
        iio: adc: Allow selection of Exynos ADC on S5PV210
        iio: adc: exynos-adc: Add S5PV210 variant
        iio: bmi160: use all devm functions in probe
        iio: dac: ad5686: fix bit shift read register
        iio:dac:ad5686: Add AD5310R support
        Revert "Staging: iio: adt7316: Add an extra check for 'ret' equals to 0"
        dt-bindings: iio: accel: use a generic node name for lis302
        iio: core: check 'info' value before registering the device
        staging: iio: adc: ad7280a: fix overwrite of the returned value
        staging: iio: adc: ad7280a: check for devm_kasprint() failure
        iio: humidity: hts221: add entry in MAINTAINERS file
        iio: magnetometer: ak8975: Add the "AKM9911" ACPI HID
        staging:iio:ad2s90: Move out of staging
        staging:iio:ad2s90: Add comment to device state mutex
        staging:iio:ad2s90: Replace license text w/ SPDX identifier
        dt-bindings:iio:resolver: Add docs for ad2s90
        staging:iio:ad2s90: Add max frequency check at probe
        staging:iio:ad2s90: Remove spi setup that should be done via dt
        ...
      c6cbcdea
  5. 12 Dec, 2018 1 commit
    • Evan Green's avatar
      iio: adc: qcom-spmi-adc5: Initialize prescale properly · db23d887
      Evan Green authored
      adc5_get_dt_data uses a local, prop, feeds it to adc5_get_dt_channel_data,
      and then puts the result into adc->chan_props. The problem is
      adc5_get_dt_channel_data may not initialize that structure fully, so a
      garbage value is used for prescale if the optional "qcom,pre-scaling" is
      not defined in DT. adc5_read_raw then uses this as an array index,
      generating a crash that looks like this:
      
      [    6.683186] Unable to handle kernel paging request at virtual address ffffff90e78c7964
      Call trace:
      qcom_vadc_scale_code_voltage_factor+0x74/0x104
      qcom_vadc_scale_hw_calib_die_temp+0x20/0x60
      qcom_adc5_hw_scale+0x78/0xa4
      adc5_read_raw+0x3d0/0x65c
      iio_channel_read+0x240/0x30c
      iio_read_channel_processed+0x10c/0x150
      qpnp_tm_get_temp+0xc0/0x40c
      of_thermal_get_temp+0x7c/0x98
      thermal_zone_get_temp+0xac/0xd8
      thermal_zone_device_update+0xc0/0x38c
      qpnp_tm_probe+0x624/0x81c
      platform_drv_probe+0xe4/0x11c
      really_probe+0x188/0x3fc
      driver_probe_device+0xb8/0x188
      __device_attach_driver+0x114/0x180
      bus_for_each_drv+0xd8/0x118
      __device_attach+0x180/0x27c
      device_initial_probe+0x20/0x2c
      bus_probe_device+0x78/0x124
      deferred_probe_work_func+0xfc/0x138
      process_one_work+0x3d8/0x8b0
      process_scheduled_works+0x48/0x6c
      worker_thread+0x488/0x7cc
      kthread+0x24c/0x264
      ret_from_fork+0x10/0x18
      
      Unfortunately, when I went to add the initializer for this and tried to
      boot it, my machine shut down immediately, complaining that it was
      hotter than the sun. It appears that adc5_chans_pmic and adc5_chans_rev2
      were initializing prescale_index as if it were directly a divisor,
      rather than the index into adc5_prescale_ratios that it is.
      
      Fix the uninitialized value, and change the static initialization to use
      indices into adc5_prescale_ratios.
      Signed-off-by: default avatarEvan Green <evgreen@chromium.org>
      Reviewed-by: default avatarMatthias Kaehlcke <mka@chromium.org>
      Cc: <Stable@vger.kernel.org>
      Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
      db23d887