diff options
| author | Evan Wilson <evan@oliodevices.com> | 2015-12-20 00:59:31 -0800 | 
|---|---|---|
| committer | Evan Wilson <evan@oliodevices.com> | 2015-12-20 00:59:31 -0800 | 
| commit | 6a337f484ddc57ea23149052c43f309c2f5994a1 (patch) | |
| tree | 12242c3b3840eada29a03aa014657a092a54cc1e | |
| parent | a2cf73d74dc87c054c3ca329eba11299f2efb95f (diff) | |
| download | olio-linux-3.10-6a337f484ddc57ea23149052c43f309c2f5994a1.tar.xz olio-linux-3.10-6a337f484ddc57ea23149052c43f309c2f5994a1.zip | |
Enabled 6D and Tap on init, and removed from other places
Change-Id: Ia6a7cd4c276a07bca6740181c517becdfc03aab6
| -rw-r--r-- | drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c | 28 | 
1 files changed, 17 insertions, 11 deletions
| diff --git a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c index ead52144441..9f2527bad93 100644 --- a/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c +++ b/drivers/iio/imu/st_lsm6ds3/st_lsm6ds3_core.c @@ -1104,9 +1104,10 @@ static int st_lsm6ds3_enable_sensors(struct lsm6ds3_sensor_data *sdata)  		sdata->c_odr = st_lsm6ds3_odr_table.odr_avl[i].hz;  		//enable tap and   		//passthrough since we always want 6d and tap enabled; +		break;  	case ST_INDIO_DEV_SIGN_MOTION: - +		dev_info(sdata->cdata->dev, "Enabling 6d and Tap");  		err = st_lsm6ds3_write_data_with_mask(sdata->cdata,  						ST_LSM6DS3_MD1_ADDR, ST_LSM6DS3_6D_MD1_INT_MASK, ST_LSM6DS3_EN_BIT, true);  		if (err < 0) @@ -1536,6 +1537,11 @@ static int st_lsm6ds3_init_sensor(struct lsm6ds3_data *cdata)  #define ST_LSM6DS3_CTRL8_LPF_ON_ACCEL 0x80  #define ST_LSM6DS3_CTRL4_ADDR 0x13  #define ST_LSM6DS3_CTRL4_STOP_ON_FTH_MASK 0x1 +	regval = 0x44; // MD1 (6D and Tap on INT1) +	err = sdata->cdata->tf->write(sdata->cdata, +					ST_LSM6DS3_MD1_ADDR, +					1, ®val, false); +  	regval = 0x48;//tap threshold  	err = sdata->cdata->tf->write(sdata->cdata,  					ST_LSM6DS3_TAP_THS_6D_ADDR, @@ -2344,16 +2350,16 @@ int st_lsm6ds3_common_suspend(struct lsm6ds3_data *cdata)  		if (device_may_wakeup(cdata->dev))  			enable_irq_wake(cdata->irq);  	} -	err = cdata->tf->read(cdata, -			ST_LSM6DS3_MD1_ADDR, 1, ®_value, true); -	dev_info(cdata->dev, "before suspend md1: %x, err:%i", reg_value, err); -	dev_info(cdata->dev, "manually setting to 0x44"); -	reg_value = 0x44; -	err = cdata->tf->write(cdata, -			ST_LSM6DS3_MD1_ADDR, 1, ®_value, true); -	err = cdata->tf->read(cdata, -			ST_LSM6DS3_MD1_ADDR, 1, ®_value, true); -	dev_info(cdata->dev, "before suspend md1: %x, err:%i", reg_value, err); +//	err = cdata->tf->read(cdata, +//			ST_LSM6DS3_MD1_ADDR, 1, ®_value, true); +//	dev_info(cdata->dev, "before suspend md1: %x, err:%i", reg_value, err); +//	dev_info(cdata->dev, "manually setting to 0x44"); +//	reg_value = 0x44; +//	err = cdata->tf->write(cdata, +//			ST_LSM6DS3_MD1_ADDR, 1, ®_value, true); +//	err = cdata->tf->read(cdata, +//			ST_LSM6DS3_MD1_ADDR, 1, ®_value, true); +//	dev_info(cdata->dev, "before suspend md1: %x, err:%i", reg_value, err);  	err = cdata->tf->read(cdata,  			0xd, 1, ®_value, true); |