Message ID | 1308881738-6392-1-git-send-email-wdgvip@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 2011-06-24 ?? 11:15, Wu DaoGuang wrote: > The touchscreen driver s3c2410_ts.c doesn't work well when using > the tslib, an abstraction layer for touchscreen panel events. > Tslib needs ABS_X ABS_Y and ABS_PRESSURE events to report, but only > the former two the driver can provide. > > So this patch fixes the problem. > > Signed-off-by: Wu DaoGuang<wdgvip@gmail.com> > --- > drivers/input/touchscreen/s3c2410_ts.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/drivers/input/touchscreen/s3c2410_ts.c b/drivers/input/touchscreen/s3c2410_ts.c > index 8feb7f3..0cf4f12 100644 > --- a/drivers/input/touchscreen/s3c2410_ts.c > +++ b/drivers/input/touchscreen/s3c2410_ts.c > @@ -126,6 +126,7 @@ static void touch_timer_fire(unsigned long data) > input_report_abs(ts.input, ABS_Y, ts.yp); > > input_report_key(ts.input, BTN_TOUCH, 1); > + input_report_abs(ts.input, ABS_PRESSURE, 1); > input_sync(ts.input); > > ts.xp = 0; > @@ -140,6 +141,7 @@ static void touch_timer_fire(unsigned long data) > ts.count = 0; > > input_report_key(ts.input, BTN_TOUCH, 0); > + input_report_abs(ts.input, ABS_PRESSURE, 0); > input_sync(ts.input); > > writel(WAIT4INT | INT_DOWN, ts.io + S3C2410_ADCTSC); > @@ -318,7 +320,7 @@ static int __devinit s3c2410ts_probe(struct platform_device *pdev) > ts.input->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH); > input_set_abs_params(ts.input, ABS_X, 0, 0x3FF, 0, 0); > input_set_abs_params(ts.input, ABS_Y, 0, 0x3FF, 0, 0); > - > + input_set_abs_params(ts.input, ABS_PRESSURE, 0, 1, 0, 0); > ts.input->name = "S3C24XX TouchScreen"; > ts.input->id.bustype = BUS_HOST; > ts.input->id.vendor = 0xDEAD; This is already NAKed patch. Please refer https://lkml.org/lkml/2010/11/9/270 Thanks.
On Fri, Jun 24, 2011 at 10:15:38AM +0800, Wu DaoGuang wrote: > The touchscreen driver s3c2410_ts.c doesn't work well when using > the tslib, an abstraction layer for touchscreen panel events. > Tslib needs ABS_X ABS_Y and ABS_PRESSURE events to report, but only > the former two the driver can provide. It seems much more sane to fix this in tslib, the kernel is not actually reporting pressure meaningfully here and there's already BTN_TOUCH to report if the pen is down.
2011/6/24 Mark Brown <broonie@opensource.wolfsonmicro.com>: > On Fri, Jun 24, 2011 at 10:15:38AM +0800, Wu DaoGuang wrote: >> The touchscreen driver s3c2410_ts.c doesn't work well when using >> the tslib, an abstraction layer for touchscreen panel events. >> Tslib needs ABS_X ABS_Y and ABS_PRESSURE events to report, but only >> the former two the driver can provide. > > It seems much more sane to fix this in tslib, the kernel is not actually > reporting pressure meaningfully here and there's already BTN_TOUCH to > report if the pen is down. > yeah,I will try to fix it in tslib. Thanks a lot.
> -----Original Message----- > From: linux-arm-kernel-bounces@lists.infradead.org > [mailto:linux-arm-kernel-bounces@lists.infradead.org] On Behalf Of daoguang > wu > Sent: 2011?6?27? 10:15 > To: Mark Brown > Cc: kgene.kim@samsung.com; ben-linux@fluff.org; > dmitry.torokhov@gmail.com; linux-kernel@vger.kernel.org; > wdgvip@gamil.com; linux-input@vger.kernel.org; > linux-arm-kernel@lists.infradead.org > Subject: Re: [PATCH] INPUT:Add ABS_PRESSURE input event support for > touchscreen driver > > 2011/6/24 Mark Brown <broonie@opensource.wolfsonmicro.com>: > > On Fri, Jun 24, 2011 at 10:15:38AM +0800, Wu DaoGuang wrote: > >> The touchscreen driver s3c2410_ts.c doesn't work well when using > >> the tslib, an abstraction layer for touchscreen panel events. > >> Tslib needs ABS_X ABS_Y and ABS_PRESSURE events to report, but only > >> the former two the driver can provide. > > > > It seems much more sane to fix this in tslib, the kernel is not actually > > reporting pressure meaningfully here and there's already BTN_TOUCH to > > report if the pen is down. > > > yeah,I will try to fix it in tslib. You may send a patch to tslib. > Thanks a lot. > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > > > To report this email as spam click > https://www.mailcontrol.com/sr/wQw0zmjPoHdJTZGyOCrrhg== > t4zoc+!n!INSV2C4qhUHSr1YUlPAL0C6yBmfTIRMbBnxawg== . Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom More information can be found at www.csr.com. Follow CSR on Twitter at http://twitter.com/CSR_PLC and read our blog at www.csr.com/blog
2011/6/27 Dmitry Torokhov <dmitry.torokhov@gmail.com>: > > > Baohua Song <Baohua.Song@csr.com> wrote: > >> >> >>> -----Original Message----- >>> From: linux-arm-kernel-bounces@lists.infradead.org >>> [mailto:linux-arm-kernel-bounces@lists.infradead.org] On Behalf Of >>daoguang >>> wu >>> Sent: 2011?6?27? 10:15 >>> To: Mark Brown >>> Cc: kgene.kim@samsung.com; ben-linux@fluff.org; >>> dmitry.torokhov@gmail.com; linux-kernel@vger.kernel.org; >>> wdgvip@gamil.com; linux-input@vger.kernel.org; >>> linux-arm-kernel@lists.infradead.org >>> Subject: Re: [PATCH] INPUT:Add ABS_PRESSURE input event support for >>> touchscreen driver >>> >>> 2011/6/24 Mark Brown <broonie@opensource.wolfsonmicro.com>: >>> > On Fri, Jun 24, 2011 at 10:15:38AM +0800, Wu DaoGuang wrote: >>> >> The touchscreen driver s3c2410_ts.c doesn't work well when using >>> >> the tslib, an abstraction layer for touchscreen panel events. >>> >> Tslib needs ABS_X ABS_Y and ABS_PRESSURE events to report, but >>only >>> >> the former two the driver can provide. >>> > >>> > It seems much more sane to fix this in tslib, the kernel is not >>actually >>> > reporting pressure meaningfully here and there's already BTN_TOUCH >>to >>> > report if the pen is down. >>> > >>> yeah,I will try to fix it in tslib. >> >>You may send a patch to tslib. >> > > This has already been fixed in tslib a couple years ago. I'm not sure if a > new version was cut or not. > -- > Dmitry I try the latest tslib ,and find there is no such problem and the latest version of tslib can be downloaded from git://github.com/kergoth/tslib.git. Thanks a lot.
diff --git a/drivers/input/touchscreen/s3c2410_ts.c b/drivers/input/touchscreen/s3c2410_ts.c index 8feb7f3..0cf4f12 100644 --- a/drivers/input/touchscreen/s3c2410_ts.c +++ b/drivers/input/touchscreen/s3c2410_ts.c @@ -126,6 +126,7 @@ static void touch_timer_fire(unsigned long data) input_report_abs(ts.input, ABS_Y, ts.yp); input_report_key(ts.input, BTN_TOUCH, 1); + input_report_abs(ts.input, ABS_PRESSURE, 1); input_sync(ts.input); ts.xp = 0; @@ -140,6 +141,7 @@ static void touch_timer_fire(unsigned long data) ts.count = 0; input_report_key(ts.input, BTN_TOUCH, 0); + input_report_abs(ts.input, ABS_PRESSURE, 0); input_sync(ts.input); writel(WAIT4INT | INT_DOWN, ts.io + S3C2410_ADCTSC); @@ -318,7 +320,7 @@ static int __devinit s3c2410ts_probe(struct platform_device *pdev) ts.input->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH); input_set_abs_params(ts.input, ABS_X, 0, 0x3FF, 0, 0); input_set_abs_params(ts.input, ABS_Y, 0, 0x3FF, 0, 0); - + input_set_abs_params(ts.input, ABS_PRESSURE, 0, 1, 0, 0); ts.input->name = "S3C24XX TouchScreen"; ts.input->id.bustype = BUS_HOST; ts.input->id.vendor = 0xDEAD;
The touchscreen driver s3c2410_ts.c doesn't work well when using the tslib, an abstraction layer for touchscreen panel events. Tslib needs ABS_X ABS_Y and ABS_PRESSURE events to report, but only the former two the driver can provide. So this patch fixes the problem. Signed-off-by: Wu DaoGuang <wdgvip@gmail.com> --- drivers/input/touchscreen/s3c2410_ts.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)