OpenCloudOS-Kernel/drivers/iio/magnetometer
Greg Kroah-Hartman 03cce00b4b First round of iio fixes for the 4.7 cycle.
A slightly bumper set due to travel delaying the pull request and a fair few
 issues with the recent merge window patches.  Patches all over the place.
 The st-sensors one is probably the most involved, but definitly solves the
 issues seen.  Note there are some other issues around that handler
 (and the fact that a lot of boards tie a level interrupt chip to an
 edge interrupt only irq chip).  These are not regressions however, so
 will turn up the slow route.
 
 * core
   - iio_trigger_attach_pollfunc had some really badly wrong error handling.
   Another nasty triggered whilst chasing down issues with the st sensors
   rework below.
 * ad5592r
   - fix an off by one error when allocating channels.
 * am2315
   - a stray mutex unlock before we ever take the lock.
 * apds9960
   - missing a parent in the driver model (which should be the i2c device).
   Result is it doesn't turn up under /sys/bus/i2c/devices which some
   userspace code uses for repeatable device identification.
 * as3935
   - ABI usage bug which meant a processed value was reported as raw. Now
     reporting scale as well to ensure userspace has the info it needs.
   - Don't return processed value via the buffer - it doesn't conform to
     the ABI and will overflow in some cases.
   - Fix a wrongly sized buffer which would overflow trashing part of the
     stack.  Also move it onto the heap as part of the fix.
 * bh1780
   - a missing return after write in debugfs lead to an incorrect read and
     a null pointer dereference.
   - dereferencing the wrong pointer in suspend and resume leading to
     unpredictable results.
   - assign a static name to avoid accidentally ending up with no name if
     loaded via device tree.
 * bmi160
   - output data rate for the accelerometer was incorrectly reported. Fix it.
   - writing the output data rate was also wrong due to reverse parameters.
 * bmp280
   - error message for wrong chip ID gave the wrong expected value.
 * hdc100x
   - mask for writing the integration time was wrong allowin g us to get
   'stuck' in a particular value with no way back.
   - temperature reported in celsius rather than millicelsius as per the
   ABI.
   - Get rid of some incorrect data shifting which lead to readings being
   rather incorrect.
 * max44000
   - drop scale attribute for proximity as it is an unscaled value (depends
     on what is in range rather than anything knowable at the detector).
 * st-pressure
   - ABI compliance fixes - units were wrong.
 * st-sensors
   - We introduced some nasty issues with the recent switch over to a
   a somewhat threaded handler in that we broke using a software trigger
   with these devices.  Now do it properly.  It's a larger patch than ideal
   for a fix, but the logic is straight forward.
   - Make sure the trigger is initialized before requesting the interrupt.
   This matters now the interrupt can be shared. Before it was ugly and wrong
   but short of flakey hardware could not be triggered.
   - Hammer down the dataready pin at boot - otherwise with really
   unlucky timing things could get interestingly wedged requiring a hard power
   down of the chip.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJXVxMzAAoJEFSFNJnE9BaI3QUP/2TLXJ4S+jNFSGslMmq9Ztqm
 fPGoyPf2nfJCzwgPFK7Yku8mFhqaRbbZrM0m1IA7hYbuZMXZjjQnSrIiDqsDuvXy
 1mK3mieCu8hPFTcvVUp1q9HwrrEFIke52LIH6urSDpr1IIbhJQ2ZwXjZIJGhlukc
 yFwMuA7gz/akc3war+OlS1bbEOe4OuikWMP3Fc3QGKPR7C92M0S8oRyZwBmB2vqu
 1lqCzS0JxL3Lz3TqDXkBd+77My7S4af/F7l8JfeCDBoE4zycASP1LUgiSD2aB3Rq
 hi7hrQjPCFk6rxZ+wFIyC8V0AGeGdEDpQ4JW9rgzDC/KO9Z3Wyq/h5UrQqsnZW0G
 xbJgLF3Wa0noh/bT0yIGZGcenM57QIJ0vTEymmikbWCNQfzqSG9a0SM7zMukB6Lr
 IAvMbF3Q3n/d4rzVOE5C9vRPRnG2jICxmA3EKp7blV0hRdd197J7UfN8ExG+9zC7
 JxqQh5LLu76Ql7TJqQh7sZl/6Xi0DnUm+wqaxyCgtaZjmsVZ58S6G6E2eefO5Hma
 r3VUfthe7N0wnWwCs2RMBkBynhb7+4G11m2jp1a4PMYCYg4FhYP7QdDkeDiOSXbG
 s9Y1ILLI7ufzCyKf5GID7/FtAjdJahVR2ldIy7MwUqw7zAyjsm+ujIpTGZ8iYUvb
 whHwMtLLTnyB8Zj81LRD
 =EEPO
 -----END PGP SIGNATURE-----

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

Jonathan writes:

First round of iio fixes for the 4.7 cycle.

