| .. | .. |
|---|
| 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++; |
|---|