Input: ad7879 - do not manipulate capability bits directly
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 28 Feb 2017 19:56:20 +0000 (11:56 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 1 Mar 2017 17:42:45 +0000 (09:42 -0800)
Instead of manipulating capabilities bits of input device directly, let's
use input_set_capability() API.

Also, stop setting ABS_X/Y bits explicitly as input_set_abs_params() does
this for us.

Acked-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/ad7879.c

index c415614ada6805d379ad8e8458ed3e192a57ff21..196028c452106186a611f5232aeeb2593286f537 100644 (file)
@@ -590,13 +590,7 @@ int ad7879_probe(struct device *dev, struct regmap *regmap,
 
        input_set_drvdata(input_dev, ts);
 
-       __set_bit(EV_ABS, input_dev->evbit);
-       __set_bit(ABS_X, input_dev->absbit);
-       __set_bit(ABS_Y, input_dev->absbit);
-       __set_bit(ABS_PRESSURE, input_dev->absbit);
-
-       __set_bit(EV_KEY, input_dev->evbit);
-       __set_bit(BTN_TOUCH, input_dev->keybit);
+       input_set_capability(input_dev, EV_KEY, BTN_TOUCH);
 
        if (pdata) {
                input_set_abs_params(input_dev, ABS_X,
@@ -614,6 +608,7 @@ int ad7879_probe(struct device *dev, struct regmap *regmap,
        } else {
                input_set_abs_params(input_dev, ABS_X, 0, MAX_12BIT, 0, 0);
                input_set_abs_params(input_dev, ABS_Y, 0, MAX_12BIT, 0, 0);
+               input_set_capability(input_dev, EV_ABS, ABS_PRESSURE);
                touchscreen_parse_properties(input_dev, false, NULL);
                if (!input_abs_get_max(input_dev, ABS_PRESSURE)) {
                        dev_err(dev, "Touchscreen pressure is not specified\n");