dmaengine: Convert timers to use timer_setup()
Subsystems (2)
PATCH 1/1 dmaengine: 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 Vinod Koul <[email protected]>
Cc Dan Williams <[email protected]>
Cc Dave Jiang <[email protected]>
Cc Ujjal Singh <[email protected]>
Cc Pan Bian <[email protected]>
Signed-off-by Kees Cook <[email protected]>
--- drivers/dma/imx-dma.c | 8 +++----- drivers/dma/ioat/dma.c | 6 +++--- drivers/dma/ioat/dma.h | 3 +-- drivers/dma/ioat/init.c | 2 +- 4 files changed, 8 insertions(+), 11 deletions(-)
drivers/dma/imx-dma.c +3 -5
@@ -364,9 +364,9 @@ static void imxdma_disable_hw(struct imxdma_channel *imxdmac)local_irq_restore (flags); } -static void imxdma_watchdog (unsigned long data) +static void imxdma_watchdog (struct timer_list *t) { -struct imxdma_channel *imxdmac = (struct imxdma_channel *)data; +struct imxdma_channel *imxdmac =from_timer (imxdmac, t, watchdog);struct imxdma_engine *imxdma = imxdmac->imxdma;int channel = imxdmac->channel;
@@ -1153,9 +1153,7 @@ static int __init imxdma_probe(struct platform_device *pdev) } imxdmac->irq = irq + i; -init_timer (&imxdmac->watchdog); - imxdmac->watchdog.function = &imxdma_watchdog; - imxdmac->watchdog.data = (unsigned long )imxdmac; +timer_setup (&imxdmac->watchdog, imxdma_watchdog,0 ); } imxdmac->imxdma = imxdma;
drivers/dma/ioat/dma.c +3 -3
@@ -474,7 +474,7 @@ int ioat_check_space_lock(struct ioatdma_chan *ioat_chan, int num_descs)if (time_is_before_jiffies (ioat_chan->timer.expires) &&timer_pending (&ioat_chan->timer)) {mod_timer (&ioat_chan->timer, jiffies +COMPLETION_TIMEOUT ); -ioat_timer_event ((unsigned long )ioat_chan); +ioat_timer_event (&ioat_chan->timer); }return -ENOMEM ;
@@ -862,9 +862,9 @@ static void check_active(struct ioatdma_chan *ioat_chan)mod_timer (&ioat_chan->timer, jiffies +IDLE_TIMEOUT ); } -void ioat_timer_event (unsigned long data) +void ioat_timer_event (struct timer_list *t) { -struct ioatdma_chan *ioat_chan =to_ioat_chan ((void *)data); +struct ioatdma_chan *ioat_chan =from_timer (ioat_chan, t, timer);dma_addr_t phys_complete;u64 status;
drivers/dma/ioat/dma.h +1 -2
@@ -406,10 +406,9 @@ enum dma_status ioat_tx_status(struct dma_chan *c, dma_cookie_t cookie, struct dma_tx_state *txstate);void ioat_cleanup_event (unsigned long data); -void ioat_timer_event (unsigned long data); +void ioat_timer_event (struct timer_list *t);int ioat_check_space_lock (struct ioatdma_chan *ioat_chan,int num_descs);void ioat_issue_pending (struct dma_chan *chan); -void ioat_timer_event (unsigned long data);/* IOAT Init functions */ bool is_bwd_ioat (struct pci_dev *pdev);
drivers/dma/ioat/init.c +1 -1
@@ -760,7 +760,7 @@ ioat_init_channel(struct ioatdma_device *ioat_dma,dma_cookie_init (&ioat_chan->dma_chan);list_add_tail (&ioat_chan->dma_chan.device_node, &dma->channels); ioat_dma->idx[idx] = ioat_chan; -setup_timer (&ioat_chan->timer, ioat_timer_event, data); +timer_setup (&ioat_chan->timer, ioat_timer_event,0 );tasklet_init (&ioat_chan->cleanup_task, ioat_cleanup_event, data); }
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
Quoted 3 lines · Kees Cook
In preparation for unconditionally passing the struct
timer_listpointer to all timer callbacks, switch to using the newtimer_setup()andfrom_timer()to pass the timer pointer explicitly.
Would have preferd patch per driver.
Quoted 6 lines
Cc Vinod Koul <[email protected]>Cc Dan Williams <[email protected]>Cc Dave Jiang <[email protected]>Cc Ujjal Singh <[email protected]>Cc Pan Bian <[email protected]>
This is pretty useless for the log. i prefer adding this after s-o-b line so that it doesn't get carried while applying
Quoted 1 line
Signed-off-by Kees Cook <[email protected]>
Applied now, thanks
Signature · 1 line
~Vinod