Commit Graph

1649 Commits

Author SHA1 Message Date
Alexandre Belloni
c842f24195 iio: mxs-lradc: remove useless check
Checking the channel number is useless since mxs_lradc_read_raw() is called from
a controlled environment and the driver is responsible for filing the struct
iio_chan_spec.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2014-02-03 19:07:44 +00:00
Peter Meerwald
1a0e576661 staging:iio:accel:sca3000: Cleanup sca3000.h
kerneldoc and comment formating, typos

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2014-01-18 11:12:44 +00:00
Peter Meerwald
bb0090e99b staging:iio:accel:sca3000: Move temperature attribute to channels
differantiate between channels with_temp and without

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2014-01-18 11:11:04 +00:00
Peter Meerwald
735165a8ee staging:iio:accel:sca3000: Channels missing in temp_output case
issues introduced here 25888dc5,
staging:iio:sca3000 extract old event handling and move to poll for events

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2014-01-18 11:10:11 +00:00
Peter Meerwald
84bb9cdd03 staging:iio:accel:sca3000: Event_attribute_group seems to be missing for _info_with_temp
issue introduced here 6fe8135f:
staging:iio: implement an iio_info structure to take some of the constant elements out of iio_dev

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2014-01-18 11:07:53 +00:00
Peter Meerwald
5262d8fdd9 staging:iio:accel:sca3000: Fix format of comments
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2014-01-18 11:06:44 +00:00
Peter Meerwald
e6869759e0 staging:iio:accel:sca3000: Fix kerneldoc
match function names with kerneldoc

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2014-01-18 11:05:14 +00:00
Alexandre Belloni
38125b2c93 iio: mxs-lradc: convert is_divided to a bitmap
mxs_lradc.is_divided was an unsigned long array. Convert it to a bitmap to save
some memory.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2014-01-01 14:31:56 +00:00
Hector Palacios
aba70f2a58 iio: mxs-lradc: add write_raw function to modify scale
Added write_raw function to manipulate the optional divider_by_two
through the scaling attribute out of the available scales.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2014-01-01 14:28:19 +00:00
Hector Palacios
d5acf5942b iio: mxs-lradc: add scale_available file to channels
Adds in_voltageX_scale_available file for every channel to read
the different available scales.
There are two scales per channel:
 [0] = divider_by_two disabled (default)
 [1] = divider_by_two enabled
The scale is a struct made of integer and nano parts to build
a long decimal number.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2014-01-01 14:25:18 +00:00
Hector Palacios
f6db68a405 iio: mxs-lradc: add scale attribute to channels
Some LRADC channels have fixed pre-dividers and all have an optional
divider by two which allows a maximum input voltage of VDDIO - 50mV.

This patch
 - adds the scaling info flag to all channels
 - grabs the max reference voltage per channel
   (where the fixed pre-dividers apply)
 - allows to read the scaling attribute (computed from the Vref)

Signed-off-by: Hector Palacios <hector.palacios@digi.com>.
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2014-01-01 14:16:43 +00:00
Greg Kroah-Hartman
a6e8e3a470 2nd round of new IIO drivers, features and cleanups for the 3.14 cycle.
New drivers
 
 * HID inclinometer driver.
 
 * DHT11 humidity driver.  Note that previous humidity drivers have been in
   hwmon, but no one was ever entirely happy with that, and they should find
   a more comfortable home in IIO (their original placement in hwmon was my
   fault - oops).  As this is our first humidity driver, core support is also
   added.
 
 New features
 
 * Two of mxs-lradc channels are internally wired to a temperature sensor,
   make this explicit in the driver by providing the relevant temperature
   channel.
 
 * Add support for blocking IO on buffers.
 
 * Add a data_available call back to the interface between buffer implementations
   and the core.  This is much cleaner than the old, 'stufftoread' flag.
   Implemented in the kfifo buffer.
 
 Cleanups
 
 * Last user of the old event configuration interface is converted and the
   old interface dropped.  Nice to be rid of this thanks to Lars-Peter's hard
   work!
 
 * Replace all remaining instances of the IIO_ST macro with explicit filling
   of the scan_type structure within struct iio_chan_spec.  This macro was a
   bad idea, that rapidly ceased to cover all elements of the structure.
   Miss reading of the macro arguements has led to a number of bugs so lets
   just get rid of it. The final removal patch is awaiting for some fixes
   to make their way into mainline.
   In a couple of drivers, no elements of scan_type were even being used so
   in those case, it has been dropped entirely.
 
 * Drop a couple of of_match_ptr helper uses in drivers where devicetree is
   not optional and hence the structures being protected by this always exist.
 
 * Fix up some cases where data was read from a device in a particular
   byte order, but he code placed it into a s16 or similar.  These were
   highlighted by Sparse.
 
 * Use the new ATTRIBUTE_GROUPS macro to drop some boiler plate in the triggers
   core code.
 
 * ad7746 and ad7280a - stop storing buffers on the stack, giving cleaner code
   and possibly avoiding issues with i2c bus drivers that assume they can dma
   directly into the buffer.  Note that this cannot currently happen as the the
   i2c_smbus_read_i2c_block_data function has a memcpy from the buffer actually
   passed to the bus driver.  I missed this element of the commit message
   and don't think it is major enough to rebase the iio tree.
 
 * ad5791 and ad5504 stop storing buffers on the stack for an SPI driver.
   Unlike the i2c drivers, this is a real issue for SPI drivers which can dma
   directly into the buffer supplied.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJStyIbAAoJEFSFNJnE9BaI1goQAL0hKYCYuIl3d1fAy65u2I4h
 5mzJs/oJmomq/4BqAopfEQ8CbhZhksAYoR4JndOzZH7n4jVY/fRgyY/bH/Ymj0oI
 OpCtfee6IeeBLA0p8CMeEPem/pnwxRhSDzul9jsiwpTrTRKAIC1BPZwrmLpaoUfc
 obD8r1ocVZStzfsYBr3DUwkcIpcTQTCVy/Pl8HoKLKKsdYoFhTpNwEHJFOoZdiFi
 KKGRkeL9Q8VRWt/otWU0L0VFGZFwI1PWlxrqnbisVcGwSs8FF4wGcQvijfC0mUMg
 BdKDM7J4GrourZhj3og566B/8WMtGo6YTJXAe/QvvPp768rQncccDHem4V0Tnu49
 OJbjgD4ZGVXt3uBFaYddBIbMEIB8SfA2VYur/MW3gnZ7saSAtDk6TllsvC6CxIkR
 +LOOxWylhEGeJFIjyMrFPqRVhrrRNkuDRxPz8ZGTiDc8ovo6DWuTLsJrLSX8EJyZ
 O6TN6EEk8TCJaf8V63uTFW0Dlom4IQHyQei6LKhfhzwUQq/ri0esBp5P8lGzI3Uq
 wtOSdCDuYyoUEYPYbwjohFmQJ27w1rx9KcS4Y9BGmhTIRXslUg3hr+wA/gKMSDZ0
 /AUkLQajcv9otupfGzsp5mIWkthKKsGt/Y50xc5zIodnFtnM3nQGq4AqlP6t8nzP
 jucVwVMQLj5KaNH13P6K
 =Whfv
 -----END PGP SIGNATURE-----

