Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1583910
| From | "H. Nikolaus Schaller" <hns@goldelico.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] Input: tsc2007 - switch to using input_set_capability() |
| Date | 2017-02-18 16:00 +0100 |
| Message-ID | <tceEq-3aL-13@gated-at.bofh.it> (permalink) |
| References | <tbZFn-1Z7-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Hi Dmitry, > Am 17.02.2017 um 23:56 schrieb Dmitry Torokhov <dmitry.torokhov@gmail.com>: > > Do not manipulate evbit/keybit directly, use helper for that. > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> > --- > drivers/input/touchscreen/tsc2007_core.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/input/touchscreen/tsc2007_core.c b/drivers/input/touchscreen/tsc2007_core.c > index fdf81a2b989a..98dbefc3357d 100644 > --- a/drivers/input/touchscreen/tsc2007_core.c > +++ b/drivers/input/touchscreen/tsc2007_core.c > @@ -364,8 +364,7 @@ static int tsc2007_probe(struct i2c_client *client, > > input_set_drvdata(input_dev, ts); > > - input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); > - input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH); > + input_set_capability(input_dev, EV_KEY, BTN_TOUCH); basically a good improvement, but removing the BIT_MASK(EV_ABS) makes problems when replacing the next lines > > input_set_abs_params(input_dev, ABS_X, 0, MAX_12BIT, ts->fuzzx, 0); > input_set_abs_params(input_dev, ABS_Y, 0, MAX_12BIT, ts->fuzzy, 0); by touchscreen_parse_properties() as done by my patch set. The problem is that touchscreen_parse_properties() does not call input_set_abs_params() but touchscreen_set_params(). This does not call some input_set_capability(dev, EV_ABS, axis) but rather checks that it has been set before! Hence we only see warnings in the log and no input event properties (BTN_TOUCH works but without position information). So we either must explicitly input_set_capability(dev, EV_ABS, axis) for all three axises or remove the test in touchscreen_set_params and call input_set_capability(dev, EV_ABS, axis); in the end. This patch improves the existing driver but breaks my tsc2007 patch set in a location that my patch set does not even touch (touchscreen_set_params). Scratching my head how to come out of this... BR and thanks, Nikolaus
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] Input: tsc2007 - switch to using input_set_capability() Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2017-02-18 00:00 +0100
Re: [PATCH] Input: tsc2007 - switch to using input_set_capability() "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-02-18 16:00 +0100
Re: [PATCH] Input: tsc2007 - switch to using input_set_capability() Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2017-02-20 02:20 +0100
Re: [PATCH] Input: tsc2007 - switch to using input_set_capability() "H. Nikolaus Schaller" <hns@goldelico.com> - 2017-02-20 18:00 +0100
csiph-web