-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Tilman Schmidt schrieb:Am 03.06.2007 22:28 schrieb Lars K.W. Gohlke:ok because I want to handle it in kernel space I will no take option a)Tilman Schmidt schrieb:Am 17.05.2007 08:15 schrieb huang ying:how can I open ttyS1 with major=4 and minor=65?I think the "serio" (through drivers/input/serio/serport.c) may be aInteresting. I wonder if that would have been a better choice for
choice too, like that in linux/drivers/input/mouse/sermouse.c, which
is an example to program serial port in kernel space.
the Gigaset M101 driver. It seems even to have a probe mechanism
so one could try to determine if the expected device is really
connected to the port.
Is there any documentation on this interface? I find the source a
bit hard to understand, sparsely commented as it is.
a) With "my" approach, ie. writing a line discipline, you open
/dev/ttyS1 in a user space program and then push your line discipline
onto it using ioctl(,TIOCSETD,).
b) With the "serio" approach, if the probe mechanism is really what
I think it is, you register your probe function and wait for it to
be called for each active serial port, then do your thing to determine
whether this is a/the port you want to use.
Does anybody have some code to read from it the first e.g. 2bytes?
That's not how things work in the kernel. You don't "read the first
<n> bytes" at will. You have to provide means to process whatever
data happens to arrive on the serial port, as it arrives.
a) With a line discipline, you provide a callback function
".receive_buf" which will be called by the serial driver if some
data has been received, and has to process that data then and there.
You might just stow it away in a buffer of course, provided you
are sure to get around to processing it later.
b) With the "serio" interface, it seems the ".interrupt" function
serves the same purpose - though, as I said, I am not really
competent on that topic.
HTH
T.
I will try it the way of b)
anyway thx.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (MingW32) - GPGrelay v0.959
iD8DBQFGZm/aAAomYJ1taN8RAhS1AKC5xZVKXjZPAovXLmz2vuVr7JXssQCgqxs9
PUcqGC5sTzPtEzxuc5nkdes=
=qO4W
-----END PGP SIGNATURE-----