Fifth round of new drivers and device support for the IIO
subsystem in the 3.7 cycle.
Here we have a mixed bag of new stuff, minor fixes and
more major fixes for drivers added earlier in this cycle.
1) A number of fixes for the HID sensors code added in previous
pull request. Typical stuff that has become apparent as more eyes
have looked at the code post merging. Similar case for the ad5755 dac.
2) Cleanups of error handing in inkern.c - again typical stuff to see
as code comes into heavier use and people notice the naughty short
cuts that snuck in originally and kindly fix them.
3) A series from Lars that removes some incorrect error handling
from the remove functions of a number of drivers. These have been
there for a very long time hence I'm not pushing these out for the
3.6 cycle.
4) Support for more parts in the ad7780 driver.
5) A driver for the adcs on the lp8788 power management unit
6) A client driver for IIO to allow it's ADCs to be used for
battery status measurement. Note this driver has some dependencies
on some utility functions added to IIO in this series, hence it is
coming via this tree rather than Anton's.
7) A null pointer dereference bug in the 'fake' driver. I'm not
doing this as a fix for the 3.6 cycle because it only effects
'fake' hardware and that code is typically only used by people
investigating how IIO works as part of writing new drivers. Hence
it's hardly a critical fix.