tty: amba-pl011: Convert timers to use timer_setup()
PATCH 1/1 tty: amba-pl011: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly.
Cc Russell King <[email protected]>
Cc Greg Kroah-Hartman <[email protected]>
Cc Jiri Slaby <[email protected]>
Signed-off-by Kees Cook <[email protected]>
--- drivers/tty/serial/amba-pl011.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
drivers/tty/serial/amba-pl011.c +3 -5
@@ -1078,9 +1078,9 @@ static inline void pl011_dma_rx_stop(struct uart_amba_port *uap)* Every polling, It checks the residue in the dma buffer and transfer * data to the tty. Also, last_residue is updated for the next polling. */ -static void pl011_dma_rx_poll (unsigned long args) +static void pl011_dma_rx_poll (struct timer_list *t) { -struct uart_amba_port *uap = (struct uart_amba_port *)args; +struct uart_amba_port *uap =from_timer (uap, t, dmarx.timer);struct tty_port *port = &uap->port.state->port;struct pl011_dmarx_data *dmarx = &uap->dmarx;struct dma_chan *rxchan = uap->dmarx.chan;
@@ -1192,9 +1192,7 @@ static void pl011_dma_startup(struct uart_amba_port *uap)dev_dbg (uap->port.dev,"could not trigger initial " "RX DMA job, fall back to interrupt mode\n" );if (uap->dmarx.poll_rate) { -init_timer (&(uap->dmarx.timer)); - uap->dmarx.timer.function = pl011_dma_rx_poll; - uap->dmarx.timer.data = (unsigned long )uap; +timer_setup (&uap->dmarx.timer, pl011_dma_rx_poll,0 );mod_timer (&uap->dmarx.timer, jiffies +msecs_to_jiffies (uap->dmarx.poll_rate));
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security