Merge tag 'iio-for-3.14b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next

Jonathan writes:

2nd round of new IIO drivers, features and cleanups for the 3.14 cycle.

New drivers

* HID inclinometer driver.

* DHT11 humidity driver.  Note that previous humidity drivers have been in
  hwmon, but no one was ever entirely happy with that, and they should find
  a more comfortable home in IIO (their original placement in hwmon was my
  fault - oops).  As this is our first humidity driver, core support is also
  added.

New features

* Two of mxs-lradc channels are internally wired to a temperature sensor,
  make this explicit in the driver by providing the relevant temperature
  channel.

* Add support for blocking IO on buffers.

* Add a data_available call back to the interface between buffer implementations
  and the core.  This is much cleaner than the old, 'stufftoread' flag.
  Implemented in the kfifo buffer.

Cleanups

* Last user of the old event configuration interface is converted and the
  old interface dropped.  Nice to be rid of this thanks to Lars-Peter's hard
  work!

* Replace all remaining instances of the IIO_ST macro with explicit filling
  of the scan_type structure within struct iio_chan_spec.  This macro was a
  bad idea, that rapidly ceased to cover all elements of the structure.
  Miss reading of the macro arguements has led to a number of bugs so lets
  just get rid of it. The final removal patch is awaiting for some fixes
  to make their way into mainline.
  In a couple of drivers, no elements of scan_type were even being used so
  in those case, it has been dropped entirely.

* Drop a couple of of_match_ptr helper uses in drivers where devicetree is
  not optional and hence the structures being protected by this always exist.

* Fix up some cases where data was read from a device in a particular
  byte order, but he code placed it into a s16 or similar.  These were
  highlighted by Sparse.

* Use the new ATTRIBUTE_GROUPS macro to drop some boiler plate in the triggers
  core code.

* ad7746 and ad7280a - stop storing buffers on the stack, giving cleaner code
  and possibly avoiding issues with i2c bus drivers that assume they can dma
  directly into the buffer.  Note that this cannot currently happen as the the
  i2c_smbus_read_i2c_block_data function has a memcpy from the buffer actually
  passed to the bus driver.  I missed this element of the commit message
  and don't think it is major enough to rebase the iio tree.

* ad5791 and ad5504 stop storing buffers on the stack for an SPI driver.
  Unlike the i2c drivers, this is a real issue for SPI drivers which can dma
  directly into the buffer supplied.
