block: swim3: Convert timers to use timer_setup()
PATCH 1/1 block: swim3: 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 Jens Axboe <[email protected]>
Cc Johannes Thumshirn <[email protected]>
Cc Ingo Molnar <[email protected]>
Cc Arvind Yadav <[email protected]>
Signed-off-by Kees Cook <[email protected]>
--- drivers/block/swim3.c | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-)
drivers/block/swim3.c +14 -15
@@ -239,10 +239,10 @@ static unsigned short write_postamble[] = {static void seek_track (struct floppy_state *fs,int n);static void init_dma (struct dbdma_cmd *cp,int cmd,void *buf,int count);static void act (struct floppy_state *fs); -static void scan_timeout (unsigned long data); -static void seek_timeout (unsigned long data); -static void settle_timeout (unsigned long data); -static void xfer_timeout (unsigned long data); +static void scan_timeout (struct timer_list *t); +static void seek_timeout (struct timer_list *t); +static void settle_timeout (struct timer_list *t); +static void xfer_timeout (struct timer_list *t);static irqreturn_t swim3_interrupt (int irq,void *dev_id);/*static void fd_dma_interrupt(int irq, void *dev_id);*/ static int grab_drive(struct floppy_state *fs, enum swim_state state,
@@ -392,13 +392,12 @@ static void do_fd_request(struct request_queue * q) }static void set_timeout (struct floppy_state *fs,int nticks, -void (*proc)(unsigned long )) +void (*proc)(struct timer_list *t)) {if (fs->timeout_pending)del_timer (&fs->timeout); fs->timeout.expires = jiffies + nticks; fs->timeout.function = proc; - fs->timeout.data = (unsigned long ) fs;add_timer (&fs->timeout); fs->timeout_pending =1 ; }
@@ -569,9 +568,9 @@ static void act(struct floppy_state *fs) } } -static void scan_timeout (unsigned long data) +static void scan_timeout (struct timer_list *t) { -struct floppy_state *fs = (struct floppy_state *) data; +struct floppy_state *fs =from_timer (fs, t, timer);struct swim3 __iomem *sw = fs->swim3;unsigned long flags;
@@ -594,9 +593,9 @@ static void scan_timeout(unsigned long data)spin_unlock_irqrestore (&swim3_lock, flags); } -static void seek_timeout (unsigned long data) +static void seek_timeout (struct timer_list *t) { -struct floppy_state *fs = (struct floppy_state *) data; +struct floppy_state *fs =from_timer (fs, t, timer);struct swim3 __iomem *sw = fs->swim3;unsigned long flags;
@@ -614,9 +613,9 @@ static void seek_timeout(unsigned long data)spin_unlock_irqrestore (&swim3_lock, flags); } -static void settle_timeout (unsigned long data) +static void settle_timeout (struct timer_list *t) { -struct floppy_state *fs = (struct floppy_state *) data; +struct floppy_state *fs =from_timer (fs, t, timer);struct swim3 __iomem *sw = fs->swim3;unsigned long flags;
@@ -644,9 +643,9 @@ static void settle_timeout(unsigned long data)spin_unlock_irqrestore (&swim3_lock, flags); } -static void xfer_timeout (unsigned long data) +static void xfer_timeout (struct timer_list *t) { -struct floppy_state *fs = (struct floppy_state *) data; +struct floppy_state *fs =from_timer (fs, t, timer);struct swim3 __iomem *sw = fs->swim3;struct dbdma_regs __iomem *dr = fs->dma;unsigned long flags;
@@ -1182,7 +1181,7 @@ static int swim3_add_device(struct macio_dev *mdev, int index)return -EBUSY ; } -init_timer (&fs->timeout); +timer_setup (&fs->timeout,NULL ,0 );swim3_info ("SWIM3 floppy controller %s\n" , mdev->media_bay ?"in media bay" :"" );
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
Jens Axboe
maintainerQuoted 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.
Added to for-4.15/timer, thanks.
Signature · 1 line
Jens Axboe