| .. | .. |
|---|
| 923 | 923 | return 0; |
|---|
| 924 | 924 | } |
|---|
| 925 | 925 | |
|---|
| 926 | | -static void ep_rx_tasklet(unsigned long data) |
|---|
| 926 | +static void ep_rx_tasklet(struct tasklet_struct *t) |
|---|
| 927 | 927 | { |
|---|
| 928 | | - struct qe_udc *udc = (struct qe_udc *)data; |
|---|
| 928 | + struct qe_udc *udc = from_tasklet(udc, t, rx_tasklet); |
|---|
| 929 | 929 | struct qe_ep *ep; |
|---|
| 930 | 930 | struct qe_frame *pframe; |
|---|
| 931 | 931 | struct qe_bd __iomem *bd; |
|---|
| .. | .. |
|---|
| 2553 | 2553 | DMA_TO_DEVICE); |
|---|
| 2554 | 2554 | } |
|---|
| 2555 | 2555 | |
|---|
| 2556 | | - tasklet_init(&udc->rx_tasklet, ep_rx_tasklet, |
|---|
| 2557 | | - (unsigned long)udc); |
|---|
| 2556 | + tasklet_setup(&udc->rx_tasklet, ep_rx_tasklet); |
|---|
| 2558 | 2557 | /* request irq and disable DR */ |
|---|
| 2559 | 2558 | udc->usb_irq = irq_of_parse_and_map(np, 0); |
|---|
| 2560 | 2559 | if (!udc->usb_irq) { |
|---|