1. 26 1月, 2015 1 次提交
  2. 06 1月, 2015 1 次提交
  3. 12 12月, 2014 6 次提交
    • L
      iio: buffer: Drop get_length callback · 37495660
      Lars-Peter Clausen 提交于
      We already do have the length field in the struct iio_buffer which is
      expected to be in sync with the current size of the buffer. And currently
      all implementations of the get_length callback either return this field or a
      constant number.
      
      This patch removes the get_length callback and replaces all occurrences in
      the IIO core with directly accessing the length field of the buffer.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      37495660
    • L
      iio: buffer: Make length attribute read only for buffers without set_length · 8d92db28
      Lars-Peter Clausen 提交于
      If a buffer implementation does not implement the set_length() callback the
      length will be static and can not be changed by userspace. Mark the length
      attribute as a read only property in this case so userspace is aware of this
      rather than just silently accepting any length value.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      8d92db28
    • L
      iio: buffer: Allocate standard attributes in the core · 08e7e0ad
      Lars-Peter Clausen 提交于
      All buffers want at least the length and the enable attribute. Move the
      creation of those attributes to the core instead of having to do this in
      each individual buffer implementation. This allows us to get rid of some
      boiler-plate code.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      08e7e0ad
    • L
      iio: buffer: Move iio_buffer_alloc_sysfs and iio_buffer_free_sysfs · d967cb6b
      Lars-Peter Clausen 提交于
      The next patch will introduce new dependencies in iio_buffer_alloc_sysfs()
      to functions which are currently defined after iio_buffer_alloc_sysfs(). To
      avoid forward declarations move both iio_buffer_alloc_sysfs() and
      iio_buffer_free_sysfs() after those function.
      
      This is split into two patches one moving the functions and one adding the
      dependencies to make review of the actual changes easier.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      d967cb6b
    • L
      iio: Move buffer registration to the core · 3e1b6c95
      Lars-Peter Clausen 提交于
      Originally device and buffer registration were kept as separate operations
      in IIO to allow to register two distinct sets of channels for buffered and
      non-buffered operations. This has since already been further restricted and
      the channel set registered for the buffer needs to be a subset of the
      channel set registered for the device. Additionally the possibility to not
      have a raw (or processed) attribute for a channel which was registered for
      the device was added a while ago. This means it is possible to not register
      any device level attributes for a channel even if it is registered for the
      device. Also if a channel's scan_index is set to -1 and the channel is
      registered for the buffer it is ignored.
      
      So in summary it means it is possible to register the same channel array for
      both the device and the buffer yet still end up with distinctive sets of
      channels for both of them. This makes the argument for having to have to
      manually register the channels for both the device and the buffer invalid.
      Considering that the vast majority of all drivers want to register the same
      set of channels for both the buffer and the device it makes sense to move
      the buffer registration into the core to avoid some boiler-plate code in the
      device driver setup path.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      3e1b6c95
    • L
      iio: Unexport iio_scan_mask_set() · 217a5cf0
      Lars-Peter Clausen 提交于
      Individual drivers should not be messing with the scan mask that contains
      the list of enabled channels. This is something that is supposed to be
      managed by the core.
      
      Now that the last few drivers that used it to configure a default scan mask
      have been updated to not do this anymore we can unexport the function.
      
      Note, this patch also requires moving a few functions around so they are all
      declared before the first internal user.
      Signed-off-by: NLars-Peter Clausen <lars@metafoo.de>
      Reviewed-by: NDaniel Baluta <daniel.baluta@intel.com>
      Signed-off-by: NJonathan Cameron <jic23@kernel.org>
      217a5cf0
  4. 08 8月, 2014 1 次提交
  5. 02 8月, 2014 1 次提交
  6. 28 7月, 2014 1 次提交
  7. 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
  8. 29 6月, 2014 1 次提交
  9. 30 4月, 2014 1 次提交
  10. 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
  11. 18 2月, 2014 1 次提交
  12. 04 12月, 2013 2 次提交
  13. 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
  14. 16 10月, 2013 1 次提交
  15. 12 10月, 2013 6 次提交
  16. 22 9月, 2013 1 次提交
  17. 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
  18. 19 9月, 2013 1 次提交
  19. 16 9月, 2013 3 次提交
  20. 23 5月, 2013 1 次提交
  21. 10 11月, 2012 1 次提交
  22. 20 10月, 2012 1 次提交
  23. 08 9月, 2012 1 次提交
  24. 04 9月, 2012 1 次提交
  25. 10 7月, 2012 1 次提交