dma: mv_xor: get rid of the pdev pointer in mv_xor_device
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 15 Nov 2012 13:37:36 +0000 (14:37 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 20 Nov 2012 14:58:58 +0000 (15:58 +0100)
It was only used in places where we could get the 'struct device *'
pointer through a different way.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
drivers/dma/mv_xor.c
drivers/dma/mv_xor.h

index 38dac0d9265c324e15b0509c81574e671bc38b84..6e705ea001dae498fa55447d190e7b156ae80199 100644 (file)
@@ -308,8 +308,7 @@ mv_xor_run_tx_complete_actions(struct mv_xor_desc_slot *desc,
                 */
                if (desc->group_head && desc->unmap_len) {
                        struct mv_xor_desc_slot *unmap = desc->group_head;
-                       struct device *dev =
-                               &mv_chan->device->pdev->dev;
+                       struct device *dev = mv_chan_to_devp(mv_chan);
                        u32 len = unmap->unmap_len;
                        enum dma_ctrl_flags flags = desc->async_tx.flags;
                        u32 src_cnt;
@@ -1077,10 +1076,11 @@ static int mv_xor_channel_remove(struct mv_xor_device *device)
 {
        struct dma_chan *chan, *_chan;
        struct mv_xor_chan *mv_chan;
+       struct device *dev = device->common.dev;
 
        dma_async_device_unregister(&device->common);
 
-       dma_free_coherent(&device->pdev->dev, device->pool_size,
+       dma_free_coherent(dev, device->pool_size,
                          device->dma_desc_pool_virt, device->dma_desc_pool);
 
        list_for_each_entry_safe(chan, _chan, &device->common.channels,
@@ -1123,7 +1123,6 @@ mv_xor_channel_add(struct mv_xor_private *msp,
 
        /* discover transaction capabilites from the platform data */
        dma_dev->cap_mask = cap_mask;
-       adev->pdev = pdev;
        adev->shared = msp;
 
        INIT_LIST_HEAD(&dma_dev->channels);
@@ -1208,7 +1207,7 @@ mv_xor_channel_add(struct mv_xor_private *msp,
        return adev;
 
  err_free_dma:
-       dma_free_coherent(&adev->pdev->dev, pool_size,
+       dma_free_coherent(&pdev->dev, pool_size,
                        adev->dma_desc_pool_virt, adev->dma_desc_pool);
        return ERR_PTR(ret);
 }
index 52ca6172bc6b15871321e8eb9863390826046fd2..05add24ad7721a3201103251142185ae55d1606f 100644 (file)
@@ -70,7 +70,6 @@ struct mv_xor_private {
  * @common: embedded struct dma_device
  */
 struct mv_xor_device {
-       struct platform_device          *pdev;
        dma_addr_t                      dma_desc_pool;
        void                            *dma_desc_pool_virt;
        size_t                          pool_size;