.. | .. |
---|
77 | 77 | add_timer(&fei->timer); |
---|
78 | 78 | } |
---|
79 | 79 | |
---|
80 | | -static void channel_swdemux_tsklet(unsigned long data) |
---|
| 80 | +static void channel_swdemux_tsklet(struct tasklet_struct *t) |
---|
81 | 81 | { |
---|
82 | | - struct channel_info *channel = (struct channel_info *)data; |
---|
| 82 | + struct channel_info *channel = from_tasklet(channel, t, tsklet); |
---|
83 | 83 | struct c8sectpfei *fei; |
---|
84 | 84 | unsigned long wp, rp; |
---|
85 | 85 | int pos, num_packets, n, size; |
---|
.. | .. |
---|
208 | 208 | |
---|
209 | 209 | dev_dbg(fei->dev, "Starting channel=%p\n", channel); |
---|
210 | 210 | |
---|
211 | | - tasklet_init(&channel->tsklet, channel_swdemux_tsklet, |
---|
212 | | - (unsigned long) channel); |
---|
| 211 | + tasklet_setup(&channel->tsklet, channel_swdemux_tsklet); |
---|
213 | 212 | |
---|
214 | 213 | /* Reset the internal inputblock sram pointers */ |
---|
215 | 214 | writel(channel->fifo, |
---|
.. | .. |
---|
638 | 637 | writel(tsin->back_buffer_busaddr, tsin->irec + DMA_PRDS_BUSRP_TP(0)); |
---|
639 | 638 | |
---|
640 | 639 | /* initialize tasklet */ |
---|
641 | | - tasklet_init(&tsin->tsklet, channel_swdemux_tsklet, |
---|
642 | | - (unsigned long) tsin); |
---|
| 640 | + tasklet_setup(&tsin->tsklet, channel_swdemux_tsklet); |
---|
643 | 641 | |
---|
644 | 642 | return 0; |
---|
645 | 643 | |
---|
.. | .. |
---|
693 | 691 | fei->sram_size = resource_size(res); |
---|
694 | 692 | |
---|
695 | 693 | fei->idle_irq = platform_get_irq_byname(pdev, "c8sectpfe-idle-irq"); |
---|
696 | | - if (fei->idle_irq < 0) { |
---|
697 | | - dev_err(dev, "Can't get c8sectpfe-idle-irq\n"); |
---|
| 694 | + if (fei->idle_irq < 0) |
---|
698 | 695 | return fei->idle_irq; |
---|
699 | | - } |
---|
700 | 696 | |
---|
701 | 697 | fei->error_irq = platform_get_irq_byname(pdev, "c8sectpfe-error-irq"); |
---|
702 | | - if (fei->error_irq < 0) { |
---|
703 | | - dev_err(dev, "Can't get c8sectpfe-error-irq\n"); |
---|
| 698 | + if (fei->error_irq < 0) |
---|
704 | 699 | return fei->error_irq; |
---|
705 | | - } |
---|
706 | 700 | |
---|
707 | 701 | platform_set_drvdata(pdev, fei); |
---|
708 | 702 | |
---|
.. | .. |
---|
943 | 937 | if (ret) { |
---|
944 | 938 | dev_err(fei->dev, |
---|
945 | 939 | "configure_memdma_and_inputblock failed\n"); |
---|
| 940 | + of_node_put(child); |
---|
946 | 941 | goto err_unmap; |
---|
947 | 942 | } |
---|
948 | 943 | index++; |
---|