diff options
Diffstat (limited to 'drivers/mfd/ucb1x00-ts.c')
| -rw-r--r-- | drivers/mfd/ucb1x00-ts.c | 12 | 
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/mfd/ucb1x00-ts.c b/drivers/mfd/ucb1x00-ts.c index 000cb414a78..92b85e28a15 100644 --- a/drivers/mfd/ucb1x00-ts.c +++ b/drivers/mfd/ucb1x00-ts.c @@ -385,12 +385,18 @@ static int ucb1x00_ts_add(struct ucb1x00_dev *dev)  	idev->close      = ucb1x00_ts_close;  	__set_bit(EV_ABS, idev->evbit); -	__set_bit(ABS_X, idev->absbit); -	__set_bit(ABS_Y, idev->absbit); -	__set_bit(ABS_PRESSURE, idev->absbit);  	input_set_drvdata(idev, ts); +	ucb1x00_adc_enable(ts->ucb); +	ts->x_res = ucb1x00_ts_read_xres(ts); +	ts->y_res = ucb1x00_ts_read_yres(ts); +	ucb1x00_adc_disable(ts->ucb); + +	input_set_abs_params(idev, ABS_X, 0, ts->x_res, 0, 0); +	input_set_abs_params(idev, ABS_Y, 0, ts->y_res, 0, 0); +	input_set_abs_params(idev, ABS_PRESSURE, 0, 0, 0, 0); +  	err = input_register_device(idev);  	if (err)  		goto fail;  |