[lkml]   [2008]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Simple UART driver help and TTY questions
On Wed, Aug 06, 2008 at 11:11:00PM +0200, Jiri Slaby wrote:
> conOn 08/05/2008 06:33 PM, Ira Snyder wrote:
>> static void tiny_config_port(struct uart_port *port, int flags)
>> {
> if (flags & UART_CONFIG_TYPE)
> port->type = PORT_16550A;
>> }
> According to the straces, you get -EIO from ioctl and read which most
> likely means TTY_IO_ERROR bit set due to tiny_port->type = PORT_UNKNOWN
> (i.e. 0). Try the above.

Not quite, but it got me on the right track. I needed to set port->type
before calling uart_add_one_port().

Now it gets into my code. Previously, it had never even called any of my
code. None of it. Unfortunately, I ran it and it segfaulted. Turns out
that Greg's tinyserial driver didn't implement ops->set_termios() and
that was the cause. Implementing that got everything working.

Now I get in my dmesg:
[ 73.813893] ttytiny: Tiny serial driver
[ 83.714486] Enter: tiny_startup
[ 83.717676] Enter: tiny_set_termios
[ 83.721193] Enter: tiny_set_mctrl
[ 85.463793] Enter: tiny_stop_rx
[ 85.466987] Enter: tiny_set_mctrl
[ 85.470328] Enter: tiny_shutdown

And that looks very reasonable. (It was produced by cat /dev/ttytiny0,
for your information).

Thanks a lot for your help! That problem had me completely stumped for a
couple of days now :)


 \ /
  Last update: 2008-08-06 23:49    [W:0.087 / U:33.400 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site