2013-12-24 10:30:57 -08:00
Greg Kroah-Hartman
912cbd4952 Merge 3.13-rc5 into staging-next
This resolves a merge issue with drivers/staging/imx-drm/imx-drm-core.c

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-12-24 10:06:37 -08:00
Sachin Kamat
6fd92d3add staging: iio: hmc5843: Remove redundant of_match_ptr helper
'hmc5843_of_match' is always compiled in. Hence the helper
macro is not needed.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-12-22 16:02:14 +00:00
Jonathan Cameron
5ae5285906 staging:iio:ad7606 replaces IIO_ST macro with explicit entries to struct scan_type
IIO_ST is going away as it is a pain to maintain. Note that this driver
currently ensures all fields are converted to the native endianness
to keep things consistent across the different bus types.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
2013-12-17 21:40:04 +00:00
Jonathan Cameron
c5fe7a41ad staging:iio:mag:hmc5843 fix incorrect endianness of channel as a result of missuse of the IIO_ST macro.
This driver sets the shift value equal to IIO_BE (or 1) rather than setting
that to 0 and specificying the endianness.  This means the channel type is
missreported as
[be|le]:u16/16>>1 where the be|le is dependent on the cpu native endianness,
rather than
be:u16/16>>0 resulting in any userspace code using this information, miss
converting the channel and generating thoroughly trashed data.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: stable@vger.kernel.org
2013-12-17 20:32:52 +00:00
Lars-Peter Clausen
cb955852a4 iio: Remove support for the legacy event config interface
Now that all drivers have been converted to the new event config interface we
can remove for the legacy event config interface. Also drop the '_new' suffix
for the event config interface callbacks, since those are the only callbacks
now.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-12-08 13:13:52 +00:00
Alexandre Belloni
c8231a9af8 iio: mxs-lradc: compute temperature from channel 8 and 9
The mxs LRADC is able to read an internal die temperature sensor. The
temperature has to be calculated from the value read on channel 8 and channel 9.
To be able to expose the result to hwmon, implement iio channel 8 as
(channel 9 - channel 8). Then, implement IIO_CHAN_INFO_SCALE and
IIO_CHAN_INFO_OFFSET so that it can be processed by hwmon through the in kernel
provider/consumer mechanism.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-12-07 10:38:48 +00:00
Lars-Peter Clausen
6f93910eba staging:iio:ad9834: Mark transfer buffers as __b16
Fixes the following warnings from sparse:
	drivers/staging/iio/frequency/ad9834.c:45:26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9834.c:45:26:    expected unsigned short [unsigned] [short] <noident>
	drivers/staging/iio/frequency/ad9834.c:45:26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9834.c:47:26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9834.c:47:26:    expected unsigned short [unsigned] [short] <noident>
	drivers/staging/iio/frequency/ad9834.c:47:26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9834.c:59:18: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9834.c:59:18:    expected unsigned short [unsigned] data
	drivers/staging/iio/frequency/ad9834.c:59:18:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9834.c💯26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9834.c💯26:    expected unsigned short [unsigned] data
	drivers/staging/iio/frequency/ad9834.c💯26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9834.c:108:26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9834.c:108:26:    expected unsigned short [unsigned] data
	drivers/staging/iio/frequency/ad9834.c:108:26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9834.c:122:26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9834.c:122:26:    expected unsigned short [unsigned] data
	drivers/staging/iio/frequency/ad9834.c:122:26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9834.c:131:26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9834.c:131:26:    expected unsigned short [unsigned] data
	drivers/staging/iio/frequency/ad9834.c:131:26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9834.c:194:26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9834.c:194:26:    expected unsigned short [unsigned] data
	drivers/staging/iio/frequency/ad9834.c:194:26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9834.c:387:18: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9834.c:387:18:    expected unsigned short [unsigned] data
	drivers/staging/iio/frequency/ad9834.c:387:18:    got restricted __be16 [usertype] <noident>

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-12-03 20:22:29 +00:00
Lars-Peter Clausen
2a0c293e48 staging:iio:ad9832: Mark transfer buffers as __be16
Fixes the following warnings from sparse:
	drivers/staging/iio/frequency/ad9832.c:43:26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9832.c:43:26:    expected unsigned short [unsigned] [short] <noident>
	drivers/staging/iio/frequency/ad9832.c:43:26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9832.c:46:26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9832.c:46:26:    expected unsigned short [unsigned] [short] <noident>
	drivers/staging/iio/frequency/ad9832.c:46:26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9832.c:49:26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9832.c:49:26:    expected unsigned short [unsigned] [short] <noident>
	drivers/staging/iio/frequency/ad9832.c:49:26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9832.c:52:26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9832.c:52:26:    expected unsigned short [unsigned] [short] <noident>
	drivers/staging/iio/frequency/ad9832.c:52:26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9832.c:65:27: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9832.c:65:27:    expected unsigned short [unsigned] [short] <noident>
	drivers/staging/iio/frequency/ad9832.c:65:27:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9832.c:68:27: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9832.c:68:27:    expected unsigned short [unsigned] [short] <noident>
	drivers/staging/iio/frequency/ad9832.c:68:27:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9832.c:107:26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9832.c:107:26:    expected unsigned short [unsigned] data
	drivers/staging/iio/frequency/ad9832.c:107:26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9832.c:120:26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9832.c:120:26:    expected unsigned short [unsigned] data
	drivers/staging/iio/frequency/ad9832.c:120:26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9832.c:133:26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9832.c:133:26:    expected unsigned short [unsigned] data
	drivers/staging/iio/frequency/ad9832.c:133:26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9832.c:144:26: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9832.c:144:26:    expected unsigned short [unsigned] data
	drivers/staging/iio/frequency/ad9832.c:144:26:    got restricted __be16 [usertype] <noident>
	drivers/staging/iio/frequency/ad9832.c:277:18: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/frequency/ad9832.c:277:18:    expected unsigned short [unsigned] data
	drivers/staging/iio/frequency/ad9832.c:277:18:    got restricted __be16 [usertype] <noident>

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-12-03 20:22:29 +00:00
Lars-Peter Clausen
112b0b79b2 staging:iio:ad7746: Do not store the transfer buffer on the stack
Some I2C controllers might not be able to handle transfer buffers that are
stored on stack.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-12-03 20:22:28 +00:00
Lars-Peter Clausen
d4adb07c7a staging:iio:ad7746: Mark transfer buffer as __be32
Fixes the following warnings from sparse:
	drivers/staging/iio/cdc/ad7746.c:599:25: warning: cast to restricted __be32
	drivers/staging/iio/cdc/ad7746.c:599:25: warning: cast to restricted __be32
	drivers/staging/iio/cdc/ad7746.c:599:25: warning: cast to restricted __be32
	drivers/staging/iio/cdc/ad7746.c:599:25: warning: cast to restricted __be32
	drivers/staging/iio/cdc/ad7746.c:599:25: warning: cast to restricted __be32
	drivers/staging/iio/cdc/ad7746.c:599:25: warning: cast to restricted __be32

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-12-03 20:22:28 +00:00
Lars-Peter Clausen
93dbad639d staging:iio:ad7280a: Do not store transfer buffer on the stack
Some I2C controllers may not be able to handle transfer buffers that are placed
on the stack.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-12-03 20:22:27 +00:00
Lars-Peter Clausen
b39c47d193 staging:iio:ad7280a: Mark transfer buffer as __be32
Fixes the following warnings from sparse:
	drivers/staging/iio/adc/ad7280a.c:194:35: warning: incorrect type in initializer (different base types)
	drivers/staging/iio/adc/ad7280a.c:194:35:    expected unsigned int [unsigned] tx_buf
	drivers/staging/iio/adc/ad7280a.c:194:35:    got restricted __be32 [usertype] <noident>
	drivers/staging/iio/adc/ad7280a.c:207:16: warning: cast to restricted __be32
	drivers/staging/iio/adc/ad7280a.c:207:16: warning: cast to restricted __be32
	drivers/staging/iio/adc/ad7280a.c:207:16: warning: cast to restricted __be32
	drivers/staging/iio/adc/ad7280a.c:207:16: warning: cast to restricted __be32
	drivers/staging/iio/adc/ad7280a.c:207:16: warning: cast to restricted __be32
	drivers/staging/iio/adc/ad7280a.c:207:16: warning: cast to restricted __be32
	drivers/staging/iio/adc/ad7280a.c:219:13: warning: incorrect type in assignment (different base types)
	drivers/staging/iio/adc/ad7280a.c:219:13:    expected unsigned int [unsigned] [assigned] reg
	drivers/staging/iio/adc/ad7280a.c:219:13:    got restricted __be32 [usertype] <noident>

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-12-03 20:22:27 +00:00
Greg Kroah-Hartman
06749f192b Merge v3.13-rc2 into staging-next
we want these fixes in here.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-12-02 16:39:07 -08:00
Greg Kroah-Hartman
3ce5ae8d46 First set of new features, drivers and cleanups for IIO in the 3.14 cycle.
This mostly consists of patches that didn't quite make the last cycle. Lots
 of interesting things under review currently.
 
 Core:
 - Add devm_iio_device_register/unregister.  I took some convincing on whether
   there would be many devices that really were simple enough to need no
   explicit actions on removal.  Turns out there are some.
 - Move some stray docs to above the relevant implemenation.
 - Drop a redundant repeated check on the fact the trigger has actually changed
   when there is a userspace attempt change it.
 
 Drivers:
 New drivers
 - Freescale MPL3115A2 Pressure / temperature sensor
 
 New functionality
 - hid_sensors: add sensitivity support.
 
 DT bindings
 - tsl2563
 - hmc5843
 
 Cleanups
 - Drop unused scan_type from viperboard adc driver.
 - devm_iio_device_register used in viperboard, ad5421, ad5755, adis16130,
   adxrs450, vcnl4000, adis16220, ad7816, lpc32xx, adt7316, adis16060, isl29018
   and ad2s1200.  Note that this was proposed in a number of other drivers
   and this revealed a number of missorderings in remove functions.  Also for
   now I have blocked this on any device that any hardware suspend suport on
   the basis that we probably want to power down devices if they have no driver
   support loaded.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJSk7pfAAoJEFSFNJnE9BaINEAP/2LKNkK/65BI8DOb3DQcRQWw
 yQAjYd43c7OWTW6clx3DRZiESI1qR7B1LeIV3P+jF1kvOS5qdE1WfYI9pQCLW+JL
 yRQgqLJknuHnrs+Bzw5CrGRcPDl5Zk31megcs0CcOt76LbQsaQ+w/blq9EiuVioW
 s2HfopsbVPQBe/IRA5ajLRG5gQYR4FIEIdzifzmv3Zydzhg9yFy5sk6vpSnzN6zM
 bh1Q8OooMDCqrCsKwzG1z5ZT4ki6oEILVQsiCblI9kcbw+GyKb95d63E0ZdlH72o
 ymowmRGujB+gS1zBh+1zLVjuaUytLHBUxAcQIFYwpOtbqaAYo68J5HFEyXWh5QpH
 aeMWnN4Cd54h83SsBofF05aFPGGK3iM6rioDpPJaLjBzJgFuRvIV87O3t0j1/3/Q
 VfXKYboGH4EVHsbARoUaQ4UP/0WlXoDQwX5XfBbsSlL9/U58JmrKAx6+HvmSyvcG
 5HKzOsVQNKbZMrSlBlvFzPXtRdJwRuv9TwWLLUatQKZAt66rdBgWcycOvlQv1m/9
 Neo/2b22vqoAN1AfyW32Hz7rQCnKxVczbTdex9I5ikNJmIPUfbZ6TAE/660HSVE2
 J70ZA6SHGU9Edhm0fkJNBhRanO3my4vQFUwcl457JY9O/BeC0xBhU1ZjvkFGysG0
 D/9TEiSaLoURkhxeeN0M
 =KZou
 -----END PGP SIGNATURE-----

