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. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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(-)