atmel_serial: enable PPS support

Enables PPS support in atmel serial driver to make PPS API working.

Signed-off-by: Viktar Palstsiuk <viktar.palstsiuk@promwad.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Viktar Palstsiuk 2011-02-09 15:26:13 +01:00 committed by Greg Kroah-Hartman
parent daaf6ff42d
commit 42bd7a4f68
1 changed files with 16 additions and 0 deletions

View File

@ -1240,6 +1240,21 @@ static void atmel_set_termios(struct uart_port *port, struct ktermios *termios,
spin_unlock_irqrestore(&port->lock, flags); spin_unlock_irqrestore(&port->lock, flags);
} }
static void atmel_set_ldisc(struct uart_port *port, int new)
{
int line = port->line;
if (line >= port->state->port.tty->driver->num)
return;
if (port->state->port.tty->ldisc->ops->num == N_PPS) {
port->flags |= UPF_HARDPPS_CD;
atmel_enable_ms(port);
} else {
port->flags &= ~UPF_HARDPPS_CD;
}
}
/* /*
* Return string describing the specified port * Return string describing the specified port
*/ */
@ -1380,6 +1395,7 @@ static struct uart_ops atmel_pops = {
.shutdown = atmel_shutdown, .shutdown = atmel_shutdown,
.flush_buffer = atmel_flush_buffer, .flush_buffer = atmel_flush_buffer,
.set_termios = atmel_set_termios, .set_termios = atmel_set_termios,
.set_ldisc = atmel_set_ldisc,
.type = atmel_type, .type = atmel_type,
.release_port = atmel_release_port, .release_port = atmel_release_port,
.request_port = atmel_request_port, .request_port = atmel_request_port,