From: Michael Welling <mwelling@ieee.org>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Pavel Machek <pavel@ucw.cz>,
kernel list <linux-kernel@vger.kernel.org>,
linux-input@vger.kernel.org, pali.rohar@gmail.com,
sre@kernel.org, aaro.koskinen@iki.fi,
ivo.g.dimitrov.75@gmail.com, patrikbachan@gmail.com,
serge@hallyn.com
Subject: Re: v4.1 to v4.7: regression in tsc2005 driver
Date: Tue, 19 Jul 2016 21:09:22 -0500 [thread overview]
Message-ID: <20160720020922.GB1277@deathstar> (raw)
In-Reply-To: <20160720014424.GI19250@dtor-ws>
On Tue, Jul 19, 2016 at 06:44:24PM -0700, Dmitry Torokhov wrote:
> On Tue, Jul 19, 2016 at 08:34:57PM -0500, Michael Welling wrote:
> > On Tue, Jul 19, 2016 at 05:53:07PM -0700, Dmitry Torokhov wrote:
> > > On Tue, Jul 19, 2016 at 07:39:08PM -0500, Michael Welling wrote:
> > > > On Tue, Jul 19, 2016 at 04:51:20PM -0700, Dmitry Torokhov wrote:
> > > > > On Sun, Jul 17, 2016 at 05:56:36PM -0500, Michael Welling wrote:
> > > > > > On Sun, Jul 17, 2016 at 10:03:39PM +0200, Pavel Machek wrote:
> > > > > > > On Sun 2016-07-17 13:51:34, Michael Welling wrote:
> > > > > > > > On Sun, Jul 17, 2016 at 08:42:09PM +0200, Pavel Machek wrote:
> > > > > > > > > On Sun 2016-07-17 13:24:45, Michael Welling wrote:
> > > > > > > > > > On Sun, Jul 17, 2016 at 07:52:57PM +0200, Pavel Machek wrote:
> > > > > > > > > > > Hi!
> > > > > > > > > > >
> > > > > > > > > > > tsc2005 driver changed input device name, from
> > > > > > > > > > >
> > > > > > > > > > > drivers/input/touchscreen/tsc2005.c: input_dev->name = "TSC2005
> > > > > > > > > > > touchscreen";
> > > > > > > > > > >
> > > > > > > > > > > to "TSC200X touchscreen". Unfortunately, X seems to propagate that
> > > > > > > > > > > name to userspace, where it is needed to be able to do
> > > > >
> > > > > Technically X _is_ userspace.
> > > > >
> > > > > > > > > > >
> > > > > > > > > > > xinput --set-prop --type=int ...
> > > > > > > > > > >
> > > > > > > > > > > with the right arguments to calibrate touchscreen. (Touchscreen is
> > > > > > > > > > > unusable without calibration).
> > > > > > > > > > >
> > > > > > > > > > > What to do with that?
> > > > >
> > > > > Hmm, I do not think we ever committed for the device names to be stable.
> > > > > You are supposed to locate touchscreen device based on its properties
> > > > > and you might need some heuristic if you encounter a system with more
> > > > > than one such touchscreen.
> > > > >
> > > > > > > > > >
> > > > > > > > > > The input_dev name could be passed to the common probe function.
> > > > > > > > > >
> > > > > > > > > > http://lxr.free-electrons.com/source/drivers/input/touchscreen/tsc2005.c#L65
> > > > > > > > >
> > > > > > > > > That would be preffered, I guess.
> > > > > > > > >
> > > > > > > > > How many stable releases are affected?
> > > > > > > >
> > > > > > > > Well this patch is 9 months old now. Lets see.
> > > > > > > >
> > > > > > > > It was introduced in v4.4-rc1. So v4.4, v4.5 and v4.6.
> > > > > > >
> > > > > > > Ok, thanks for the information. I believe changing it back to
> > > > > > > "TSC2005" version makes sense (and then fixing it in stable).
> > > > >
> > > > > Do we know how many users are affected?
> > > >
> > > > Anyone with an old N900 and the smarts to update the kernel.
> > >
> > > Soo... only Pavel? ;)
> > >
> > > >
> > > > >
> > > > > >
> > > > > > Lets see if the maintainer has any input before I submit a patch.
> > > > >
> > > > > I guess we could also pass the input_id structure to tsc200x_probe, fill
> > > > > the proper product ID (2004 or 2005) and derive the name form it.
> > > > >
> >
> > If we passed the input_dev with the filled product idea it would have to be
> > allocated in the calling probe functions instead of the common probe.
> >
> > This will lead to more duplicated code which we jumped through so many hoops
> > to avoid.
>
> Not input_dev, input_id, like :
>
> static const struct input_id tsc2005_input_id = {
> .bustype = BUS_SPI,
> .product = 2005,
> };
>
>
>
> static int tsc2005_probe(struct spi_device *spi)
> {
> ...
> return tsc200x_probe(&spi->dev, spi->irq,
> &tsc2005_input_id,
> devm_regmap_init_spi(spi, &tsc200x_regmap_config),
> tsc2005_cmd);
> };
>
> and in tsc200x_probe() you'd do:
>
> input_dev->name = dev_kasprintf(dev, GFP_KERNEL, "TSC%04d touchscreen",
> tsc_id->product);
> if (!input_dev->name)
> return -ENOMEM;
> ...
> input_dev->id = *tsc_id;
>
Okay. Easy enough.
> Thanks.
>
> --
> Dmitry
next prev parent reply other threads:[~2016-07-20 2:09 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-17 17:52 v4.1 to v4.7: regression in tsc2005 driver Pavel Machek
2016-07-17 18:24 ` Michael Welling
2016-07-17 18:42 ` Pavel Machek
2016-07-17 18:51 ` Michael Welling
2016-07-17 20:03 ` Pavel Machek
2016-07-17 22:56 ` Michael Welling
2016-07-19 23:51 ` Dmitry Torokhov
2016-07-20 0:39 ` Michael Welling
2016-07-20 0:53 ` Dmitry Torokhov
2016-07-20 1:34 ` Michael Welling
2016-07-20 1:44 ` Dmitry Torokhov
2016-07-20 2:09 ` Michael Welling [this message]
2016-07-20 3:49 ` [PATCH] Input: tsc200x - Report proper input_dev name Michael Welling
2016-07-20 6:31 ` Pavel Machek
2016-07-20 6:50 ` Michael Welling
2016-07-20 6:54 ` Pavel Machek
2016-07-20 7:06 ` Michael Welling
2016-07-20 7:48 ` Pavel Machek
2016-07-20 16:45 ` Dmitry Torokhov
2016-07-20 16:56 ` Pali Rohár
2016-07-20 17:04 ` Dmitry Torokhov
2016-07-20 17:14 ` Dmitry Torokhov
2016-07-20 20:25 ` Pavel Machek
2016-07-20 20:37 ` Pali Rohár
2016-07-20 16:33 ` v4.1 to v4.7: regression in tsc2005 driver Pali Rohár
2016-07-20 1:26 ` Aaro Koskinen
2016-07-20 2:18 ` Michael Welling
2016-07-20 6:25 ` Pavel Machek
2016-07-20 16:23 ` Dmitry Torokhov
2016-07-20 20:22 ` Pavel Machek
2016-07-20 21:47 ` Peter Hutterer
2016-07-20 22:20 ` Dmitry Torokhov
2016-07-20 22:55 ` Peter Hutterer
2016-07-21 6:32 ` Pavel Machek
2016-07-21 6:42 ` Peter Hutterer
2016-07-21 8:54 ` Pavel Machek
2016-07-21 9:04 ` Pali Rohár
2016-07-22 0:12 ` Peter Hutterer
2016-07-25 14:59 ` Pali Rohár
2016-07-31 21:28 ` Peter Hutterer
2016-07-22 0:10 ` Peter Hutterer
2016-07-22 0:57 ` Dmitry Torokhov
2016-07-25 14:56 ` Pali Rohár
2016-07-28 19:33 ` Pavel Machek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160720020922.GB1277@deathstar \
--to=mwelling@ieee.org \
--cc=aaro.koskinen@iki.fi \
--cc=dmitry.torokhov@gmail.com \
--cc=ivo.g.dimitrov.75@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pali.rohar@gmail.com \
--cc=patrikbachan@gmail.com \
--cc=pavel@ucw.cz \
--cc=serge@hallyn.com \
--cc=sre@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).