summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaadi Maalem <saadi.maalem@intel.com>2015-10-09 11:05:57 +0800
committerZhengyin Qian <qianzy@google.com>2015-10-09 16:20:52 -0700
commit864d352a9e3177bf9db8a7974a07712a623e5a5a (patch)
treeedab3d10bf9104506160332923078fecb8a4f213
parentf86fa3afd78bddbfd51ce5082fb455d3c5e581a0 (diff)
downloadsensors-864d352a9e3177bf9db8a7974a07712a623e5a5a.tar.gz
sensor: fix flush interface implement
Change-Id: Ie29ff4edf0adad6b49f5fe1ae057e723128585ac Tracked-On: https://jira.ndg.intel.com/browse/MARVIN-880 Signed-off-by: Baixing Tan <baixingx.tan@intel.com> Reviewed-on: https://android.intel.com/421534 Reviewed-by: Ledentec, AlexandreX <alexandrex.ledentec@intel.com> Reviewed-by: Tasayco Loarte, VictorX <victorx.tasayco.loarte@intel.com>
-rw-r--r--libsensors_iio/src/HWSensorBase.cpp7
-rw-r--r--libsensors_iio/src/HWSensorBase.h2
-rw-r--r--libsensors_iio/src/SWSensorBase.cpp6
-rw-r--r--libsensors_iio/src/SWSensorBase.h2
-rw-r--r--libsensors_iio/src/SensorBase.cpp2
-rw-r--r--libsensors_iio/src/SensorBase.h2
-rw-r--r--libsensors_iio/src/SensorHAL.cpp6
7 files changed, 15 insertions, 12 deletions
diff --git a/libsensors_iio/src/HWSensorBase.cpp b/libsensors_iio/src/HWSensorBase.cpp
index d029114..e569c2a 100644
--- a/libsensors_iio/src/HWSensorBase.cpp
+++ b/libsensors_iio/src/HWSensorBase.cpp
@@ -299,7 +299,7 @@ restore_status_enable:
return err;
}
-int HWSensorBase::FlushData()
+int HWSensorBase::FlushData(int base)
{
int err;
@@ -315,7 +315,10 @@ int HWSensorBase::FlushData()
} else
return -EINVAL;
- return SensorBase::FlushData();
+ if (base)
+ return SensorBase::FlushData(0);
+ else
+ return 0;
}
void HWSensorBase::ThreadTask()
diff --git a/libsensors_iio/src/HWSensorBase.h b/libsensors_iio/src/HWSensorBase.h
index d7fb8a0..4a6f319 100644
--- a/libsensors_iio/src/HWSensorBase.h
+++ b/libsensors_iio/src/HWSensorBase.h
@@ -76,7 +76,7 @@ public:
virtual ~HWSensorBase();
virtual int Enable(int handle, bool enable);
- virtual int FlushData();
+ virtual int FlushData(int base);
virtual void ThreadTask();
};
diff --git a/libsensors_iio/src/SWSensorBase.cpp b/libsensors_iio/src/SWSensorBase.cpp
index b08b225..320752e 100644
--- a/libsensors_iio/src/SWSensorBase.cpp
+++ b/libsensors_iio/src/SWSensorBase.cpp
@@ -72,20 +72,20 @@ int SWSensorBase::AddSensorDependency(SensorBase *p)
return SensorBase::AddSensorDependency(p);
}
-int SWSensorBase::FlushData()
+int SWSensorBase::FlushData(int)
{
int err, i;
if (GetStatus() && (GetMinTimeout() > 0)) {
for (i = 0; i < (int)dependencies_num; i++) {
- err = dependencies[i]->FlushData();
+ err = dependencies[i]->FlushData(0);
if (err < 0)
return -EINVAL;
}
} else
return -EINVAL;
- return SensorBase::FlushData();
+ return SensorBase::FlushData(0);
}
void SWSensorBase::ThreadTask()
diff --git a/libsensors_iio/src/SWSensorBase.h b/libsensors_iio/src/SWSensorBase.h
index 06330d0..55abb86 100644
--- a/libsensors_iio/src/SWSensorBase.h
+++ b/libsensors_iio/src/SWSensorBase.h
@@ -42,7 +42,7 @@ public:
virtual ~SWSensorBase();
int AddSensorDependency(SensorBase *p);
- virtual int FlushData();
+ virtual int FlushData(int base);
virtual void ThreadTask();
};
diff --git a/libsensors_iio/src/SensorBase.cpp b/libsensors_iio/src/SensorBase.cpp
index 827077d..c6cb908 100644
--- a/libsensors_iio/src/SensorBase.cpp
+++ b/libsensors_iio/src/SensorBase.cpp
@@ -355,7 +355,7 @@ bool SensorBase::FillSensor_tData(struct sensor_t *data)
return true;
}
-int SensorBase::FlushData()
+int SensorBase::FlushData(int)
{
int err;
sensors_event_t flush_event_data;
diff --git a/libsensors_iio/src/SensorBase.h b/libsensors_iio/src/SensorBase.h
index 6187ec3..9b73dcc 100644
--- a/libsensors_iio/src/SensorBase.h
+++ b/libsensors_iio/src/SensorBase.h
@@ -140,7 +140,7 @@ public:
bool FillSensor_tData(struct sensor_t *data);
- virtual int FlushData();
+ virtual int FlushData(int);
virtual void ProcessData(SensorBaseData *data);
virtual void ProcessEvent(struct iio_event_data *event_data);
diff --git a/libsensors_iio/src/SensorHAL.cpp b/libsensors_iio/src/SensorHAL.cpp
index 15366db..90f1931 100644
--- a/libsensors_iio/src/SensorHAL.cpp
+++ b/libsensors_iio/src/SensorHAL.cpp
@@ -584,12 +584,12 @@ st_hal_load_free_iio_sysfs_path:
static int st_hal_dev_flush(struct sensors_poll_device_1 *dev, int handle)
{
STSensorHAL_data *hal_data = (STSensorHAL_data *)dev;
- ALOGD("st_hal_dev_flush type=%d", ((struct sensor_t) hal_data->sensor_t_list[handle]).type);
+ ALOGD("st_hal_dev_flush type=%u", ((struct sensor_t) hal_data->sensor_t_list[handle-1]).type);
/* One-shot sensor must return -EINVAL and not generate any flush complete metadata event */
- if (SENSOR_TYPE_SIGNIFICANT_MOTION == ((struct sensor_t) hal_data->sensor_t_list[handle]).type)
+ if (SENSOR_TYPE_SIGNIFICANT_MOTION == ((struct sensor_t) hal_data->sensor_t_list[handle-1]).type)
return -EINVAL;
- return hal_data->sensor_classes[handle]->FlushData();
+ return hal_data->sensor_classes[handle]->FlushData(1);
}
/**