From 5808110c436c83285786d430fb302b6f1dd6ea8a Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E8=AE=B8=E7=9B=9B=E9=A3=9E?= Date: Fri, 10 Aug 2012 15:58:43 +0800 Subject: [PATCH] rk30:auto-dimming function about light-sensor and backlight-curve --- drivers/input/sensors/lsensor/cm3217.c | 3 ++- drivers/input/sensors/lsensor/ls_al3006.c | 3 ++- drivers/input/sensors/lsensor/ls_stk3171.c | 3 ++- drivers/input/sensors/sensor-dev.c | 1 + include/linux/sensor-dev.h | 1 + 5 files changed, 8 insertions(+), 3 deletions(-) mode change 100755 => 100644 drivers/input/sensors/lsensor/cm3217.c mode change 100755 => 100644 drivers/input/sensors/lsensor/ls_al3006.c mode change 100755 => 100644 drivers/input/sensors/lsensor/ls_stk3171.c mode change 100755 => 100644 drivers/input/sensors/sensor-dev.c mode change 100755 => 100644 include/linux/sensor-dev.h diff --git a/drivers/input/sensors/lsensor/cm3217.c b/drivers/input/sensors/lsensor/cm3217.c old mode 100755 new mode 100644 index 31f09b02d0fc..b21d12609d0b --- a/drivers/input/sensors/lsensor/cm3217.c +++ b/drivers/input/sensors/lsensor/cm3217.c @@ -197,7 +197,8 @@ struct sensor_operate light_cm3217_ops = { .precision = 8, //8 bits .ctrl_reg = CM3217_ADDR_COM1, //enable or disable .int_status_reg = SENSOR_UNKNOW_DATA, //intterupt status register - .range = {0,10}, //range + .range = {100,65535}, //range + .brightness ={10,255}, // brightness .trig = SENSOR_UNKNOW_DATA, .active = sensor_active, .init = sensor_init, diff --git a/drivers/input/sensors/lsensor/ls_al3006.c b/drivers/input/sensors/lsensor/ls_al3006.c old mode 100755 new mode 100644 index e9a1f52852f8..416df23002b4 --- a/drivers/input/sensors/lsensor/ls_al3006.c +++ b/drivers/input/sensors/lsensor/ls_al3006.c @@ -262,7 +262,8 @@ struct sensor_operate light_al3006_ops = { .precision = 8, //8 bits .ctrl_reg = CONFIG_REG, //enable or disable .int_status_reg = INT_STATUS_REG, //intterupt status register - .range = {0,10}, //range + .range = {100,65535}, //range + .brightness ={10,255}, // brightness .trig = IRQF_TRIGGER_LOW | IRQF_ONESHOT | IRQF_SHARED, .active = sensor_active, .init = sensor_init, diff --git a/drivers/input/sensors/lsensor/ls_stk3171.c b/drivers/input/sensors/lsensor/ls_stk3171.c old mode 100755 new mode 100644 index 9edd1bff906b..7913b6fa0244 --- a/drivers/input/sensors/lsensor/ls_stk3171.c +++ b/drivers/input/sensors/lsensor/ls_stk3171.c @@ -281,7 +281,8 @@ struct sensor_operate light_stk3171_ops = { .precision = 16, //8 bits .ctrl_reg = ALS_CMD, //enable or disable .int_status_reg = STA_TUS, //intterupt status register - .range = {0,10}, //range + .range = {100,65535}, //range + .brightness ={10,255}, //brightness .trig = IRQF_TRIGGER_LOW | IRQF_ONESHOT | IRQF_SHARED, .active = sensor_active, .init = sensor_init, diff --git a/drivers/input/sensors/sensor-dev.c b/drivers/input/sensors/sensor-dev.c old mode 100755 new mode 100644 index 4e7d0683ec4b..e5ac3e97a3d1 --- a/drivers/input/sensors/sensor-dev.c +++ b/drivers/input/sensors/sensor-dev.c @@ -1192,6 +1192,7 @@ int sensor_probe(struct i2c_client *client, const struct i2c_device_id *devid) sensor->input_dev->name = "lightsensor-level"; set_bit(EV_ABS, sensor->input_dev->evbit); input_set_abs_params(sensor->input_dev, ABS_MISC, sensor->ops->range[0], sensor->ops->range[1], 0, 0); + input_set_abs_params(sensor->input_dev, ABS_TOOL_WIDTH , sensor->ops->brightness[0],sensor->ops->brightness[1], 0, 0); break; case SENSOR_TYPE_PROXIMITY: sensor->input_dev->name = "proximity"; diff --git a/include/linux/sensor-dev.h b/include/linux/sensor-dev.h old mode 100755 new mode 100644 index 710ce1e36614..60880b84495e --- a/include/linux/sensor-dev.h +++ b/include/linux/sensor-dev.h @@ -100,6 +100,7 @@ struct sensor_operate { int type; int id_i2c; int range[2]; + int brightness[2];//backlight min_brightness max_brightness int read_reg; int read_len; int id_reg; -- 2.34.1