Merge tag 'iio-for-3.14a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next

Jonathan writes:

First set of new features, drivers and cleanups for IIO in the 3.14 cycle.
This mostly consists of patches that didn't quite make the last cycle. Lots
of interesting things under review currently.

Core:
- Add devm_iio_device_register/unregister.  I took some convincing on whether
  there would be many devices that really were simple enough to need no
  explicit actions on removal.  Turns out there are some.
- Move some stray docs to above the relevant implemenation.
- Drop a redundant repeated check on the fact the trigger has actually changed
  when there is a userspace attempt change it.

Drivers:
New drivers
- Freescale MPL3115A2 Pressure / temperature sensor

New functionality
- hid_sensors: add sensitivity support.

DT bindings
- tsl2563
- hmc5843

Cleanups
- Drop unused scan_type from viperboard adc driver.
- devm_iio_device_register used in viperboard, ad5421, ad5755, adis16130,
  adxrs450, vcnl4000, adis16220, ad7816, lpc32xx, adt7316, adis16060, isl29018
  and ad2s1200.  Note that this was proposed in a number of other drivers
  and this revealed a number of missorderings in remove functions.  Also for
  now I have blocked this on any device that any hardware suspend suport on
  the basis that we probably want to power down devices if they have no driver
  support loaded.
