| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-or-later |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * DMA controller driver for CSR SiRFprimaII |
|---|
| 3 | 4 | * |
|---|
| 4 | 5 | * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company. |
|---|
| 5 | | - * |
|---|
| 6 | | - * Licensed under GPLv2 or later. |
|---|
| 7 | 6 | */ |
|---|
| 8 | 7 | |
|---|
| 9 | 8 | #include <linux/module.h> |
|---|
| .. | .. |
|---|
| 394 | 393 | } |
|---|
| 395 | 394 | |
|---|
| 396 | 395 | /* DMA Tasklet */ |
|---|
| 397 | | -static void sirfsoc_dma_tasklet(unsigned long data) |
|---|
| 396 | +static void sirfsoc_dma_tasklet(struct tasklet_struct *t) |
|---|
| 398 | 397 | { |
|---|
| 399 | | - struct sirfsoc_dma *sdma = (void *)data; |
|---|
| 398 | + struct sirfsoc_dma *sdma = from_tasklet(sdma, t, tasklet); |
|---|
| 400 | 399 | |
|---|
| 401 | 400 | sirfsoc_dma_process_completed(sdma); |
|---|
| 402 | 401 | } |
|---|
| .. | .. |
|---|
| 939 | 938 | list_add_tail(&schan->chan.device_node, &dma->channels); |
|---|
| 940 | 939 | } |
|---|
| 941 | 940 | |
|---|
| 942 | | - tasklet_init(&sdma->tasklet, sirfsoc_dma_tasklet, (unsigned long)sdma); |
|---|
| 941 | + tasklet_setup(&sdma->tasklet, sirfsoc_dma_tasklet); |
|---|
| 943 | 942 | |
|---|
| 944 | 943 | /* Register DMA engine */ |
|---|
| 945 | 944 | dev_set_drvdata(dev, sdma); |
|---|