A slightly bumper set due to travel delaying the pull request and a fair few
issues with the recent merge window patches.  Patches all over the place.
The st-sensors one is probably the most involved, but definitly solves the
issues seen.  Note there are some other issues around that handler
(and the fact that a lot of boards tie a level interrupt chip to an
edge interrupt only irq chip).  These are not regressions however, so
will turn up the slow route.

* core
  - iio_trigger_attach_pollfunc had some really badly wrong error handling.
  Another nasty triggered whilst chasing down issues with the st sensors
  rework below.
* ad5592r
  - fix an off by one error when allocating channels.
* am2315
  - a stray mutex unlock before we ever take the lock.
* apds9960
  - missing a parent in the driver model (which should be the i2c device).
  Result is it doesn't turn up under /sys/bus/i2c/devices which some
  userspace code uses for repeatable device identification.
* as3935
  - ABI usage bug which meant a processed value was reported as raw. Now
    reporting scale as well to ensure userspace has the info it needs.
  - Don't return processed value via the buffer - it doesn't conform to
    the ABI and will overflow in some cases.
  - Fix a wrongly sized buffer which would overflow trashing part of the
    stack.  Also move it onto the heap as part of the fix.
* bh1780
  - a missing return after write in debugfs lead to an incorrect read and
    a null pointer dereference.
  - dereferencing the wrong pointer in suspend and resume leading to
    unpredictable results.
  - assign a static name to avoid accidentally ending up with no name if
    loaded via device tree.
* bmi160
  - output data rate for the accelerometer was incorrectly reported. Fix it.
  - writing the output data rate was also wrong due to reverse parameters.
* bmp280
  - error message for wrong chip ID gave the wrong expected value.
* hdc100x
  - mask for writing the integration time was wrong allowin g us to get
  'stuck' in a particular value with no way back.
  - temperature reported in celsius rather than millicelsius as per the
  ABI.
  - Get rid of some incorrect data shifting which lead to readings being
  rather incorrect.
* max44000
  - drop scale attribute for proximity as it is an unscaled value (depends
    on what is in range rather than anything knowable at the detector).
* st-pressure
  - ABI compliance fixes - units were wrong.
* st-sensors
  - We introduced some nasty issues with the recent switch over to a
  a somewhat threaded handler in that we broke using a software trigger
  with these devices.  Now do it properly.  It's a larger patch than ideal
  for a fix, but the logic is straight forward.
  - Make sure the trigger is initialized before requesting the interrupt.
  This matters now the interrupt can be shared. Before it was ugly and wrong
  but short of flakey hardware could not be triggered.
  - Hammer down the dataready pin at boot - otherwise with really
  unlucky timing things could get interestingly wedged requiring a hard power
  down of the chip.
2016-06-07 22:26:20 -07:00
..
Kconfig iio: magn: bmc150: Introduce SPI support 2016-04-18 20:44:47 +01:00
Makefile iio: magn: bmc150: Introduce SPI support 2016-04-18 20:44:47 +01:00
ak8975.c Merge 4.6-rc7 into staging-next 2016-05-09 13:20:04 +02:00
bmc150_magn.c iio: magn: Split bmc150 driver in common/i2c parts 2016-04-18 20:44:40 +01:00
bmc150_magn.h iio: magn: Split bmc150 driver in common/i2c parts 2016-04-18 20:44:40 +01:00
bmc150_magn_i2c.c iio: magn: Split bmc150 driver in common/i2c parts 2016-04-18 20:44:40 +01:00
bmc150_magn_spi.c iio: magn: bmc150: Introduce SPI support 2016-04-18 20:44:47 +01:00
hid-sensor-magn-3d.c iio: hid-sensor-magn-3d: Constify platform_device_id 2015-05-10 20:31:47 +01:00
hmc5843.h iio: hmc5843: Move hmc5843 out of staging 2016-02-24 20:40:39 +00:00
hmc5843_core.c iio: hmc5843: Move hmc5843 out of staging 2016-02-24 20:40:39 +00:00
hmc5843_i2c.c iio: hmc5843: Move hmc5843 out of staging 2016-02-24 20:40:39 +00:00
hmc5843_spi.c iio: hmc5843: Move hmc5843 out of staging 2016-02-24 20:40:39 +00:00
mag3110.c iio: magnetometer: mag3110: Place driver on standby on error 2015-04-01 17:24:09 +02:00
mmc35240.c Second set of new device support, features and cleanup for the 4.3 cycle. 2015-08-12 12:43:41 -07:00
st_magn.h iio: st_magn: always define ST_MAGN_TRIGGER_SET_STATE 2016-04-03 10:56:42 +01:00
st_magn_buffer.c iio: st_sensors: switch to a threaded interrupt 2016-05-29 20:21:41 +01:00
st_magn_core.c iio: st_sensors: switch to a threaded interrupt 2016-05-29 20:21:41 +01:00
st_magn_i2c.c iio: st-magn: add support for lsm303agr magnetometer 2015-07-23 20:43:27 +01:00
st_magn_spi.c spi: Drop owner assignment from spi_drivers 2015-10-28 10:30:17 +09:00