2013-11-25 18:42:40 -08:00
Greg Kroah-Hartman
1676587bca First round of fixes for IIO in the 3.13 cycle.
The usual mixed bag of fixes.
 
 * 3 cases where kconfig dependencies were missing.  We need to keep a closer
   eye on this in new drivers.
 
 * hid_sensors was abusing the iio_dev->trigger pointer.  We had a round
   of clearing this out some time ago but this driver clearly slipped through.
 
 * A misuse of the IIO_ST macro, in mcp3422, which we should really make a
   concertive effort to finish removing.
 
 * Avoid a double free introduced by recent buffer reference counting in the
   one driver that (quite reasonably!) does things differently (am335x)
 
 * A missing mutex_unlock in kxsd9 that means that driver has been non
   functional for some time and no one noticed (including me who for once
   actually has one of the supported devices).
 
 * An incorrect assumption about the parameters of sign_extend32 in mcp3422.
 
 So nothing controversial.  The only substantial patch is the hid_sensors
 one and that is actually just adding a new pointer to the devices private
 state then moving the code over to it.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJSk7SvAAoJEFSFNJnE9BaIRNsQAJnM/WiH1ghfA5nuc0V7JrnB
 2Z6Qtm3Stoq4Ul5LYiEMxumo6ckL17YFddxejUF9X4Eq5N8YyAxdPd8JdDJgS2OL
 yCM2x6izd9drIGA3YUMMOvZ1BScSK1e5DmXJHp4nuF68uHtf2TM4TGF/2zuqt3TN
 2bL7blNF3/5O/TiBRB4XjkH4Sy5c4G2kke+0SckRnWohTn8oE7tWihr84nYPciqt
 mu11Nrv9S+sr/5GzRwN8d5SU33yU2/ML32QU/4oQzb/XxBW0W759NJflqY5sSZ89
 JQnHcCKKZD7IWBFT0VAMiuEjBpSRGc4vxBbYjsVHtEHzW7v3L0fvob5YqfSrzMlD
 rVUiTQJm7fC/4hn7iJUPrxkWsSGsjCvVrLZmZFOK3OYONUfd+Cqg0nliihRZo65s
 054/yi4v8xd6OUzqSxtWKIK/ZQjDxa5W2BlRoryShCrUAo/e3Djy+jH32v4Mmgfe
 D9aEwdUqa8kPlq6pyQC2QRgWWU1K5+RRrzW5nNNLlmjYtVlfF+8OgcQYGHW8iMur
 8AaDXNZwQLEYA4409T/Ar9lNg4gDqc0YZsvNibu0q4Kxfp13dJOwra+xmF+ktECr
 KcIFxu5v89SgpE1Rra74OXYFWQ1I4Qy+sJxhQKymthPzmw4nuUidK33mxjtcojwz
 TvQJu8f3us8Ea5vQLZo0
 =cIMc
 -----END PGP SIGNATURE-----

Merge tag 'fixes-for-3.13a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus

Jonathan writes:

First round of fixes for IIO in the 3.13 cycle.

The usual mixed bag of fixes.

* 3 cases where kconfig dependencies were missing.  We need to keep a closer
  eye on this in new drivers.

* hid_sensors was abusing the iio_dev->trigger pointer.  We had a round
  of clearing this out some time ago but this driver clearly slipped through.

* A misuse of the IIO_ST macro, in mcp3422, which we should really make a
  concertive effort to finish removing.

* Avoid a double free introduced by recent buffer reference counting in the
  one driver that (quite reasonably!) does things differently (am335x)

* A missing mutex_unlock in kxsd9 that means that driver has been non
  functional for some time and no one noticed (including me who for once
  actually has one of the supported devices).

* An incorrect assumption about the parameters of sign_extend32 in mcp3422.

