In preparation for unconditionally passing the
struct tasklet_struct pointer to all tasklet
callbacks, switch to using the new tasklet_setup()
and from_tasklet() to pass the tasklet pointer explicitly.

Signed-off-by: Romain Perier <[email protected]>
Signed-off-by: Allen Pais <[email protected]>
---
 drivers/media/pci/bt8xx/dvb-bt8xx.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/media/pci/bt8xx/dvb-bt8xx.c 
b/drivers/media/pci/bt8xx/dvb-bt8xx.c
index 02ebd43e672e..4cb890b949c3 100644
--- a/drivers/media/pci/bt8xx/dvb-bt8xx.c
+++ b/drivers/media/pci/bt8xx/dvb-bt8xx.c
@@ -39,9 +39,10 @@ DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
 
 #define IF_FREQUENCYx6 217    /* 6 * 36.16666666667MHz */
 
-static void dvb_bt8xx_task(unsigned long data)
+static void dvb_bt8xx_task(struct tasklet_struct *t)
 {
-       struct dvb_bt8xx_card *card = (struct dvb_bt8xx_card *)data;
+       struct bt878 *bt = from_tasklet(bt, t, tasklet);
+       struct dvb_bt8xx_card *card = dev_get_drvdata(&bt->adapter->dev);
 
        dprintk("%d\n", card->bt->finished_block);
 
@@ -777,7 +778,7 @@ static int dvb_bt8xx_load_card(struct dvb_bt8xx_card *card, 
u32 type)
                goto err_disconnect_frontend;
        }
 
-       tasklet_init(&card->bt->tasklet, dvb_bt8xx_task, (unsigned long) card);
+       tasklet_setup(&card->bt->tasklet, dvb_bt8xx_task);
 
        frontend_init(card, type);
 
-- 
2.17.1

Reply via email to