| .. | .. |
|---|
| 154 | 154 | fsl_re_issue_pending(&re_chan->chan); |
|---|
| 155 | 155 | } |
|---|
| 156 | 156 | |
|---|
| 157 | | -static void fsl_re_dequeue(unsigned long data) |
|---|
| 157 | +static void fsl_re_dequeue(struct tasklet_struct *t) |
|---|
| 158 | 158 | { |
|---|
| 159 | | - struct fsl_re_chan *re_chan; |
|---|
| 159 | + struct fsl_re_chan *re_chan = from_tasklet(re_chan, t, irqtask); |
|---|
| 160 | 160 | struct fsl_re_desc *desc, *_desc; |
|---|
| 161 | 161 | struct fsl_re_hw_desc *hwdesc; |
|---|
| 162 | 162 | unsigned long flags; |
|---|
| 163 | 163 | unsigned int count, oub_count; |
|---|
| 164 | 164 | int found; |
|---|
| 165 | | - |
|---|
| 166 | | - re_chan = dev_get_drvdata((struct device *)data); |
|---|
| 167 | 165 | |
|---|
| 168 | 166 | fsl_re_cleanup_descs(re_chan); |
|---|
| 169 | 167 | |
|---|
| .. | .. |
|---|
| 671 | 669 | snprintf(chan->name, sizeof(chan->name), "re_jr%02d", q); |
|---|
| 672 | 670 | |
|---|
| 673 | 671 | chandev = &chan_ofdev->dev; |
|---|
| 674 | | - tasklet_init(&chan->irqtask, fsl_re_dequeue, (unsigned long)chandev); |
|---|
| 672 | + tasklet_setup(&chan->irqtask, fsl_re_dequeue); |
|---|
| 675 | 673 | |
|---|
| 676 | 674 | ret = request_irq(chan->irq, fsl_re_isr, 0, chan->name, chandev); |
|---|
| 677 | 675 | if (ret) { |
|---|