So nothing controversial.  The only substantial patch is the hid_sensors
one and that is actually just adding a new pointer to the devices private
state then moving the code over to it.
2013-11-25 12:50:11 -08:00
Sachin Kamat
794a870e77 staging: iio: ad2s1200: Use devm_iio_device_register
devm_iio_device_register simplifies the code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-11-24 21:07:22 +00:00
Sachin Kamat
8664ed09aa staging: iio: isl29018: Use devm_iio_device_register
devm_iio_device_register simplifies the code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-11-24 21:07:22 +00:00
Sachin Kamat
f952a30c39 staging: iio: adis16060: Use devm_iio_device_register
devm_iio_device_register simplifies the code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-11-24 21:07:21 +00:00
Sachin Kamat
334696bd60 staging: iio: addac: Use devm_iio_device_register
devm_iio_device_register simplifies the code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-11-24 21:07:21 +00:00
Sachin Kamat
afb6fd5fca staging: iio: lpc32xx_adc: Use devm_iio_device_register
devm_iio_device_register simplifies the code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-11-24 21:07:20 +00:00
Sachin Kamat
5404dc7726 staging: iio: ad7816: Use devm_iio_device_register
devm_iio_device_register simplifies the code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-11-24 21:07:19 +00:00
Sachin Kamat
8fb8125aa5 staging: iio: adis16220: Use devm_iio_device_register
devm_iio_device_register simplifies the code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-11-24 21:07:19 +00:00
NeilBrown
27b832427e iio:magnetometer:hmc5843 - add basic dt support
Compatible string, documenation and an optional gpio
for the dataready pin.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-11-24 21:07:15 +00:00
Linus Torvalds
9073e1a804 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
Pull trivial tree updates from Jiri Kosina:
 "Usual earth-shaking, news-breaking, rocket science pile from
  trivial.git"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (23 commits)
  doc: usb: Fix typo in Documentation/usb/gadget_configs.txt
  doc: add missing files to timers/00-INDEX
  timekeeping: Fix some trivial typos in comments
  mm: Fix some trivial typos in comments
  irq: Fix some trivial typos in comments
  NUMA: fix typos in Kconfig help text
  mm: update 00-INDEX
  doc: Documentation/DMA-attributes.txt fix typo
  DRM: comment: `halve' -> `half'
  Docs: Kconfig: `devlopers' -> `developers'
  doc: typo on word accounting in kprobes.c in mutliple architectures
  treewide: fix "usefull" typo
  treewide: fix "distingush" typo
  mm/Kconfig: Grammar s/an/a/
  kexec: Typo s/the/then/
  Documentation/kvm: Update cpuid documentation for steal time and pv eoi
  treewide: Fix common typo in "identify"
  __page_to_pfn: Fix typo in comment
  Correct some typos for word frequency
  clk: fixed-factor: Fix a trivial typo
  ...
2013-11-15 16:47:22 -08:00
Wolfram Sang
16735d022f tree-wide: use reinit_completion instead of INIT_COMPLETION
Use this new function to make code more comprehensible, since we are
reinitialzing the completion, not initializing.

[akpm@linux-foundation.org: linux-next resyncs]
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Acked-by: Linus Walleij <linus.walleij@linaro.org> (personally at LCE13)
Cc: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-11-15 09:32:21 +09:00
Linus Torvalds
f095ca6b31 spi: Updates for v3.13
As well as the usual driver updates and cleanups there's a few
 improvements to the core here:
 
  - The start of some improvements to factor out more of the SPI message
    loop into the core.  Right now this is just simplifying the code a
    bit but hopefully next time around we'll also have managed to roll
    out some noticable performance improvements which drivers can take
    advantage of.
  - Support for loading modules for ACPI enumerated SPI devices.
  - Managed registration for SPI controllers.
  - Helper for another common I/O pattern.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.15 (GNU/Linux)
 
 iQIcBAABAgAGBQJSd9ZZAAoJELSic+t+oim9/UkP/1sxozJ0bpnSLRTrI5B5b8Xt
 x13r/Hb9WaAxhZW4C/lgWUS1J/S1k4uuJHYFfS3+a3lqF5ulww+vkSuNuF8V0fCJ
 egFuO5iQJwA6Npw8IqSf+29geNX8mMXu881g42Znur+SLlkno5sw5Fl7izJ/gfzN
 SGNNp9sSi8j59XcUvSZZbOYYjji2n78RCmWD+gdaS7HilDXDYO2Jnh6N7BJ24/6/
 lin+SzVRhSTHHH8Gz8UBfgKwDPDFB38Z/DIUSfz1bJP6EnkLKCpq1NqRJE/a4Wqs
 vWhWO6f7WFJID8qs/q6UNnBzGs8tIXpMMQtRgB4NcJYdG6V7Vl1qYYgEyKwdQE3L
 M7nTLNLppfqhUh4xg0O957ifpW7WYiA7grL5skF+yZNUMCeBkIsCLh847i+w113t
 qwqxw6sQHeZbIzDq3BXU7zKUXJ+XEERTFNBHC8lWqcIm/cD8xjhwuhMtebkc75GU
 PFCMeIIFd6BWbUPghXZnyTsHEITxFAyDJbEMj+KqtiscMKaubmrQ1qENMoIzpJof
 lBPjT78vFIY4A31v21l1FwD/E6BeI/+epZn6UHGfuoepeCaZjGfuGKBxSyY7KF/n
 okGwLKrRn84w6zN98XuoHcbPRtl35cHdom1VHHELs/7gPq6wW7/mn0bsOXkK5WDp
 txUO/nlCkAcXPo+hfVAM
 =emSz
 -----END PGP SIGNATURE-----

