Re: [rfc/rft] Fujitsu B-Series Lifebook PS/2 TouchScreen driver

From: Dmitry Torokhov
Date: Tue Feb 15 2005 - 09:44:34 EST


On Tue, 15 Feb 2005 14:43:08 +0100, Vojtech Pavlik <vojtech@xxxxxxx> wrote:
> On Tue, Feb 15, 2005 at 09:57:59AM +0100, Kenan Esau wrote:
> > +static struct dmi_system_id lifebook_dmi_table[] = {
> > + {
> > + .ident = "Fujitsu Siemens Lifebook B-Sereis",
> > + .matches = {
> > + DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK B Series"),
> > + },
> > + },
> > + { }
> > +};
>
> This might be a bit too much generic. Are you sure there are no B Series
> lifebooks without a touchscreen?
>

And another concern: does this notebook (or others using this
touchscreen) have an active MUX? We don't want to force LBTOUCH
protocol on an external mouse.

> > +static psmouse_ret_t lifebook_process_byte(struct psmouse *psmouse, struct pt_regs *regs)
> > +{
> > + unsigned char *packet = psmouse->packet;
> > + struct input_dev *dev = &psmouse->dev;
> > +
> > + unsigned long x = 0;
> > + unsigned long y = 0;
> > + static uint8_t pkt_lst_touch = 0;
> > + static uint8_t pkt_cur_touch = 0;
> > + uint8_t pkt_lb = packet[0] & LBTOUCH_LB;
> > + uint8_t pkt_rb = packet[0] & LBTOUCH_RB;

We usually don't use userspace types here. unsigned char or u8 for kernel.

> > +
> > + psmouse->protocol_handler = lifebook_process_byte;
> > + psmouse->disconnect = lifebook_disconnect;
> > + psmouse->reconnect = lifebook_initialize;
> > + psmouse->initialize = lifebook_initialize;
> > + psmouse->pktsize = 3;
> > + }
> > +
> > + return 0;
> > +}
>
> The change to the psmouse interface I'm leaving to Dmitry to comment on.

I don't think that we need a separate initialize handler simply
because it is called just once, at initialization time. Here we know
exactly what device (protocol) we are dealing with, no need for
indirection.

--
Dmitry
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/