aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/sensorhub/gyro_lsm330.c
diff options
context:
space:
mode:
authorSamsung OSRC <osrc@samsung.com>2013-01-20 14:10:20 -0500
committerCurtis Menard <curtis.menard@gmail.com>2013-01-20 14:10:20 -0500
commitfa4e880a9894605db70ef2ee88902d139eb48989 (patch)
tree6e95d6cd15cfb281599f74b966db7049d4fd5690 /drivers/sensorhub/gyro_lsm330.c
parent10b2523bd76efada8f212f55b5b36889091b991a (diff)
downloadkernel_samsung_smdk4412-fa4e880a9894605db70ef2ee88902d139eb48989.zip
kernel_samsung_smdk4412-fa4e880a9894605db70ef2ee88902d139eb48989.tar.gz
kernel_samsung_smdk4412-fa4e880a9894605db70ef2ee88902d139eb48989.tar.bz2
Sensorhub: Update sensors and firmware
From Samsung SPH-L900 update source. Change-Id: Ib1dcf851ce5e723661169d7cb4ee8bc8ff647226 Signed-off-by: Curtis Menard <curtis.menard@gmail.com>
Diffstat (limited to 'drivers/sensorhub/gyro_lsm330.c')
-rw-r--r--[-rwxr-xr-x]drivers/sensorhub/gyro_lsm330.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/sensorhub/gyro_lsm330.c b/drivers/sensorhub/gyro_lsm330.c
index 58c6b4b..0a3a473 100755..100644
--- a/drivers/sensorhub/gyro_lsm330.c
+++ b/drivers/sensorhub/gyro_lsm330.c
@@ -131,6 +131,9 @@ static ssize_t gyro_get_temp(struct device *dev,
int iDelayCnt = 0, iRet = 0;
struct ssp_data *data = dev_get_drvdata(dev);
+ if (!(data->uSensorState & (1 << GYROSCOPE_SENSOR)))
+ goto exit;
+
data->uFactorydataReady = 0;
memset(data->uFactorydata, 0, sizeof(char) * FACTORY_DATA_MAX);
@@ -234,6 +237,9 @@ static ssize_t gyro_selftest_dps_store(struct device *dev,
struct ssp_data *data = dev_get_drvdata(dev);
+ if (!(data->uSensorState & (1 << GYROSCOPE_SENSOR)))
+ goto exit;
+
sscanf(buf, "%d", &iNewDps);
if (iNewDps == GYROSCOPE_DPS250)
@@ -306,7 +312,10 @@ static struct device_attribute *gyro_attrs[] = {
void initialize_gyro_factorytest(struct ssp_data *data)
{
- struct device *gyro_device = NULL;
+ sensors_register(data->gyro_device, data, gyro_attrs, "gyro_sensor");
+}
- sensors_register(gyro_device, data, gyro_attrs, "gyro_sensor");
+void remove_gyro_factorytest(struct ssp_data *data)
+{
+ sensors_unregister(data->gyro_device, gyro_attrs);
}