Merge tag 'spi-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi

Pull spi updates from Mark Brown:
 "As well as the usual driver updates and cleanups there's a few
  improvements to the core here:

   - The start of some improvements to factor out more of the SPI
     message loop into the core.  Right now this is just simplifying the
     code a bit but hopefully next time around we'll also have managed
     to roll out some noticable performance improvements which drivers
     can take advantage of.
   - Support for loading modules for ACPI enumerated SPI devices.
   - Managed registration for SPI controllers.
   - Helper for another common I/O pattern"

* tag 'spi-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (116 commits)
  spi/hspi: add device tree support
  spi: atmel: fix return value check in atmel_spi_probe()
  spi: spi-imx: only enable the clocks when we start to transfer a message
  spi/s3c64xx: Fix doubled clock disable on suspend
  spi/s3c64xx: Do not ignore return value of spi_master_resume/suspend
  spi: spi-mxs: Use u32 instead of uint32_t
  spi: spi-mxs: Don't set clock for each xfer
  spi: spi-mxs: Clean up setup_transfer function
  spi: spi-mxs: Remove check of spi mode bits
  spi: spi-mxs: Fix race in setup method
  spi: spi-mxs: Remove bogus setting of ssp clk rate field
  spi: spi-mxs: Remove full duplex check, spi core already does it
  spi: spi-mxs: Fix chip select control bits in DMA mode
  spi: spi-mxs: Fix extra CS pulses and read mode in multi-transfer messages
  spi: spi-mxs: Change flag arguments in txrx functions to bit flags
  spi: spi-mxs: Always clear INGORE_CRC, to keep CS asserted
  spi: spi-mxs: Remove mxs_spi_enable and mxs_spi_disable
  spi: spi-mxs: Always set LOCK_CS
  spi/s3c64xx: Add missing pm_runtime_put on setup fail
  spi/s3c64xx: Add missing pm_runtime_set_active() call in probe()
  ...
2013-11-12 15:01:39 +09:00
Peter Meerwald
5fa4061301 staging:iio: Fix hmc5843 Kconfig dependencies
trigger / buffer handling was introduced in changeset
cb9b9a82 staging:iio:hmc5843: Add trigger handling

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-11-09 12:16:40 +00:00
Joe Perches
f99a92c3ee staging: Remove OOM message after input_allocate_device
Emitting an OOM message isn't necessary after input_allocate_device
as there's a generic OOM and a dump_stack already done.

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-29 09:05:21 -07:00
Greg Kroah-Hartman
9908b4f32f Fifth round of IIO new drivers, cleanups and functionality for the 3.13 cycle.
New Driver
 * Freescale mag3110 magnetometer driver.
 
 New functionality
 * Add LPS001WP support to the ST pressure driver.
 * Allow the max1363 driver to use only smbus functions for 8 bit devices. This
   allows the driver to be used when more extensive i2c support is not
   available.
 
 Cleanups
 * Fix incorrect description of unit conversions in ak8975.
 * Switch to pr_err in industrialio-core.c instead of direct printk calls.
 * Some simple redundant error handling removal patches.
 * Trivial warning suppression by adding brackets to a sizeof call.
 * Drop redundant of_match_ptr casts in drivers that are dependent on
   OF supporting being present.  The only purpose of the of_match_ptr
   wrapper was to make stubbing out of the relevant structures trivial.
 
 Fixes
 * Make MXS_LRADC depend on INPUT to avoid compile failures. This fixes an
   issue introduced in the previous pull in this cycle.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJSbWN/AAoJEFSFNJnE9BaIlVgP/2Tq5rfAfM3ErvHY5GMuSiRi
 VTMntdvQ4YVqMln8ZZy70p5mAeLtI84Q5d4/qBihPNiBrDT7YMr0CoSiOv+JaJxc
 Nn4cjMGV8Y7TokH6gXD96Ye8AvS1nnxgytJLBbELOMvBsm5yORQKYMjCqBFHV2Ka
 4BoLCKmX9HeISDcJvPB3B+/rSThzJnzBo10bv+7Uv9HM90WskBtR3xjQVpr+RV1L
 VTfELYOiTfaPMt57hDct5V7G6hsBMvIZqHqC9yq3Q+IesJE0euYdSpqRV9EznJv7
 EcmJL6S5Pkzds3PU2bnjqUQWb1BRwwVEpwkoWUzJ/5kYmgmo1vCQOW2Tr6s39JSy
 GcOEBBvruVCf1e9DuJYQYx25f04ceE52XuS3f6Q90W4UsDXFO+PphEf5dapE/ca8
 3+71tnZeb/VBHyZ7Oor43jkGVhsQs5+rIJpcN5UFV2MKX9hwnTvdA2AgxdqM5Bzt
 a5KVWPs5OUHNJKNw9Cu0F17Vzdlqh+2ac6gCIIv1TGltJ8GSRIfsIRJ56lRUVyUP
 ZGssnvbTLzq+ZdzaMTgDtJdz9CNOr9yQqQEZ2rFE9gASI8/Lw/EGNDVjK+vpNst8
 57IS1H0RO//I96WB0U8Ni0EdLlgsdGISTHkspj/JMNMcSisS94+tuK1rHHAw/j83
 2AxEhNOQewA/6ZRT329X
 =GCqU
 -----END PGP SIGNATURE-----

Merge tag 'iio-for-3.13e' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next

Jonathan writes:

