static bool ks8842_dma_filter_fn(struct dma_chan *chan, void *filter_param)
 {
-       return chan->chan_id == (int)filter_param;
+       return chan->chan_id == (long)filter_param;
 }
 
 static int ks8842_alloc_dma_bufs(struct net_device *netdev)
        sg_init_table(&tx_ctl->sg, 1);
 
        tx_ctl->chan = dma_request_channel(mask, ks8842_dma_filter_fn,
-               (void *)tx_ctl->channel);
+                                          (void *)(long)tx_ctl->channel);
        if (!tx_ctl->chan) {
                err = -ENODEV;
                goto err;
        }
 
        rx_ctl->chan = dma_request_channel(mask, ks8842_dma_filter_fn,
-               (void *)rx_ctl->channel);
+                                          (void *)(long)rx_ctl->channel);
        if (!rx_ctl->chan) {
                err = -ENODEV;
                goto err;