@@ -405,7 +405,7 @@ static int add_bio(struct cardinfo *card)
return 1;
}
-static void process_page(unsigned long data)
+static void process_page(struct tasklet_struct *t)
{
/* check if any of the requests in the page are DMA_COMPLETE,
* and deal with them appropriately.
@@ -415,7 +415,7 @@ static void process_page(unsigned long data)
*/
struct mm_page *page;
struct bio *return_bio = NULL;
- struct cardinfo *card = (struct cardinfo *)data;
+ struct cardinfo *card = from_tasklet(card, t, tasklet);
unsigned int dma_status = card->dma_status;
spin_lock(&card->lock);
@@ -891,7 +891,7 @@ static int mm_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
if (!card->queue)
goto failed_alloc;
- tasklet_init(&card->tasklet, process_page, (unsigned long)card);
+ tasklet_setup(&card->tasklet, process_page);
card->check_batteries = 0;
@@ -762,9 +762,9 @@ static void ace_fsm_dostate(struct ace_device *ace)
}
}
-static void ace_fsm_tasklet(unsigned long data)
+static void ace_fsm_tasklet(struct tasklet_struct *t)
{
- struct ace_device *ace = (void *)data;
+ struct ace_device *ace = from_tasklet(ace, t, fsm_tasklet);
unsigned long flags;
spin_lock_irqsave(&ace->lock, flags);
@@ -1001,7 +1001,7 @@ static int ace_setup(struct ace_device *ace)
/*
* Initialize the state machine tasklet and stall timer
*/
- tasklet_init(&ace->fsm_tasklet, ace_fsm_tasklet, (unsigned long)ace);
+ tasklet_setup(&ace->fsm_tasklet, ace_fsm_tasklet);
timer_setup(&ace->stall_timer, ace_stall_timer, 0);
/*