summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2018-08-01 15:35:07 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2018-08-01 15:35:07 -0400
commit8c1f80c8da01ea1ee5f18a93ce8e3ce8000eb461 (patch)
treea55b5f9d76d1648b6c746db8a12eed9b6cbd32ab
parent325e75f1ef2f384e6922c2267659886e27e8bc6c (diff)
downloadlongterm-queue-4.12-8c1f80c8da01ea1ee5f18a93ce8e3ce8000eb461.tar.gz
iio: drop patch n/a for 4.12.x
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--queue/iio-st_sensors-add-register-mask-for-status-register.patch311
-rw-r--r--queue/series1
2 files changed, 0 insertions, 312 deletions
diff --git a/queue/iio-st_sensors-add-register-mask-for-status-register.patch b/queue/iio-st_sensors-add-register-mask-for-status-register.patch
deleted file mode 100644
index 3ca800d..0000000
--- a/queue/iio-st_sensors-add-register-mask-for-status-register.patch
+++ /dev/null
@@ -1,311 +0,0 @@
-From e72a060151e5bb673af24993665e270fc4f674a7 Mon Sep 17 00:00:00 2001
-From: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
-Date: Wed, 30 Aug 2017 13:50:39 +0200
-Subject: [PATCH] iio: st_sensors: add register mask for status register
-
-commit e72a060151e5bb673af24993665e270fc4f674a7 upstream.
-
-Introduce register mask for data-ready status register since
-pressure sensors (e.g. LPS22HB) export just two channels
-(BIT(0) and BIT(1)) and BIT(2) is marked reserved while in
-st_sensors_new_samples_available() value read from status register
-is masked using 0x7.
-Moreover do not mask status register using active_scan_mask since
-now status value is properly masked and if the result is not zero the
-interrupt has to be consumed by the driver. This fix an issue on LPS25H
-and LPS331AP where channel definition is swapped respect to status
-register.
-Furthermore that change allows to properly support new devices
-(e.g LIS2DW12) that report just ZYXDA (data-ready) field in status register
-to figure out if the interrupt has been generated by the device.
-
-Fixes: 97865fe41322 (iio: st_sensors: verify interrupt event to status)
-Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@st.com>
-Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
-Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
-
-diff --git a/drivers/iio/accel/st_accel_core.c b/drivers/iio/accel/st_accel_core.c
-index 1a2e54ff473a..140ba26f6131 100644
---- a/drivers/iio/accel/st_accel_core.c
-+++ b/drivers/iio/accel/st_accel_core.c
-@@ -164,7 +164,10 @@ static const struct st_sensor_settings st_accel_sensors_settings[] = {
- .mask_int2 = 0x00,
- .addr_ihl = 0x25,
- .mask_ihl = 0x02,
-- .addr_stat_drdy = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .stat_drdy = {
-+ .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .mask = 0x07,
-+ },
- },
- .sim = {
- .addr = 0x23,
-@@ -236,7 +239,10 @@ static const struct st_sensor_settings st_accel_sensors_settings[] = {
- .mask_ihl = 0x80,
- .addr_od = 0x22,
- .mask_od = 0x40,
-- .addr_stat_drdy = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .stat_drdy = {
-+ .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .mask = 0x07,
-+ },
- },
- .sim = {
- .addr = 0x23,
-@@ -318,7 +324,10 @@ static const struct st_sensor_settings st_accel_sensors_settings[] = {
- .mask_int2 = 0x00,
- .addr_ihl = 0x23,
- .mask_ihl = 0x40,
-- .addr_stat_drdy = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .stat_drdy = {
-+ .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .mask = 0x07,
-+ },
- .ig1 = {
- .en_addr = 0x23,
- .en_mask = 0x08,
-@@ -389,7 +398,10 @@ static const struct st_sensor_settings st_accel_sensors_settings[] = {
- .drdy_irq = {
- .addr = 0x21,
- .mask_int1 = 0x04,
-- .addr_stat_drdy = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .stat_drdy = {
-+ .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .mask = 0x07,
-+ },
- },
- .sim = {
- .addr = 0x21,
-@@ -451,7 +463,10 @@ static const struct st_sensor_settings st_accel_sensors_settings[] = {
- .mask_ihl = 0x80,
- .addr_od = 0x22,
- .mask_od = 0x40,
-- .addr_stat_drdy = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .stat_drdy = {
-+ .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .mask = 0x07,
-+ },
- },
- .sim = {
- .addr = 0x21,
-@@ -569,7 +584,10 @@ static const struct st_sensor_settings st_accel_sensors_settings[] = {
- .drdy_irq = {
- .addr = 0x21,
- .mask_int1 = 0x04,
-- .addr_stat_drdy = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .stat_drdy = {
-+ .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .mask = 0x07,
-+ },
- },
- .sim = {
- .addr = 0x21,
-@@ -640,7 +658,10 @@ static const struct st_sensor_settings st_accel_sensors_settings[] = {
- .mask_int2 = 0x00,
- .addr_ihl = 0x25,
- .mask_ihl = 0x02,
-- .addr_stat_drdy = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .stat_drdy = {
-+ .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .mask = 0x07,
-+ },
- },
- .sim = {
- .addr = 0x23,
-diff --git a/drivers/iio/common/st_sensors/st_sensors_core.c b/drivers/iio/common/st_sensors/st_sensors_core.c
-index 02e833b14db0..34115f05d5c4 100644
---- a/drivers/iio/common/st_sensors/st_sensors_core.c
-+++ b/drivers/iio/common/st_sensors/st_sensors_core.c
-@@ -470,7 +470,7 @@ int st_sensors_set_dataready_irq(struct iio_dev *indio_dev, bool enable)
- * different one. Take into account irq status register
- * to understand if irq trigger can be properly supported
- */
-- if (sdata->sensor_settings->drdy_irq.addr_stat_drdy)
-+ if (sdata->sensor_settings->drdy_irq.stat_drdy.addr)
- sdata->hw_irq_trigger = enable;
- return 0;
- }
-diff --git a/drivers/iio/common/st_sensors/st_sensors_trigger.c b/drivers/iio/common/st_sensors/st_sensors_trigger.c
-index fa73e6795359..fdcc5a891958 100644
---- a/drivers/iio/common/st_sensors/st_sensors_trigger.c
-+++ b/drivers/iio/common/st_sensors/st_sensors_trigger.c
-@@ -31,7 +31,7 @@ static int st_sensors_new_samples_available(struct iio_dev *indio_dev,
- int ret;
-
- /* How would I know if I can't check it? */
-- if (!sdata->sensor_settings->drdy_irq.addr_stat_drdy)
-+ if (!sdata->sensor_settings->drdy_irq.stat_drdy.addr)
- return -EINVAL;
-
- /* No scan mask, no interrupt */
-@@ -39,23 +39,15 @@ static int st_sensors_new_samples_available(struct iio_dev *indio_dev,
- return 0;
-
- ret = sdata->tf->read_byte(&sdata->tb, sdata->dev,
-- sdata->sensor_settings->drdy_irq.addr_stat_drdy,
-+ sdata->sensor_settings->drdy_irq.stat_drdy.addr,
- &status);
- if (ret < 0) {
- dev_err(sdata->dev,
- "error checking samples available\n");
- return ret;
- }
-- /*
-- * the lower bits of .active_scan_mask[0] is directly mapped
-- * to the channels on the sensor: either bit 0 for
-- * one-dimensional sensors, or e.g. x,y,z for accelerometers,
-- * gyroscopes or magnetometers. No sensor use more than 3
-- * channels, so cut the other status bits here.
-- */
-- status &= 0x07;
-
-- if (status & (u8)indio_dev->active_scan_mask[0])
-+ if (status & sdata->sensor_settings->drdy_irq.stat_drdy.mask)
- return 1;
-
- return 0;
-@@ -212,7 +204,7 @@ int st_sensors_allocate_trigger(struct iio_dev *indio_dev,
- * it was "our" interrupt.
- */
- if (sdata->int_pin_open_drain &&
-- sdata->sensor_settings->drdy_irq.addr_stat_drdy)
-+ sdata->sensor_settings->drdy_irq.stat_drdy.addr)
- irq_trig |= IRQF_SHARED;
-
- err = request_threaded_irq(sdata->get_irq_data_ready(indio_dev),
-diff --git a/drivers/iio/gyro/st_gyro_core.c b/drivers/iio/gyro/st_gyro_core.c
-index 4cf85aa01dde..22c0c1732996 100644
---- a/drivers/iio/gyro/st_gyro_core.c
-+++ b/drivers/iio/gyro/st_gyro_core.c
-@@ -118,7 +118,10 @@ static const struct st_sensor_settings st_gyro_sensors_settings[] = {
- * drain settings, but only for INT1 and not
- * for the DRDY line on INT2.
- */
-- .addr_stat_drdy = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .stat_drdy = {
-+ .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .mask = 0x07,
-+ },
- },
- .multi_read_bit = true,
- .bootime = 2,
-@@ -188,7 +191,10 @@ static const struct st_sensor_settings st_gyro_sensors_settings[] = {
- * drain settings, but only for INT1 and not
- * for the DRDY line on INT2.
- */
-- .addr_stat_drdy = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .stat_drdy = {
-+ .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .mask = 0x07,
-+ },
- },
- .multi_read_bit = true,
- .bootime = 2,
-@@ -253,7 +259,10 @@ static const struct st_sensor_settings st_gyro_sensors_settings[] = {
- * drain settings, but only for INT1 and not
- * for the DRDY line on INT2.
- */
-- .addr_stat_drdy = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .stat_drdy = {
-+ .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .mask = 0x07,
-+ },
- },
- .multi_read_bit = true,
- .bootime = 2,
-diff --git a/drivers/iio/magnetometer/st_magn_core.c b/drivers/iio/magnetometer/st_magn_core.c
-index 703de313c418..ace72c57f53c 100644
---- a/drivers/iio/magnetometer/st_magn_core.c
-+++ b/drivers/iio/magnetometer/st_magn_core.c
-@@ -317,7 +317,10 @@ static const struct st_sensor_settings st_magn_sensors_settings[] = {
- },
- .drdy_irq = {
- /* drdy line is routed drdy pin */
-- .addr_stat_drdy = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .stat_drdy = {
-+ .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .mask = 0x07,
-+ },
- },
- .multi_read_bit = true,
- .bootime = 2,
-@@ -361,7 +364,10 @@ static const struct st_sensor_settings st_magn_sensors_settings[] = {
- .drdy_irq = {
- .addr = 0x62,
- .mask_int1 = 0x01,
-- .addr_stat_drdy = 0x67,
-+ .stat_drdy = {
-+ .addr = 0x67,
-+ .mask = 0x07,
-+ },
- },
- .multi_read_bit = false,
- .bootime = 2,
-diff --git a/drivers/iio/pressure/st_pressure_core.c b/drivers/iio/pressure/st_pressure_core.c
-index 86120715913b..5f8358e23f5b 100644
---- a/drivers/iio/pressure/st_pressure_core.c
-+++ b/drivers/iio/pressure/st_pressure_core.c
-@@ -287,7 +287,10 @@ static const struct st_sensor_settings st_press_sensors_settings[] = {
- .mask_ihl = 0x80,
- .addr_od = 0x22,
- .mask_od = 0x40,
-- .addr_stat_drdy = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .stat_drdy = {
-+ .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .mask = 0x03,
-+ },
- },
- .multi_read_bit = true,
- .bootime = 2,
-@@ -395,7 +398,10 @@ static const struct st_sensor_settings st_press_sensors_settings[] = {
- .mask_ihl = 0x80,
- .addr_od = 0x22,
- .mask_od = 0x40,
-- .addr_stat_drdy = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .stat_drdy = {
-+ .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .mask = 0x03,
-+ },
- },
- .multi_read_bit = true,
- .bootime = 2,
-@@ -456,7 +462,10 @@ static const struct st_sensor_settings st_press_sensors_settings[] = {
- .mask_ihl = 0x80,
- .addr_od = 0x12,
- .mask_od = 0x40,
-- .addr_stat_drdy = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .stat_drdy = {
-+ .addr = ST_SENSORS_DEFAULT_STAT_ADDR,
-+ .mask = 0x03,
-+ },
- },
- .multi_read_bit = false,
- .bootime = 2,
-diff --git a/include/linux/iio/common/st_sensors.h b/include/linux/iio/common/st_sensors.h
-index 7b0fa8b5c120..ce0ef1c0a30a 100644
---- a/include/linux/iio/common/st_sensors.h
-+++ b/include/linux/iio/common/st_sensors.h
-@@ -139,7 +139,7 @@ struct st_sensor_das {
- * @mask_ihl: mask to enable/disable active low on the INT lines.
- * @addr_od: address to enable/disable Open Drain on the INT lines.
- * @mask_od: mask to enable/disable Open Drain on the INT lines.
-- * @addr_stat_drdy: address to read status of DRDY (data ready) interrupt
-+ * struct stat_drdy - status register of DRDY (data ready) interrupt.
- * struct ig1 - represents the Interrupt Generator 1 of sensors.
- * @en_addr: address of the enable ig1 register.
- * @en_mask: mask to write the on/off value for enable.
-@@ -152,7 +152,10 @@ struct st_sensor_data_ready_irq {
- u8 mask_ihl;
- u8 addr_od;
- u8 mask_od;
-- u8 addr_stat_drdy;
-+ struct {
-+ u8 addr;
-+ u8 mask;
-+ } stat_drdy;
- struct {
- u8 en_addr;
- u8 en_mask;
---
-2.15.0
-
diff --git a/queue/series b/queue/series
index d021abf..6d124b1 100644
--- a/queue/series
+++ b/queue/series
@@ -16,7 +16,6 @@ PCI-Create-SR-IOV-virtfn-physfn-links-before-attachi.patch
PM-OPP-Move-error-message-to-debug-level.patch
igb-check-memory-allocation-failure.patch
i40e-use-the-safe-hash-table-iterator-when-deleting-.patch
-iio-st_sensors-add-register-mask-for-status-register.patch
ixgbe-fix-use-of-uninitialized-padding.patch
IB-rxe-check-for-allocation-failure-on-elem.patch
block-bfq-Disable-writeback-throttling.patch