1. 19 Oct, 2013 1 commit
    • Greg Kroah-Hartman's avatar
      Merge tag 'iio-for-3.12d' of... · 2ef9d838
      Greg Kroah-Hartman authored
      Merge tag 'iio-for-3.12d' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
      
      Jonathan writes:
      
      Fourth round of IIO new drivers, functionality and cleanups for the 3.13 cycle.
      
      New Drivers
      * cm36651 combined RGB light and proximity sensor.
      
      Core improvements
      
      * Some more fixes and cleanups related to buffers.  These include the second
        half of a series which went is as fixes.  The basis for delaying until the
        next merge window is that some are too invasive for this late in a cycle
        and others only effect code paths current unused in the mainline tree.
        In this case we have:
         * protecting against concurrent userspace access
         * fixing a memory leak if a device goes away
         * avoiding always reallocating the buffer whether or not it has changed
           (a bug fix, but one with no functional changes other than a small speed
           improvement.)
         * Add reference counting for buffers to ensure they hang around if open
           from userspace or in kernel when the device is forcefully removed.
         * Return -ENODEV for buffer access operations when the device has gone
           away.
         * Add proper locking for iio_update_buffers (currently we only have one
           buffer per device in mainline, but an input bridge driver is under
           development which would make this bug 'real'.)
         * Wake up anyone waiting on a buffer if the device is unregistered.  A
           subsequent read will fail, notifying userspace that the device is no
           longer there rather than having it wait possibly for ever.
      
      * Move the iio_sw_preenable functionality into the core.  This avoids drivers
        having to 'know' about how the buffers are implemented and is called by
        almost all drivers anyway.  Those that don't call it are not harmed by it
        being called.
      * New registration approach for information (i.e. sysfs attributes) about
        events.  Much more generic and now similar to how the equivalent is
        handled for channel information.  The events infrastructure had been left
        behind by other changes so this brings it back in line.
      * Using the new events registration approach, add a hysterisis event_info
        element and apply this to those drivers with this property.
      * A little unitialized variable bug in the generic_buffer.c example.
      * Factor out the code for freeing lists of IIO Device attributes to avoid
        some repitition.
      
      Driver cleanups
      * At91 driver gains touch screen support and some related fixes.
      * Follow up series of patches removing the now redundant
        iio_sw_buffer_preenable calls.
      * Lots of conversions to the new event registration methods.
      * Another round of hmc5843 cleanups as that driver moves towards graduating
        from staging.
      * Make some SoC drivers buildable if COMPILE_TEST is used.  Follow up fixes
        for a few bits and bobs that revealed.
      * Add explicit includes of linux/of.h to those drivers making us of linux/of.h
      2ef9d838
  2. 18 Oct, 2013 4 commits
  3. 17 Oct, 2013 35 commits