Commit 32e36ef6 authored by Allen Pais's avatar Allen Pais Committed by Mauro Carvalho Chehab

media: ttpci: convert tasklets to use new tasklet_setup() API

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: default avatarRomain Perier <romain.perier@gmail.com>
Signed-off-by: default avatarAllen Pais <allen.lkml@gmail.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 0852d052
...@@ -357,9 +357,9 @@ static inline void start_debi_dma(struct av7110 *av7110, int dir, ...@@ -357,9 +357,9 @@ static inline void start_debi_dma(struct av7110 *av7110, int dir,
irdebi(av7110, DEBISWAB, addr, 0, len); irdebi(av7110, DEBISWAB, addr, 0, len);
} }
static void debiirq(unsigned long cookie) static void debiirq(struct tasklet_struct *t)
{ {
struct av7110 *av7110 = (struct av7110 *)cookie; struct av7110 *av7110 = from_tasklet(av7110, t, debi_tasklet);
int type = av7110->debitype; int type = av7110->debitype;
int handle = (type >> 8) & 0x1f; int handle = (type >> 8) & 0x1f;
unsigned int xfer = 0; unsigned int xfer = 0;
...@@ -458,9 +458,9 @@ static void debiirq(unsigned long cookie) ...@@ -458,9 +458,9 @@ static void debiirq(unsigned long cookie)
} }
/* irq from av7110 firmware writing the mailbox register in the DPRAM */ /* irq from av7110 firmware writing the mailbox register in the DPRAM */
static void gpioirq(unsigned long cookie) static void gpioirq(struct tasklet_struct *t)
{ {
struct av7110 *av7110 = (struct av7110 *)cookie; struct av7110 *av7110 = from_tasklet(av7110, t, gpio_tasklet);
u32 rxbuf, txbuf; u32 rxbuf, txbuf;
int len; int len;
...@@ -1230,9 +1230,9 @@ static int budget_stop_feed(struct dvb_demux_feed *feed) ...@@ -1230,9 +1230,9 @@ static int budget_stop_feed(struct dvb_demux_feed *feed)
return status; return status;
} }
static void vpeirq(unsigned long cookie) static void vpeirq(struct tasklet_struct *t)
{ {
struct av7110 *budget = (struct av7110 *)cookie; struct av7110 *budget = from_tasklet(budget, t, vpe_tasklet);
u8 *mem = (u8 *) (budget->grabbing); u8 *mem = (u8 *) (budget->grabbing);
u32 olddma = budget->ttbp; u32 olddma = budget->ttbp;
u32 newdma = saa7146_read(budget->dev, PCI_VDP3); u32 newdma = saa7146_read(budget->dev, PCI_VDP3);
...@@ -2518,7 +2518,7 @@ static int av7110_attach(struct saa7146_dev* dev, ...@@ -2518,7 +2518,7 @@ static int av7110_attach(struct saa7146_dev* dev,
saa7146_write(dev, NUM_LINE_BYTE3, (TS_HEIGHT << 16) | TS_WIDTH); saa7146_write(dev, NUM_LINE_BYTE3, (TS_HEIGHT << 16) | TS_WIDTH);
saa7146_write(dev, MC2, MASK_04 | MASK_20); saa7146_write(dev, MC2, MASK_04 | MASK_20);
tasklet_init(&av7110->vpe_tasklet, vpeirq, (unsigned long) av7110); tasklet_setup(&av7110->vpe_tasklet, vpeirq);
} else if (budgetpatch) { } else if (budgetpatch) {
spin_lock_init(&av7110->feedlock1); spin_lock_init(&av7110->feedlock1);
...@@ -2599,7 +2599,7 @@ static int av7110_attach(struct saa7146_dev* dev, ...@@ -2599,7 +2599,7 @@ static int av7110_attach(struct saa7146_dev* dev,
saa7146_write(dev, MC1, (MASK_13 | MASK_29)); saa7146_write(dev, MC1, (MASK_13 | MASK_29));
/* end of budgetpatch register initialization */ /* end of budgetpatch register initialization */
tasklet_init (&av7110->vpe_tasklet, vpeirq, (unsigned long) av7110); tasklet_setup(&av7110->vpe_tasklet, vpeirq);
} else { } else {
saa7146_write(dev, PCI_BT_V1, 0x1c00101f); saa7146_write(dev, PCI_BT_V1, 0x1c00101f);
saa7146_write(dev, BCS_CTRL, 0x80400040); saa7146_write(dev, BCS_CTRL, 0x80400040);
...@@ -2614,8 +2614,8 @@ static int av7110_attach(struct saa7146_dev* dev, ...@@ -2614,8 +2614,8 @@ static int av7110_attach(struct saa7146_dev* dev,
saa7146_write(dev, GPIO_CTRL, 0x000000); saa7146_write(dev, GPIO_CTRL, 0x000000);
} }
tasklet_init (&av7110->debi_tasklet, debiirq, (unsigned long) av7110); tasklet_setup(&av7110->debi_tasklet, debiirq);
tasklet_init (&av7110->gpio_tasklet, gpioirq, (unsigned long) av7110); tasklet_setup(&av7110->gpio_tasklet, gpioirq);
mutex_init(&av7110->pid_mutex); mutex_init(&av7110->pid_mutex);
......
...@@ -99,9 +99,10 @@ struct budget_ci { ...@@ -99,9 +99,10 @@ struct budget_ci {
u8 tuner_pll_address; /* used for philips_tdm1316l configs */ u8 tuner_pll_address; /* used for philips_tdm1316l configs */
}; };
static void msp430_ir_interrupt(unsigned long data) static void msp430_ir_interrupt(struct tasklet_struct *t)
{ {
struct budget_ci *budget_ci = (struct budget_ci *) data; struct budget_ci_ir *ir = from_tasklet(ir, t, msp430_irq_tasklet);
struct budget_ci *budget_ci = container_of(ir, typeof(*budget_ci), ir);
struct rc_dev *dev = budget_ci->ir.dev; struct rc_dev *dev = budget_ci->ir.dev;
u32 command = ttpci_budget_debiread(&budget_ci->budget, DEBINOSWAP, DEBIADDR_IR, 2, 1, 0) >> 8; u32 command = ttpci_budget_debiread(&budget_ci->budget, DEBINOSWAP, DEBIADDR_IR, 2, 1, 0) >> 8;
...@@ -229,8 +230,7 @@ static int msp430_ir_init(struct budget_ci *budget_ci) ...@@ -229,8 +230,7 @@ static int msp430_ir_init(struct budget_ci *budget_ci)
budget_ci->ir.dev = dev; budget_ci->ir.dev = dev;
tasklet_init(&budget_ci->ir.msp430_irq_tasklet, msp430_ir_interrupt, tasklet_setup(&budget_ci->ir.msp430_irq_tasklet, msp430_ir_interrupt);
(unsigned long) budget_ci);
SAA7146_IER_ENABLE(saa, MASK_06); SAA7146_IER_ENABLE(saa, MASK_06);
saa7146_setgpio(saa, 3, SAA7146_GPIO_IRQHI); saa7146_setgpio(saa, 3, SAA7146_GPIO_IRQHI);
...@@ -348,9 +348,10 @@ static int ciintf_slot_ts_enable(struct dvb_ca_en50221 *ca, int slot) ...@@ -348,9 +348,10 @@ static int ciintf_slot_ts_enable(struct dvb_ca_en50221 *ca, int slot)
return 0; return 0;
} }
static void ciintf_interrupt(unsigned long data) static void ciintf_interrupt(struct tasklet_struct *t)
{ {
struct budget_ci *budget_ci = (struct budget_ci *) data; struct budget_ci *budget_ci = from_tasklet(budget_ci, t,
ciintf_irq_tasklet);
struct saa7146_dev *saa = budget_ci->budget.dev; struct saa7146_dev *saa = budget_ci->budget.dev;
unsigned int flags; unsigned int flags;
...@@ -491,7 +492,7 @@ static int ciintf_init(struct budget_ci *budget_ci) ...@@ -491,7 +492,7 @@ static int ciintf_init(struct budget_ci *budget_ci)
// Setup CI slot IRQ // Setup CI slot IRQ
if (budget_ci->ci_irq) { if (budget_ci->ci_irq) {
tasklet_init(&budget_ci->ciintf_irq_tasklet, ciintf_interrupt, (unsigned long) budget_ci); tasklet_setup(&budget_ci->ciintf_irq_tasklet, ciintf_interrupt);
if (budget_ci->slot_status != SLOTSTATUS_NONE) { if (budget_ci->slot_status != SLOTSTATUS_NONE) {
saa7146_setgpio(saa, 0, SAA7146_GPIO_IRQLO); saa7146_setgpio(saa, 0, SAA7146_GPIO_IRQLO);
} else { } else {
......
...@@ -171,9 +171,9 @@ static int budget_read_fe_status(struct dvb_frontend *fe, ...@@ -171,9 +171,9 @@ static int budget_read_fe_status(struct dvb_frontend *fe,
return ret; return ret;
} }
static void vpeirq(unsigned long data) static void vpeirq(struct tasklet_struct *t)
{ {
struct budget *budget = (struct budget *) data; struct budget *budget = from_tasklet(budget, t, vpe_tasklet);
u8 *mem = (u8 *) (budget->grabbing); u8 *mem = (u8 *) (budget->grabbing);
u32 olddma = budget->ttbp; u32 olddma = budget->ttbp;
u32 newdma = saa7146_read(budget->dev, PCI_VDP3); u32 newdma = saa7146_read(budget->dev, PCI_VDP3);
...@@ -519,7 +519,7 @@ int ttpci_budget_init(struct budget *budget, struct saa7146_dev *dev, ...@@ -519,7 +519,7 @@ int ttpci_budget_init(struct budget *budget, struct saa7146_dev *dev,
/* upload all */ /* upload all */
saa7146_write(dev, GPIO_CTRL, 0x000000); saa7146_write(dev, GPIO_CTRL, 0x000000);
tasklet_init(&budget->vpe_tasklet, vpeirq, (unsigned long) budget); tasklet_setup(&budget->vpe_tasklet, vpeirq);
/* frontend power on */ /* frontend power on */
if (bi->type != BUDGET_FS_ACTIVY) if (bi->type != BUDGET_FS_ACTIVY)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment