/* data is the pointer that init_timer will store for us. This function is associated with init_timer to see if there is any console traffic. Obviously not used in interrupt mode  */
static void sn_sal_timer_poll(unsigned long data)
/* data is the pointer that init_timer will store for us. This function is associated with init_timer to see if there is any console traffic. Obviously not used in interrupt mode  */
static void sn_sal_timer_poll(unsigned long data)
{
	struct sn_cons_port *port = (struct sn_cons_port *)data;
	unsigned long flags;
	if (!port)
		return;
	if (!port->sc_port.irq) {
		spin_lock_irqsave(&port->sc_port.lock, flags);
		if (sn_process_input)
			sn_receive_chars(port, flags);
		sn_transmit_chars(port, TRANSMIT_RAW);
		spin_unlock_irqrestore(&port->sc_port.lock, flags);
		mod_timer(&port->sc_timer,
			  jiffies + port->sc_interrupt_timeout);
	}
}