<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux-stable.git/drivers/iio/magnetometer, branch linux-3.16.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/atom?h=linux-3.16.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/atom?h=linux-3.16.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/'/>
<updated>2019-02-11T17:54:05+00:00</updated>
<entry>
<title>iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers</title>
<updated>2019-02-11T17:54:05+00:00</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2018-10-31T14:20:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=ab77f8541e7116a4d5f127f9eda2a4f87709fa0f'/>
<id>urn:sha1:ab77f8541e7116a4d5f127f9eda2a4f87709fa0f</id>
<content type='text'>
commit 0145b50566e7de5637e80ecba96c7f0e6fff1aad upstream.

Before this commit sensor_hub_input_attr_get_raw_value() failed to take
the signedness of 16 and 8 bit values into account, returning e.g.
65436 instead of -100 for the z-axis reading of an accelerometer.

This commit adds a new is_signed parameter to the function and makes all
callers pass the appropriate value for this.

While at it, this commit also fixes up some neighboring lines where
statements were needlessly split over 2 lines to improve readability.

Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Acked-by: Srinivas Pandruvada &lt;srinivas.pandruvada@linux.intel.com&gt;
Acked-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
[bwh: Backported to 3.16:
 - sensor_hub_input_attr_get_raw_value() doesn't take a sync/async flag
   parameter
 - In sensor_hub_input_attr_get_raw_value() keep using data-&gt;pending instead of
   hsdev-&gt;pending
 - In magn_3d_read_raw() keep using chan-&gt;scan_index intstead of chan-&gt;address
 - Drop changes in hid-sensor-{custom,humidity,temperature}
 - Adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>iio: magnetometer: st_magn_core: enable multiread by default for LIS3MDL</title>
<updated>2017-11-26T13:50:13+00:00</updated>
<author>
<name>Lorenzo Bianconi</name>
<email>lorenzo.bianconi83@gmail.com</email>
</author>
<published>2017-06-20T17:42:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=3ced0efe439f9c3ba28ae592bf725811633d7d1c'/>
<id>urn:sha1:3ced0efe439f9c3ba28ae592bf725811633d7d1c</id>
<content type='text'>
commit 13718564167da80b6169809185b4c5a32497d0c1 upstream.

Enable multiread by default for LIS3MDL since using I2C interface
the subaddr Msb is used to automatically increase the slave address
during multiple data read/write. In the same way, using SPI interface,
bit 1 in register address is used to enable auto-increment of the slave
address in multiple read/write.

Fixes: 872e79add756 (iio:magn: Add STMicroelectronics magn driver)
Signed-off-by: Lorenzo Bianconi &lt;lorenzo.bianconi@st.com&gt;
Signed-off-by: Jonathan Cameron &lt;jic23@kernel.org&gt;
[bwh: Backported to 3.16: Update the macro used to fill in this field]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>iio: magnetometer: st_magn_spi: fix spi_device_id table</title>
<updated>2017-10-12T14:27:47+00:00</updated>
<author>
<name>Lorenzo Bianconi</name>
<email>lorenzo.bianconi83@gmail.com</email>
</author>
<published>2017-06-06T20:51:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=feb2dfa916aa428aa174a4ef127a9b96b9ae673f'/>
<id>urn:sha1:feb2dfa916aa428aa174a4ef127a9b96b9ae673f</id>
<content type='text'>
commit c83761ff0aac954aa368c623bb0f0d1a3214e834 upstream.

Remove LSM303DLHC, LSM303DLM from st_magn_id_table since LSM303DL series
does not support spi interface

Fixes: 872e79add756 (iio: magn: Add STMicroelectronics magn driver)
Signed-off-by: Lorenzo Bianconi &lt;lorenzo.bianconi@st.com&gt;
Signed-off-by: Jonathan Cameron &lt;jic23@kernel.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>iio: ak8975: Fix NULL pointer exception on early interrupt</title>
<updated>2016-06-15T20:29:24+00:00</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>k.kozlowski@samsung.com</email>
</author>
<published>2016-04-04T05:54:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=8fa9fb82895e8e7bff3ebaba3565ff8c5ebe46cf'/>
<id>urn:sha1:8fa9fb82895e8e7bff3ebaba3565ff8c5ebe46cf</id>
<content type='text'>
commit 07d2390e36ee5b3265e9cc8305f2a106c8721e16 upstream.

In certain probe conditions the interrupt came right after registering
the handler causing a NULL pointer exception because of uninitialized
waitqueue:

$ udevadm trigger
i2c-gpio i2c-gpio-1: using pins 143 (SDA) and 144 (SCL)
i2c-gpio i2c-gpio-3: using pins 53 (SDA) and 52 (SCL)
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = e8b38000
[00000000] *pgd=00000000
Internal error: Oops: 5 [#1] SMP ARM
Modules linked in: snd_soc_i2s(+) i2c_gpio(+) snd_soc_idma snd_soc_s3c_dma snd_soc_core snd_pcm_dmaengine snd_pcm snd_timer snd soundcore ac97_bus spi_s3c64xx pwm_samsung dwc2 exynos_adc phy_exynos_usb2 exynosdrm exynos_rng rng_core rtc_s3c
CPU: 0 PID: 717 Comm: data-provider-m Not tainted 4.6.0-rc1-next-20160401-00011-g1b8d87473b9e-dirty #101
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
(...)
(__wake_up_common) from [&lt;c0379624&gt;] (__wake_up+0x38/0x4c)
(__wake_up) from [&lt;c0a41d30&gt;] (ak8975_irq_handler+0x28/0x30)
(ak8975_irq_handler) from [&lt;c0386720&gt;] (handle_irq_event_percpu+0x88/0x140)
(handle_irq_event_percpu) from [&lt;c038681c&gt;] (handle_irq_event+0x44/0x68)
(handle_irq_event) from [&lt;c0389c40&gt;] (handle_edge_irq+0xf0/0x19c)
(handle_edge_irq) from [&lt;c0385e04&gt;] (generic_handle_irq+0x24/0x34)
(generic_handle_irq) from [&lt;c05ee360&gt;] (exynos_eint_gpio_irq+0x50/0x68)
(exynos_eint_gpio_irq) from [&lt;c0386720&gt;] (handle_irq_event_percpu+0x88/0x140)
(handle_irq_event_percpu) from [&lt;c038681c&gt;] (handle_irq_event+0x44/0x68)
(handle_irq_event) from [&lt;c0389a70&gt;] (handle_fasteoi_irq+0xb4/0x194)
(handle_fasteoi_irq) from [&lt;c0385e04&gt;] (generic_handle_irq+0x24/0x34)
(generic_handle_irq) from [&lt;c03860b4&gt;] (__handle_domain_irq+0x5c/0xb4)
(__handle_domain_irq) from [&lt;c0301774&gt;] (gic_handle_irq+0x54/0x94)
(gic_handle_irq) from [&lt;c030c910&gt;] (__irq_usr+0x50/0x80)

The bug was reproduced on exynos4412-trats2 (with a max77693 device also
using i2c-gpio) after building max77693 as a module.

Fixes: 94a6d5cf7caa ("iio:ak8975 Implement data ready interrupt handling")
Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Tested-by: Gregor Boirie &lt;gregor.boirie@parrot.com&gt;
Signed-off-by: Jonathan Cameron &lt;jic23@kernel.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>iio:st_sensors: Fix oops when probing SPI devices</title>
<updated>2015-05-28T08:59:58+00:00</updated>
<author>
<name>Alban Bedel</name>
<email>alban.bedel@avionic-design.de</email>
</author>
<published>2015-04-20T11:57:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=57a01173d13c84de74e8b704c12c849067af678c'/>
<id>urn:sha1:57a01173d13c84de74e8b704c12c849067af678c</id>
<content type='text'>
commit 8e71c04f863a1754f21b27fb8ecb773d680a0a80 upstream.

In SPI mode the transfer buffer is locked with a mutex. However this
mutex is only initilized after the probe, but some transfer needs to
be done in the probe.

To fix this bug we move the mutex initialization at the beginning of
the device probe.

Signed-off-by: Alban Bedel &lt;alban.bedel@avionic-design.de&gt;
Acked-by: Denis Ciocca &lt;denis.ciocca@st.com&gt;
Signed-off-by: Jonathan Cameron &lt;jic23@kernel.org&gt;
[ luis: backported to 3.16:
  - use 'pdata' instead of 'press_data' in st_press_common_probe()
  - adjusted context ]
Signed-off-by: Luis Henriques &lt;luis.henriques@canonical.com&gt;
</content>
</entry>
<entry>
<title>iio:magnetometer: bugfix magnetometers gain values</title>
<updated>2014-10-05T20:41:04+00:00</updated>
<author>
<name>Denis CIOCCA</name>
<email>denis.ciocca@st.com</email>
</author>
<published>2014-10-09T12:55:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=0957e4fde341b137c204b2cea649be2334c0df63'/>
<id>urn:sha1:0957e4fde341b137c204b2cea649be2334c0df63</id>
<content type='text'>
commit a31d0928999fbf33b3a6042e8bcb7b7f7e07d094 upstream.

This patch fix gains values. The first driver was designed using
engineering samples, in mass production the values are changed.

Signed-off-by: Denis Ciocca &lt;denis.ciocca@st.com&gt;
Signed-off-by: Jonathan Cameron &lt;jic23@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>iio: hid-sensor-magn-3d: Fix return values</title>
<updated>2014-07-05T10:07:12+00:00</updated>
<author>
<name>Sachin Kamat</name>
<email>sachin.kamat@samsung.com</email>
</author>
<published>2014-03-07T07:44:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=5f25b41f7ec242fce43d0f745369c0ba9d25cb72'/>
<id>urn:sha1:5f25b41f7ec242fce43d0f745369c0ba9d25cb72</id>
<content type='text'>
IIO_CHAN_INFO_SAMP_FREQ and IIO_CHAN_INFO_HYSTERESIS cases ignored
the actual return values (which could be -EINVAL) and instead
returned IIO_VAL_INT_PLUS_MICRO always. Return the actual value
obtained from the functions. Both functions return IIO_VAL_INT_PLUS_MICRO
upon success.

Signed-off-by: Sachin Kamat &lt;sachin.kamat@samsung.com&gt;
Cc: Srinivas Pandruvada &lt;srinivas.pandruvada@linux.intel.com&gt;
Signed-off-by: Jonathan Cameron &lt;jic23@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'iio-fixes-for-3.16a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus</title>
<updated>2014-06-18T17:41:08+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2014-06-18T17:41:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=e28642c04a19b934e6832a218ccc9e54977f0213'/>
<id>urn:sha1:e28642c04a19b934e6832a218ccc9e54977f0213</id>
<content type='text'>
Jonathan writes:

First set of IIO fixes for the 3.16 cycle.

A mixed bag of fixes, many of which feel just to late for 3.15.

* hid sensors - some devices need a feature report request in order to
  change power state.  This isn't part of the spec, but has been observed
  on several devices and does no harm to others.
* mpl3115 has had two errors in the buffer description fixed. The presure is
  signed, not unsigned and the temperature has 12 bits rather than 16.
  These could lead to incorrect interpretation of the data in userspace.
* tsl2x7x - the high byte of the proximity thresholds should be written along
  with the low byte (which was). This could lead to interesting results
  with large thresholds.
* twl4030 - a flag to specify processed values were required was not set
  when initializing a reading.  As such values returned were in an unknown
  state. Fixed by simply initializing it appropriately.
* IIO_SIMPLE_DUMMY_BUFFER did not select IIO_BUFFER leading to randconfig
  build errors.
* ak8975 was applying an unwanted le16_to_cpu conversion as the i2c framework
  already performs one.  As such for big endian systems, the bytes would be
  in the wrong order in the magnetic field measurements reported.
* mxs-lradc - the controllable voltage dividers were not enabled / disabled for
  later channels than the first one during conversion.
* at91_adc error handling returned -ENOMEM in a u8. Return value of
  at91_adc_get_trigger_value_by_name changed to int thus allowing -ENOMEM and
  also original values to be returned.
* mcb - mcb_request_mem returns and ERR_PTR but the caller was checking for
  NULL to detect an error.
</content>
</entry>
<entry>
<title>iio: Fix endianness issue in ak8975_read_axis()</title>
<updated>2014-06-07T10:50:34+00:00</updated>
<author>
<name>Peter Meerwald</name>
<email>pmeerw@pmeerw.net</email>
</author>
<published>2014-05-06T08:53:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=8ba42fb7b17649c9ab5b5e79d4e90370a0b4645e'/>
<id>urn:sha1:8ba42fb7b17649c9ab5b5e79d4e90370a0b4645e</id>
<content type='text'>
i2c_smbus_read_word_data() does host endian conversion already,
no need for le16_to_cpu()

Signed-off-by: Peter Meerwald &lt;pmeerw@pmeerw.net&gt;
Signed-off-by: Jonathan Cameron &lt;jic23@kernel.org&gt;
Cc: Stable@vger.kernel.org
</content>
</entry>
<entry>
<title>iio: hid-sensors: Compass 3D: Raw read support</title>
<updated>2014-05-05T09:59:52+00:00</updated>
<author>
<name>Srinivas Pandruvada</name>
<email>srinivas.pandruvada@linux.intel.com</email>
</author>
<published>2014-04-18T23:22:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=8009c594a5b523444a18cfb65211d38a5e459a8a'/>
<id>urn:sha1:8009c594a5b523444a18cfb65211d38a5e459a8a</id>
<content type='text'>
Added support for raw reading of channel. If the sensor is powered
off, it will turn on for reading value

Signed-off-by: Srinivas Pandruvada &lt;srinivas.pandruvada@linux.intel.com&gt;
Signed-off-by: Jonathan Cameron &lt;jic23@kernel.org&gt;
</content>
</entry>
</feed>
