1. 12 12月, 2014 1 次提交
  2. 08 8月, 2014 1 次提交
  3. 02 8月, 2014 1 次提交
  4. 28 7月, 2014 1 次提交
  5. 20 7月, 2014 1 次提交
    • L
      iio: buffer: Fix demux table creation · 61bd55ce
      Lars-Peter Clausen 提交于
      When creating the demux table we need to iterate over the selected scan mask for
      the buffer to get the samples which should be copied to destination buffer.
      Right now the code uses the mask which contains all active channels, which means
      the demux table contains entries which causes it to copy all the samples from
      source to destination buffer one by one without doing any demuxing.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      Cc: Stable@vger.kernel.org
      61bd55ce
  6. 29 6月, 2014 1 次提交
  7. 30 4月, 2014 1 次提交
  8. 22 3月, 2014 1 次提交
    • A
      iio: querying buffer scan_mask should return 0/1 · 2076a20f
      Alec Berg 提交于
      Ensure that querying the IIO buffer scan_mask returns a value of
      0 or 1. Currently querying the scan mask has the value returned
      by test_bit(), which returns either true or false. For some
      architectures test_bit() may return -1 for true, which will appear
      to return an error when returning from iio_scan_mask_query().
      
      Additionally, it's important for the sysfs interface to consistently
      return the same thing when querying the scan_mask.
      Signed-off-by: NAlec Berg <alecaberg@chromium.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      2076a20f
  9. 18 2月, 2014 1 次提交
  10. 04 12月, 2013 2 次提交
  11. 17 10月, 2013 2 次提交
    • L
      iio: Remove unused iio_sw_buffer_preenable() · bf741c08
      Lars-Peter Clausen 提交于
      The functionality implemented by iio_sw_buffer_preenable() is now done directly
      in the IIO core and previous users of iio_sw_buffer_preenable() have all been
      updated to not use it anymore. It is unused now and can be remove.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      bf741c08
    • L
      iio: Update buffer's bytes per datum after updating the scan mask · 8e050996
      Lars-Peter Clausen 提交于
      Currently a IIO device driver needs to make sure to update the buffer's bytes
      per datum after the scan mask has changed. This is usually done in the preenable
      callback by invoking iio_sw_buffer_preenable(). This is something that needs to
      be done and is done for virtually all devices which support buffers (we
      currently have only one exception). Also this a bit of a layering violation
      since we have to call the buffer setup ops from the device setup ops. This
      requires the device driver to know about the internal requirements of the buffer
      (e.g. whether we need to call the set_bytes_per_datum) callback. And especially
      with in-kernel buffer consumers, which allows to attach arbitrary buffers to a
      device, this is something that the driver can't know.
      
      Moving this to the core allows us to drop the individual calls to
      iio_sw_buffer_preenable() from drivers.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Cc: Denis Ciocca <denis.ciocca@st.com>
      Cc: Marek Vasut <marex@denx.de>
      Cc: Zubair Lutfullah <zubair.lutfullah@gmail.com>
      Cc: Jacek Anaszewski <j.anaszewski@samsung.com>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      8e050996
  12. 16 10月, 2013 1 次提交
  13. 12 10月, 2013 6 次提交
  14. 22 9月, 2013 1 次提交
  15. 21 9月, 2013 2 次提交
    • L
      iio: Stop sampling when the device is removed · a87c82e4
      Lars-Peter Clausen 提交于
      Make sure to stop sampling when the device is removed, otherwise it will
      continue to sample forever.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      a87c82e4
    • P
      iio: Fix crash when scan_bytes is computed with active_scan_mask == NULL · d66e0452
      Peter Meerwald 提交于
      if device has available_scan_masks set and the buffer is enabled without
      any scan_elements enabled, in a NULL pointer is dereferenced in iio_compute_scan_bytes()
      
      [   18.993713] Unable to handle kernel NULL pointer dereference at virtual address 00000000
      [   19.002593] pgd = debd4000
      [   19.005432] [00000000] *pgd=9ebc0831, *pte=00000000, *ppte=00000000
      [   19.012329] Internal error: Oops: 17 [#1] PREEMPT ARM
      [   19.017639] Modules linked in:
      [   19.020843] CPU: 0    Not tainted  (3.9.11-00036-g75c888a-dirty #207)
      [   19.027587] PC is at _find_first_bit_le+0xc/0x2c
      [   19.032440] LR is at iio_compute_scan_bytes+0x2c/0xf4
      [   19.037719] pc : [<c021dc60>]    lr : [<c03198d0>]    psr: 200d0013
      [   19.037719] sp : debd9ed0  ip : 00000000  fp : 000802bc
      [   19.049713] r10: 00000000  r9 : 00000000  r8 : deb67250
      [   19.055206] r7 : 00000000  r6 : 00000000  r5 : 00000000  r4 : deb67000
      [   19.062011] r3 : de96ec00  r2 : 00000000  r1 : 00000004  r0 : 00000000
      [   19.068847] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      [   19.076324] Control: 10c5387d  Table: 9ebd4019  DAC: 00000015
      
      problem is the rollback code in iio_update_buffers(), old_mask may be NULL (e.g. on first
      call)
      
      I'm not too confident about the fix; works for me...
      Signed-off-by: NPeter Meerwald <pmeerw@pmeerw.net>
      Reviewed-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      d66e0452
  16. 19 9月, 2013 1 次提交
  17. 16 9月, 2013 3 次提交
  18. 23 5月, 2013 1 次提交
  19. 10 11月, 2012 1 次提交
  20. 20 10月, 2012 1 次提交
  21. 08 9月, 2012 1 次提交
  22. 04 9月, 2012 1 次提交
  23. 10 7月, 2012 2 次提交
    • L
      iio: Introduce iio_validate_scan_mask_onehot · 81636632
      Lars-Peter Clausen 提交于
      Add a helper function for validating a scan mask for devices where exactly one
      channel must be selected during sampling. This is a common case among devices
      which have scan mask restrictions so it makes sense to provide this function in
      the core.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      81636632
    • L
      iio: Add callback to check whether a scan mask is valid · 939546d1
      Lars-Peter Clausen 提交于
      This is useful for cases where the number of valid scan masks grows
      exponentially, but it is rather easy to check whether a mask is valid or not
      programmatically.
      
      An example of such a case is a device with multiple ADCs where each ADC has a
      upstream MUX, which allows to select from a number of physical channels.
      
        +-------+   +-------+
        |       |   |       | --- Channel 1
        | ADC 1 |---| MUX 1 | ---   ...
        |       |   |       | --- Channel M
        +-------+   +-------+
      
           .            .            .
           .            .            .
           .            .            .
      
        +-------+   +-------+
        |       |   |       | --- Channel M * N + 1
        | ADC N |---| MUX N | ---       ...
        |       |   |       | --- Channel M * N + M
        +-------+   +-------+
      
      The number of necessary scan masks for this case is (M+1)**N - 1, on the other
      hand it is easy to check whether subsets for each ADC of the scanmask have only
      one bit set.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      939546d1
  24. 09 7月, 2012 1 次提交
  25. 19 6月, 2012 1 次提交
  26. 16 6月, 2012 1 次提交
  27. 15 5月, 2012 1 次提交
  28. 26 4月, 2012 2 次提交