Fifth round of IIO new drivers, cleanups and functionality for the 3.13 cycle.

New Driver
* Freescale mag3110 magnetometer driver.

New functionality
* Add LPS001WP support to the ST pressure driver.
* Allow the max1363 driver to use only smbus functions for 8 bit devices. This
  allows the driver to be used when more extensive i2c support is not
  available.

Cleanups
* Fix incorrect description of unit conversions in ak8975.
* Switch to pr_err in industrialio-core.c instead of direct printk calls.
* Some simple redundant error handling removal patches.
* Trivial warning suppression by adding brackets to a sizeof call.
* Drop redundant of_match_ptr casts in drivers that are dependent on
  OF supporting being present.  The only purpose of the of_match_ptr
  wrapper was to make stubbing out of the relevant structures trivial.

Fixes
* Make MXS_LRADC depend on INPUT to avoid compile failures. This fixes an
  issue introduced in the previous pull in this cycle.
2013-10-27 14:02:54 -07:00
Ebru Akagunduz
b28ca1c7c3 Staging: iio: fix printk(KERN_ERR .. in lis3l02dq_core.c
Fix checkpatch.pl issues with prefer netdev_err(netdev, .. then
dev_err(dev, .. then pr_err(.. to printk(KERN_ERR
in lis3l02dq_core.c

Signed-off-by: Ebru Akagunduz <ebru.akagunduz@gmail.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-10-27 06:59:35 -07:00
Randy Dunlap
2ab61fa047 staging/iio/adc: MXS_LRADC depends on INPUT
mxs-lradc.c uses many input_() functions so it should
depend on INPUT to fix build errors.

drivers/built-in.o: In function `mxs_lradc_ts_unregister':
drivers/staging/iio/adc/mxs-lradc.c:905: undefined reference to `input_unregister_device'
drivers/staging/iio/adc/mxs-lradc.c:905: undefined reference to `input_unregister_device'
drivers/built-in.o: In function `input_report_abs':
include/linux/input.h:399: undefined reference to `input_event'
include/linux/input.h:399: undefined reference to `input_event'
include/linux/input.h:399: undefined reference to `input_event'
drivers/built-in.o: In function `input_report_key':
include/linux/input.h:389: undefined reference to `input_event'
drivers/built-in.o: In function `input_sync':
include/linux/input.h:414: undefined reference to `input_event'
drivers/built-in.o:include/linux/input.h:389: more undefined references to `input_event' follow

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Marek Vasut <marex@denx.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-10-23 16:53:29 +01:00
Greg Kroah-Hartman
2ef9d838e4 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
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJSYmsbAAoJEFSFNJnE9BaIuvsQAIxknxxAVBl8Jj8sqFJM/TJh
 /iBP4c7HPsiZUFAyt59PONvwaY2iacTjWYx55mPsHpLXtVG4nsTj/E21lSPsp90D
 YuXLmT8vU4kN3X1wJkiUmBYzO6mqHlBw8Z+dcLB4N4xOpHgvFTSuc12Gdmilbna2
 APjAm513G6MiSEyG/RpNsKXGHFZBOCnvjs4hTQKg9QEzLvoqBZ/e3vUAsswMFLvP
 eTTMRvgfNz2TSeOR1F5tNrMTnilAuBUZ8sCUw4HwtNN2KAnUNKtuGD174U00z7pH
 qKCfZffm34Vb7niEZsVn2MhvbXwdUgWmEF1yqwApXTfnXsDTqWLakhMUHExIMozo
 8jIewD30v6Daj+biPGxnmikRl9XfzgCN5nO11lx68rwur4q2KMYvSRdMVecipa6U
 grSgXebFoQgdnj+2CN/0Z0pMqHeXpgMYzpG04o30/SjXgF4KRD6nDLZamJwwVHDj
 Iivn5EyJeOt83BKSAtHm6tRqIbZ1abVwHoztxPDgl0nnuEtRv4VMGECOtLlGkHkx
 lV2DdLd4UyahF3gPp6xvbnmhk6yWH4xMN0zwImSI4Lt7+ncRoZ6dy2i3HxrHNyu6
 8zMKdZQDnMMoxcdqSxy5nXezf/x6e2MVReQiWLbSzpD1WU6OD0BrfGMe+3sFXSde
 lsFgkAigdJ58t2vZ+gwb
 =TXhl
 -----END PGP SIGNATURE-----

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
2013-10-19 05:16:34 -07:00
Peter Meerwald
094509b1d1 staging:iio:hmc5843: Trivial cleanup
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-10-17 23:52:51 +01:00
Peter Meerwald
9d5ad0c3e7 staging:iio:hmc5843: Check initialization and chip identifier
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-10-17 23:52:16 +01:00
Peter Meerwald
f3f755197b staging:iio:hmc5843: Introduce _set_range_gain()
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-10-17 23:51:48 +01:00
Peter Meerwald
ca4c6172cd staging:iio:hmc5843: Rename _set_rate() to _set_samp_freq()
move locking inside _set() function

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-10-17 23:51:27 +01:00
Peter Meerwald
4f1ca4158d staging:iio:hmc5843: Reorganize _set_meas_conf()
move locking inside _set() function

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-10-17 23:51:07 +01:00
Peter Meerwald
62248758a7 staging:iio:hmc5843: Rename _configure() to _set_mode()
and be consistent with other setter functions in that first argument
is hmc5843_data

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-10-17 23:50:41 +01:00