From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751812AbdJRUXs (ORCPT ); Wed, 18 Oct 2017 16:23:48 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:54149 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751769AbdJRUXp (ORCPT ); Wed, 18 Oct 2017 16:23:45 -0400 X-Google-Smtp-Source: AOwi7QB/+UENmBPvNt4LK+0p7VRydgpE0SA8Sb8+Fo7XLMKALDahfP83DFSJkpy5i7aT/87wKnATTA== Date: Wed, 18 Oct 2017 13:23:43 -0700 From: Kees Cook To: Greg Kroah-Hartman Cc: Samuel Ortiz , linux-kernel@vger.kernel.org Subject: [PATCH] staging/irda/bfin_sir: Convert timers to use timer_setup() Message-ID: <20171018202343.GA39135@beast> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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: Samuel Ortiz Signed-off-by: Kees Cook --- drivers/staging/irda/drivers/bfin_sir.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/staging/irda/drivers/bfin_sir.c b/drivers/staging/irda/drivers/bfin_sir.c index 3151b580dbd6..59e409b68349 100644 --- a/drivers/staging/irda/drivers/bfin_sir.c +++ b/drivers/staging/irda/drivers/bfin_sir.c @@ -22,6 +22,8 @@ static int max_rate = 57600; static int max_rate = 115200; #endif +static void bfin_sir_rx_dma_timeout(struct timer_list *t); + static void turnaround_delay(int mtt) { long ticks; @@ -57,7 +59,7 @@ static void bfin_sir_init_ports(struct bfin_sir_port *sp, struct platform_device sp->clk = get_sclk(); #ifdef CONFIG_SIR_BFIN_DMA sp->tx_done = 1; - init_timer(&(sp->rx_dma_timer)); + timer_setup(&sp->rx_dma_timer, bfin_sir_rx_dma_timeout, 0); #endif } @@ -317,10 +319,12 @@ static void bfin_sir_dma_rx_chars(struct net_device *dev) async_unwrap_char(dev, &self->stats, &self->rx_buff, port->rx_dma_buf.buf[i]); } -void bfin_sir_rx_dma_timeout(struct net_device *dev) +static void bfin_sir_rx_dma_timeout(struct timer_list *t) { + struct bfin_sir_port *port = from_timer(port, t, rx_dma_timer); + struct net_device *dev = port->dev; struct bfin_sir_self *self = netdev_priv(dev); - struct bfin_sir_port *port = self->sir_port; + int x_pos, pos; unsigned long flags; @@ -405,8 +409,6 @@ static int bfin_sir_startup(struct bfin_sir_port *port, struct net_device *dev) set_dma_start_addr(port->rx_dma_channel, (unsigned long)port->rx_dma_buf.buf); enable_dma(port->rx_dma_channel); - port->rx_dma_timer.data = (unsigned long)(dev); - port->rx_dma_timer.function = (void *)bfin_sir_rx_dma_timeout; #else -- 2.7.4 -- Kees Cook Pixel Security