linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pavel Machek <pavel-+ZI9xUNit7I@public.gmane.org>
To: Trilok Soni <soni.trilok-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Arve Hj?nnev?g <arve-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org>,
	kernel list
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Brian Swetland <swetland-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	dtor-JGs/UdohzUI@public.gmane.org,
	linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Andrew Morton <akpm-3NddpPZAyC0@public.gmane.org>,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Support for synaptic touchscreen in HTC dream
Date: Wed, 15 Jul 2009 15:36:27 +0200	[thread overview]
Message-ID: <20090715133627.GA2538@elf.ucw.cz> (raw)
In-Reply-To: <5d5443650907140320w334864f4uc1ee13ed32fdb874-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Hi!

> > +static void decode_report(struct synaptics_ts_data *ts, u8 *buf)
> > +{
> 
> some documentation about this logic would be great.

Arve, can you help here?


> > +       int pos[2][2];
> > +       int f, a;
> > +       int base = 2;
> > +       int z = buf[1];
> > +       int w = buf[0] >> 4;
> > +       int finger = buf[0] & 7;
> > +       int finger2_pressed;
> > +
> > +       for (f = 0; f < 2; f++) {
> > +               u32 flip_flag = SYNAPTICS_FLIP_X;
> > +               for (a = 0; a < 2; a++) {
> > +                       int p = buf[base + 1];
> > +                       p |= (u16)(buf[base] & 0x1f) << 8;
> > +                       if (ts->flags & flip_flag)
> > +                               p = ts->max[a] - p;
> > +                       if (ts->flags & SYNAPTICS_SNAP_TO_INACTIVE_EDGE) {


> > +static irqreturn_t synaptics_ts_irq_handler(int irq, void *dev_id)
> > +{
> > +       struct synaptics_ts_data *ts = dev_id;
> > +
> > +       disable_irq(ts->client->irq);
> 
> disable_irq_nosync or convert this to request_threaded_irq(...).
> Please see recent discussion on linux-input for MAX key switch
> controller.

Do you have a link? (I replaced it with disable_irq_nosync, if that is
enough...)

> > +static int synaptics_ts_probe(
> > +       struct i2c_client *client, const struct i2c_device_id *id)
> > +{
> 
> __devinit ?

Ok.

> > +       if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
> 
> check for SMBUS? I have added linux-i2c as this driver has i2c bits,
> so not removing any code.

I guess this driver is only probed on mach-pxa... on machines that
have the neccessary hardware.

> > +               printk(KERN_ERR "synaptics_ts_probe: need I2C_FUNC_I2C\n");
> 
> dev_xxx/pr_xxx friends?

Fixed all occurences.


> > +       ts->input_dev = input_allocate_device();
> > +       if (ts->input_dev == NULL) {
> > +               ret = -ENOMEM;
> > +               pr_err("synaptics: Failed to allocate input device\n");
> > +               goto err_input_dev_alloc_failed;
> > +       }
> > +       ts->input_dev->name = "synaptics-rmi-touchscreen";
> 
> other parameters of input_dev, like vendor, bus etc.,

Ok, what are those for? I can probably invent some dummy values, but...

> > +       set_bit(EV_SYN, ts->input_dev->evbit);
> > +       set_bit(EV_KEY, ts->input_dev->evbit);
> > +       set_bit(BTN_TOUCH, ts->input_dev->keybit);
> > +       set_bit(BTN_2, ts->input_dev->keybit);
> > +       set_bit(EV_ABS, ts->input_dev->evbit);
> > +
> 
> __set_bit or input_set_capability please.

__set_bit is easier, done.

> > +static int synaptics_ts_remove(struct i2c_client *client)
> > +{
> 
> __devexit

Applied.


> > +static int synaptics_ts_suspend(struct i2c_client *client, pm_message_t mesg)
> > +{
> 
> #ifdef CONFIG_PM ?

Yep.

> > +MODULE_DESCRIPTION("Synaptics Touchscreen Driver");
> > +MODULE_LICENSE("GPL");
> 
> MODULE_ALIAS?

Umm, why? This is loaded from board-*.c files, and I don't think i2c
has enumeration capabilities.
									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

  parent reply	other threads:[~2009-07-15 13:36 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20090714100634.GA4054@elf.ucw.cz>
2009-07-14 10:20 ` Support for synaptic touchscreen in HTC dream Trilok Soni
     [not found]   ` <5d5443650907140320w334864f4uc1ee13ed32fdb874-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-07-15 13:36     ` Pavel Machek [this message]
     [not found]       ` <20090715133627.GA2538-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2009-07-15 17:33         ` Trilok Soni
     [not found]           ` <5d5443650907151033w36008b71pe4b32bcea9489b75-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-07-21 10:21             ` Pavel Machek
2009-07-21 10:34               ` Trilok Soni
     [not found]                 ` <5d5443650907210334k3f562cebsc665511a161c8639-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-08 13:40                   ` Synaptics touchscreen for HTC Dream: check that smbus is available Pavel Machek
     [not found]                     ` <20090808134049.GA13083-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2009-08-17 23:47                       ` Andrew Morton
     [not found]                         ` <20090817164759.43c39f2d.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-08-21 14:23                           ` Pavel Machek
2009-07-21 10:59           ` Threaded interrupts for synaptic touchscreen in HTC dream Pavel Machek
     [not found]             ` <20090721105924.GK4133-I/5MKhXcvmPrBKCeMvbIDA@public.gmane.org>
2009-07-21 11:36               ` Mark Brown
     [not found]                 ` <20090721113642.GC13286-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2009-07-21 12:18                   ` Trilok Soni
2009-07-21 12:30                     ` Trilok Soni
2009-07-21 12:49                       ` Mark Brown
     [not found]                         ` <20090721124933.GA5668-HF5t3jzXg/6ND3a5+9QAFujbO/Zr0HzV@public.gmane.org>
2009-07-21 16:04                           ` Dmitry Torokhov
     [not found]                             ` <20090721160436.GD4352-wUGeVx6es1+Q2O5dskk9LyLysJ1jNyTM@public.gmane.org>
2009-07-21 20:30                               ` Thomas Gleixner
2009-07-21 20:58                                 ` Dmitry Torokhov
2009-07-21 21:48                                   ` Thomas Gleixner
     [not found]                                 ` <alpine.LFD.2.00.0907212225030.2813-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-07-21 22:25                                   ` Mark Brown
     [not found]                                     ` <20090721222547.GA1948-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2009-07-22 10:44                                       ` Thomas Gleixner
     [not found]                                         ` <alpine.LFD.2.00.0907221022190.2813-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-07-22 12:18                                           ` Mark Brown
2009-07-22 12:58                                             ` Thomas Gleixner
     [not found]                                               ` <alpine.LFD.2.00.0907221427380.2813-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-07-22 13:30                                                 ` Peter Zijlstra
2009-07-22 14:18                                                   ` Thomas Gleixner
     [not found]                                                     ` <alpine.LFD.2.00.0907221615480.2813-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-07-22 14:32                                                       ` Mark Brown
     [not found]                                                         ` <20090722143211.GB29404-HF5t3jzXg/6ND3a5+9QAFujbO/Zr0HzV@public.gmane.org>
2009-07-22 14:52                                                           ` Thomas Gleixner
     [not found]                                                             ` <alpine.LFD.2.00.0907221645240.2813-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-07-22 14:56                                                               ` Mark Brown
2009-07-22 15:15                                                                 ` Thomas Gleixner
     [not found]                                                                   ` <alpine.LFD.2.00.0907221715260.2813-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-07-22 15:56                                                                     ` Mark Brown
2009-07-22 16:57                                                   ` David Brownell
     [not found]                                                     ` <200907220957.16499.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2009-07-22 21:04                                                       ` Thomas Gleixner
     [not found]                                                         ` <alpine.LFD.2.00.0907222226270.2813-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-07-22 21:57                                                           ` Arve Hjønnevåg
     [not found]                                                             ` <d6200be20907221457r4e2f6d29g57146586fd13776a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-07-22 22:15                                                               ` David Brownell
2009-07-22 23:30                                                                 ` Arve Hjønnevåg
2009-07-22 22:09                                                         ` David Brownell
2009-07-23  4:43                                                         ` Dmitry Torokhov
2009-07-22 13:31                                                 ` Mark Brown
2009-07-22 17:04                                                   ` David Brownell
2009-07-22 17:08                                                     ` Mark Brown
2009-07-22 16:04                                               ` Dmitry Torokhov
     [not found]                                                 ` <20090722155811.GA2775-wUGeVx6es1+Q2O5dskk9LyLysJ1jNyTM@public.gmane.org>
2009-07-22 16:40                                                   ` Thomas Gleixner
2009-07-22 16:57                                                     ` Mark Brown
     [not found]                                                     ` <alpine.LFD.2.00.0907221830410.2813-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-07-22 17:08                                                       ` Dmitry Torokhov
2009-07-22 17:13                                                       ` David Brownell
2009-07-22 16:51                                               ` David Brownell
2009-07-22 16:39                                 ` David Brownell
     [not found]                                   ` <200907220939.33399.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2009-07-22 16:43                                     ` Thomas Gleixner
2009-07-22 17:34                                       ` David Brownell
2009-07-22 16:50                                     ` Mark Brown
2009-07-22 17:41                                 ` David Brownell
2009-07-21 20:43                               ` Daniel Ribeiro
2009-07-21 12:30                     ` Mark Brown
2009-07-23 14:55                 ` Pavel Machek
2009-07-15 21:33         ` Support " Arve Hjønnevåg
2009-07-21 10:40           ` 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=20090715133627.GA2538@elf.ucw.cz \
    --to=pavel-+zi9xunit7i@public.gmane.org \
    --cc=akpm-3NddpPZAyC0@public.gmane.org \
    --cc=arve-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org \
    --cc=dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=dtor-JGs/UdohzUI@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=soni.trilok-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=swetland-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.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).