2004-10-23 02:41:31

by Dmitry Torokhov

[permalink] [raw]
Subject: Input: sunkbd concern

Hi,

I have been looking at sunkbd.c and it seems that it attaches not only to
ports that speak SUNKBD protocol but also to ports that do not specify any
protocol:

if ((serio->type & SERIO_PROTO) && (serio->type & SERIO_PROTO) != SERIO_SUNKBD)
return;

Was that an oversight or it was done intentionally?

Thanks!

--
Dmitry


2004-10-27 01:14:16

by David Miller

[permalink] [raw]
Subject: Re: Input: sunkbd concern

On Fri, 22 Oct 2004 18:33:04 -0500
Dmitry Torokhov <[email protected]> wrote:

> I have been looking at sunkbd.c and it seems that it attaches not only to
> ports that speak SUNKBD protocol but also to ports that do not specify any
> protocol:
>
> if ((serio->type & SERIO_PROTO) && (serio->type & SERIO_PROTO) != SERIO_SUNKBD)
> return;
>
> Was that an oversight or it was done intentionally?

I believe it is intentional.

If SERIO_PROTO bits are all clear, this is supposed to have
a special meaning in that any keyboard driver can claim
the serio line.

So if it's the "wildcard" zero value, or specifically SERIO_SUNKBD,
we'll attach to it.

2004-10-27 01:32:42

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: Input: sunkbd concern

On Tuesday 26 October 2004 08:06 pm, David S. Miller wrote:
> On Fri, 22 Oct 2004 18:33:04 -0500
> Dmitry Torokhov <[email protected]> wrote:
>
> > I have been looking at sunkbd.c and it seems that it attaches not only to
> > ports that speak SUNKBD protocol but also to ports that do not specify any
> > protocol:
> >
> > if ((serio->type & SERIO_PROTO) && (serio->type & SERIO_PROTO) != SERIO_SUNKBD)
> > return;
> >
> > Was that an oversight or it was done intentionally?
>
> I believe it is intentional.
>
> If SERIO_PROTO bits are all clear, this is supposed to have
> a special meaning in that any keyboard driver can claim
> the serio line.
>
> So if it's the "wildcard" zero value, or specifically SERIO_SUNKBD,
> we'll attach to it.
>

I would buy if I see another keyboard doing this, but so far only sunkbd
does this. The rest of keyboards connecting to a RS232-type ports require
exact protocol match...

The background is that I am trying to create a bus "match" function for
serio and trying to understand the requirements...

--
Dmitry

2004-10-27 05:47:14

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: Input: sunkbd concern

On Tue, Oct 26, 2004 at 08:32:27PM -0500, Dmitry Torokhov wrote:
> On Tuesday 26 October 2004 08:06 pm, David S. Miller wrote:
> > On Fri, 22 Oct 2004 18:33:04 -0500
> > Dmitry Torokhov <[email protected]> wrote:
> >
> > > I have been looking at sunkbd.c and it seems that it attaches not only to
> > > ports that speak SUNKBD protocol but also to ports that do not specify any
> > > protocol:
> > >
> > > if ((serio->type & SERIO_PROTO) && (serio->type & SERIO_PROTO) != SERIO_SUNKBD)
> > > return;
> > >
> > > Was that an oversight or it was done intentionally?
> >
> > I believe it is intentional.
> >
> > If SERIO_PROTO bits are all clear, this is supposed to have
> > a special meaning in that any keyboard driver can claim
> > the serio line.
> >
> > So if it's the "wildcard" zero value, or specifically SERIO_SUNKBD,
> > we'll attach to it.
> >
>
> I would buy if I see another keyboard doing this, but so far only sunkbd
> does this. The rest of keyboards connecting to a RS232-type ports require
> exact protocol match...
>
> The background is that I am trying to create a bus "match" function for
> serio and trying to understand the requirements...

IIRC my intention was that if the driver can autoprobe for the device,
it shouldn't require 'inputattach' to specify the protocol, which is the
case of sunkbd, but not other serial port keyboards.

--
Vojtech Pavlik
SuSE Labs, SuSE CR

2004-10-27 06:12:12

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: Input: sunkbd concern

On Wednesday 27 October 2004 12:47 am, Vojtech Pavlik wrote:
> On Tue, Oct 26, 2004 at 08:32:27PM -0500, Dmitry Torokhov wrote:
> > On Tuesday 26 October 2004 08:06 pm, David S. Miller wrote:
> > > On Fri, 22 Oct 2004 18:33:04 -0500
> > > Dmitry Torokhov <[email protected]> wrote:
> > >
> > > > I have been looking at sunkbd.c and it seems that it attaches not only to
> > > > ports that speak SUNKBD protocol but also to ports that do not specify any
> > > > protocol:
> > > >
> > > > if ((serio->type & SERIO_PROTO) && (serio->type & SERIO_PROTO) != SERIO_SUNKBD)
> > > > return;
> > > >
> > > > Was that an oversight or it was done intentionally?
> > >
> > > I believe it is intentional.
> > >
> > > If SERIO_PROTO bits are all clear, this is supposed to have
> > > a special meaning in that any keyboard driver can claim
> > > the serio line.
> > >
> > > So if it's the "wildcard" zero value, or specifically SERIO_SUNKBD,
> > > we'll attach to it.
> > >
> >
> > I would buy if I see another keyboard doing this, but so far only sunkbd
> > does this. The rest of keyboards connecting to a RS232-type ports require
> > exact protocol match...
> >
> > The background is that I am trying to create a bus "match" function for
> > serio and trying to understand the requirements...
>
> IIRC my intention was that if the driver can autoprobe for the device,
> it shouldn't require 'inputattach' to specify the protocol, which is the
> case of sunkbd, but not other serial port keyboards.
>

Ok, I see now. Thanks!

--
Dmitry