diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/input/keyboard/gpio_keys.c | 4 | ||||
-rw-r--r-- | drivers/sensorhub/ssp_sysfs.c | 41 |
2 files changed, 24 insertions, 21 deletions
diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c index b1fddc8..6feb939 100644 --- a/drivers/input/keyboard/gpio_keys.c +++ b/drivers/input/keyboard/gpio_keys.c @@ -711,7 +711,9 @@ static void flip_cover_work(struct work_struct *work) flip_cover_open = ddata->flip_cover; if(!ts_powered_on && !ddata->flip_cover){ - printk("screen already off\n"); + printk("[keys] screen already off\n"); + }else if(ts_powered_on && ddata->flip_cover){ + printk("[keys] screen already on\n"); }else{ input_report_key(ddata->input, KEY_POWER, 1); input_sync(ddata->input); diff --git a/drivers/sensorhub/ssp_sysfs.c b/drivers/sensorhub/ssp_sysfs.c index 0ce5ff9..1bc7f17 100644 --- a/drivers/sensorhub/ssp_sysfs.c +++ b/drivers/sensorhub/ssp_sysfs.c @@ -103,7 +103,7 @@ static void change_sensor_delay(struct ssp_data *data, break; default: - data->aiCheckStatus[iSensorType] = ADD_SENSOR_STATE; + break; } } @@ -133,20 +133,7 @@ static int ssp_remove_sensor(struct ssp_data *data, data->adDelayBuf[uChangedSensor] = DEFUALT_POLLING_DELAY; - if (data->aiCheckStatus[uChangedSensor] == INITIALIZATION_STATE) { - data->aiCheckStatus[uChangedSensor] = NO_SENSOR_STATE; - if (uChangedSensor == ACCELEROMETER_SENSOR) - accel_open_calibration(data); - else if (uChangedSensor == GYROSCOPE_SENSOR) - gyro_open_calibration(data); - else if (uChangedSensor == PRESSURE_SENSOR) - pressure_open_calibration(data); - else if (uChangedSensor == PROXIMITY_SENSOR) { - proximity_open_lcd_ldi(data); - proximity_open_calibration(data); - } - return 0; - } else if (uChangedSensor == ORIENTATION_SENSOR) { + if (uChangedSensor == ORIENTATION_SENSOR) { if (!(atomic_read(&data->aSensorEnable) & (1 << ACCELEROMETER_SENSOR))) { uChangedSensor = ACCELEROMETER_SENSOR; @@ -200,6 +187,7 @@ static ssize_t set_sensors_enable(struct device *dev, int64_t dTemp; unsigned int uNewEnable = 0, uChangedSensor = 0; struct ssp_data *data = dev_get_drvdata(dev); + int iRet; if (strict_strtoll(buf, 10, &dTemp) < 0) return -1; @@ -215,11 +203,24 @@ static ssize_t set_sensors_enable(struct device *dev, if ((atomic_read(&data->aSensorEnable) & (1 << uChangedSensor)) != (uNewEnable & (1 << uChangedSensor))) { - if (uNewEnable & (1 << uChangedSensor)) - ssp_add_sensor(data, uChangedSensor); - else - ssp_remove_sensor(data, uChangedSensor, - uNewEnable); + if (!(uNewEnable & (1 << uChangedSensor))) + ssp_remove_sensor(data, uChangedSensor, + uNewEnable); /* disable */ + else { /* Change to ADD_SENSOR_STATE from KitKat */ + if (data->aiCheckStatus[uChangedSensor] == INITIALIZATION_STATE) { + if (uChangedSensor == ACCELEROMETER_SENSOR) + accel_open_calibration(data); + else if (uChangedSensor == GYROSCOPE_SENSOR) + gyro_open_calibration(data); + else if (uChangedSensor == PRESSURE_SENSOR) + pressure_open_calibration(data); + else if (uChangedSensor == PROXIMITY_SENSOR) { + proximity_open_lcd_ldi(data); + proximity_open_calibration(data); + } + } + data->aiCheckStatus[uChangedSensor] = ADD_SENSOR_STATE; + } break; } |