Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

media: pci/ivtv: switch from 'pci_' to 'dma_' API

The wrappers in include/linux/pci-dma-compat.h should go away.

The patch has been generated with the coccinelle script below.
It has been compile tested.

No memory allocation in involved in this patch, so no GFP_ tweak is needed.

@@ @@
- PCI_DMA_BIDIRECTIONAL
+ DMA_BIDIRECTIONAL

@@ @@
- PCI_DMA_TODEVICE
+ DMA_TO_DEVICE

@@ @@
- PCI_DMA_FROMDEVICE
+ DMA_FROM_DEVICE

@@ @@
- PCI_DMA_NONE
+ DMA_NONE

@@
expression e1, e2, e3;
@@
- pci_alloc_consistent(e1, e2, e3)
+ dma_alloc_coherent(&e1->dev, e2, e3, GFP_)

@@
expression e1, e2, e3;
@@
- pci_zalloc_consistent(e1, e2, e3)
+ dma_alloc_coherent(&e1->dev, e2, e3, GFP_)

@@
expression e1, e2, e3, e4;
@@
- pci_free_consistent(e1, e2, e3, e4)
+ dma_free_coherent(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
- pci_map_single(e1, e2, e3, e4)
+ dma_map_single(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
- pci_unmap_single(e1, e2, e3, e4)
+ dma_unmap_single(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4, e5;
@@
- pci_map_page(e1, e2, e3, e4, e5)
+ dma_map_page(&e1->dev, e2, e3, e4, e5)

@@
expression e1, e2, e3, e4;
@@
- pci_unmap_page(e1, e2, e3, e4)
+ dma_unmap_page(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
- pci_map_sg(e1, e2, e3, e4)
+ dma_map_sg(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
- pci_unmap_sg(e1, e2, e3, e4)
+ dma_unmap_sg(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
- pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
+ dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
- pci_dma_sync_single_for_device(e1, e2, e3, e4)
+ dma_sync_single_for_device(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
- pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
+ dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
- pci_dma_sync_sg_for_device(e1, e2, e3, e4)
+ dma_sync_sg_for_device(&e1->dev, e2, e3, e4)

@@
expression e1, e2;
@@
- pci_dma_mapping_error(e1, e2)
+ dma_mapping_error(&e1->dev, e2)

@@
expression e1, e2;
@@
- pci_set_dma_mask(e1, e2)
+ dma_set_mask(&e1->dev, e2)

@@
expression e1, e2;
@@
- pci_set_consistent_dma_mask(e1, e2)
+ dma_set_coherent_mask(&e1->dev, e2)

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

authored by

Christophe JAILLET and committed by
Mauro Carvalho Chehab
1932dc2f 5c47dc66

+41 -30
+1 -1
drivers/media/pci/ivtv/ivtv-driver.c
··· 837 837 IVTV_ERR("Can't enable device!\n"); 838 838 return -EIO; 839 839 } 840 - if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) { 840 + if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(32))) { 841 841 IVTV_ERR("No suitable DMA available.\n"); 842 842 return -EIO; 843 843 }
+10 -8
drivers/media/pci/ivtv/ivtv-queue.c
··· 188 188 return 0; 189 189 190 190 IVTV_DEBUG_INFO("Allocate %s%s stream: %d x %d buffers (%dkB total)\n", 191 - s->dma != PCI_DMA_NONE ? "DMA " : "", 191 + s->dma != DMA_NONE ? "DMA " : "", 192 192 s->name, s->buffers, s->buf_size, s->buffers * s->buf_size / 1024); 193 193 194 194 s->sg_pending = kzalloc(SGsize, GFP_KERNEL|__GFP_NOWARN); ··· 218 218 return -ENOMEM; 219 219 } 220 220 if (ivtv_might_use_dma(s)) { 221 - s->sg_handle = pci_map_single(itv->pdev, s->sg_dma, 222 - sizeof(struct ivtv_sg_element), PCI_DMA_TODEVICE); 221 + s->sg_handle = dma_map_single(&itv->pdev->dev, s->sg_dma, 222 + sizeof(struct ivtv_sg_element), 223 + DMA_TO_DEVICE); 223 224 ivtv_stream_sync_for_cpu(s); 224 225 } 225 226 ··· 238 237 } 239 238 INIT_LIST_HEAD(&buf->list); 240 239 if (ivtv_might_use_dma(s)) { 241 - buf->dma_handle = pci_map_single(s->itv->pdev, 240 + buf->dma_handle = dma_map_single(&s->itv->pdev->dev, 242 241 buf->buf, s->buf_size + 256, s->dma); 243 242 ivtv_buf_sync_for_cpu(s, buf); 244 243 } ··· 261 260 /* empty q_free */ 262 261 while ((buf = ivtv_dequeue(s, &s->q_free))) { 263 262 if (ivtv_might_use_dma(s)) 264 - pci_unmap_single(s->itv->pdev, buf->dma_handle, 265 - s->buf_size + 256, s->dma); 263 + dma_unmap_single(&s->itv->pdev->dev, buf->dma_handle, 264 + s->buf_size + 256, s->dma); 266 265 kfree(buf->buf); 267 266 kfree(buf); 268 267 } ··· 270 269 /* Free SG Array/Lists */ 271 270 if (s->sg_dma != NULL) { 272 271 if (s->sg_handle != IVTV_DMA_UNMAPPED) { 273 - pci_unmap_single(s->itv->pdev, s->sg_handle, 274 - sizeof(struct ivtv_sg_element), PCI_DMA_TODEVICE); 272 + dma_unmap_single(&s->itv->pdev->dev, s->sg_handle, 273 + sizeof(struct ivtv_sg_element), 274 + DMA_TO_DEVICE); 275 275 s->sg_handle = IVTV_DMA_UNMAPPED; 276 276 } 277 277 kfree(s->sg_pending);
+11 -11
drivers/media/pci/ivtv/ivtv-streams.c
··· 100 100 { /* IVTV_ENC_STREAM_TYPE_MPG */ 101 101 "encoder MPG", 102 102 VFL_TYPE_VIDEO, 0, 103 - PCI_DMA_FROMDEVICE, 0, 103 + DMA_FROM_DEVICE, 0, 104 104 V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_TUNER | 105 105 V4L2_CAP_AUDIO | V4L2_CAP_READWRITE, 106 106 &ivtv_v4l2_enc_fops ··· 108 108 { /* IVTV_ENC_STREAM_TYPE_YUV */ 109 109 "encoder YUV", 110 110 VFL_TYPE_VIDEO, IVTV_V4L2_ENC_YUV_OFFSET, 111 - PCI_DMA_FROMDEVICE, 0, 111 + DMA_FROM_DEVICE, 0, 112 112 V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_TUNER | 113 113 V4L2_CAP_AUDIO | V4L2_CAP_READWRITE, 114 114 &ivtv_v4l2_enc_fops ··· 116 116 { /* IVTV_ENC_STREAM_TYPE_VBI */ 117 117 "encoder VBI", 118 118 VFL_TYPE_VBI, 0, 119 - PCI_DMA_FROMDEVICE, 0, 119 + DMA_FROM_DEVICE, 0, 120 120 V4L2_CAP_VBI_CAPTURE | V4L2_CAP_SLICED_VBI_CAPTURE | V4L2_CAP_TUNER | 121 121 V4L2_CAP_AUDIO | V4L2_CAP_READWRITE, 122 122 &ivtv_v4l2_enc_fops ··· 124 124 { /* IVTV_ENC_STREAM_TYPE_PCM */ 125 125 "encoder PCM", 126 126 VFL_TYPE_VIDEO, IVTV_V4L2_ENC_PCM_OFFSET, 127 - PCI_DMA_FROMDEVICE, 0, 127 + DMA_FROM_DEVICE, 0, 128 128 V4L2_CAP_TUNER | V4L2_CAP_AUDIO | V4L2_CAP_READWRITE, 129 129 &ivtv_v4l2_enc_fops 130 130 }, 131 131 { /* IVTV_ENC_STREAM_TYPE_RAD */ 132 132 "encoder radio", 133 133 VFL_TYPE_RADIO, 0, 134 - PCI_DMA_NONE, 1, 134 + DMA_NONE, 1, 135 135 V4L2_CAP_RADIO | V4L2_CAP_TUNER, 136 136 &ivtv_v4l2_radio_fops 137 137 }, 138 138 { /* IVTV_DEC_STREAM_TYPE_MPG */ 139 139 "decoder MPG", 140 140 VFL_TYPE_VIDEO, IVTV_V4L2_DEC_MPG_OFFSET, 141 - PCI_DMA_TODEVICE, 0, 141 + DMA_TO_DEVICE, 0, 142 142 V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_AUDIO | V4L2_CAP_READWRITE, 143 143 &ivtv_v4l2_dec_fops 144 144 }, 145 145 { /* IVTV_DEC_STREAM_TYPE_VBI */ 146 146 "decoder VBI", 147 147 VFL_TYPE_VBI, IVTV_V4L2_DEC_VBI_OFFSET, 148 - PCI_DMA_NONE, 1, 148 + DMA_NONE, 1, 149 149 V4L2_CAP_SLICED_VBI_CAPTURE | V4L2_CAP_READWRITE, 150 150 &ivtv_v4l2_enc_fops 151 151 }, 152 152 { /* IVTV_DEC_STREAM_TYPE_VOUT */ 153 153 "decoder VOUT", 154 154 VFL_TYPE_VBI, IVTV_V4L2_DEC_VOUT_OFFSET, 155 - PCI_DMA_NONE, 1, 155 + DMA_NONE, 1, 156 156 V4L2_CAP_SLICED_VBI_OUTPUT | V4L2_CAP_AUDIO | V4L2_CAP_READWRITE, 157 157 &ivtv_v4l2_dec_fops 158 158 }, 159 159 { /* IVTV_DEC_STREAM_TYPE_YUV */ 160 160 "decoder YUV", 161 161 VFL_TYPE_VIDEO, IVTV_V4L2_DEC_YUV_OFFSET, 162 - PCI_DMA_TODEVICE, 0, 162 + DMA_TO_DEVICE, 0, 163 163 V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_AUDIO | V4L2_CAP_READWRITE, 164 164 &ivtv_v4l2_dec_fops 165 165 } ··· 179 179 s->caps = ivtv_stream_info[type].v4l2_caps; 180 180 181 181 if (ivtv_stream_info[type].pio) 182 - s->dma = PCI_DMA_NONE; 182 + s->dma = DMA_NONE; 183 183 else 184 184 s->dma = ivtv_stream_info[type].dma; 185 185 s->buf_size = itv->stream_buf_size[type]; ··· 217 217 218 218 /* User explicitly selected 0 buffers for these streams, so don't 219 219 create them. */ 220 - if (ivtv_stream_info[type].dma != PCI_DMA_NONE && 220 + if (ivtv_stream_info[type].dma != DMA_NONE && 221 221 itv->options.kilobytes[type] == 0) { 222 222 IVTV_INFO("Disabled %s device\n", ivtv_stream_info[type].name); 223 223 return 0;
+12 -7
drivers/media/pci/ivtv/ivtv-udma.c
··· 81 81 { 82 82 if (itv->udma.SG_handle == 0) { 83 83 /* Map DMA Page Array Buffer */ 84 - itv->udma.SG_handle = pci_map_single(itv->pdev, itv->udma.SGarray, 85 - sizeof(itv->udma.SGarray), PCI_DMA_TODEVICE); 84 + itv->udma.SG_handle = dma_map_single(&itv->pdev->dev, 85 + itv->udma.SGarray, 86 + sizeof(itv->udma.SGarray), 87 + DMA_TO_DEVICE); 86 88 ivtv_udma_sync_for_cpu(itv); 87 89 } 88 90 } ··· 137 135 } 138 136 139 137 /* Map SG List */ 140 - dma->SG_length = pci_map_sg(itv->pdev, dma->SGlist, dma->page_count, PCI_DMA_TODEVICE); 138 + dma->SG_length = dma_map_sg(&itv->pdev->dev, dma->SGlist, 139 + dma->page_count, DMA_TO_DEVICE); 141 140 142 141 /* Fill SG Array with new values */ 143 142 ivtv_udma_fill_sg_array (dma, ivtv_dest_addr, 0, -1); ··· 162 159 163 160 /* Unmap Scatterlist */ 164 161 if (dma->SG_length) { 165 - pci_unmap_sg(itv->pdev, dma->SGlist, dma->page_count, PCI_DMA_TODEVICE); 162 + dma_unmap_sg(&itv->pdev->dev, dma->SGlist, dma->page_count, 163 + DMA_TO_DEVICE); 166 164 dma->SG_length = 0; 167 165 } 168 166 /* sync DMA */ ··· 179 175 180 176 /* Unmap SG Array */ 181 177 if (itv->udma.SG_handle) { 182 - pci_unmap_single(itv->pdev, itv->udma.SG_handle, 183 - sizeof(itv->udma.SGarray), PCI_DMA_TODEVICE); 178 + dma_unmap_single(&itv->pdev->dev, itv->udma.SG_handle, 179 + sizeof(itv->udma.SGarray), DMA_TO_DEVICE); 184 180 } 185 181 186 182 /* Unmap Scatterlist */ 187 183 if (itv->udma.SG_length) { 188 - pci_unmap_sg(itv->pdev, itv->udma.SGlist, itv->udma.page_count, PCI_DMA_TODEVICE); 184 + dma_unmap_sg(&itv->pdev->dev, itv->udma.SGlist, 185 + itv->udma.page_count, DMA_TO_DEVICE); 189 186 } 190 187 191 188 for (i = 0; i < IVTV_DMA_SG_OSD_ENT; i++) {
+7 -3
drivers/media/pci/ivtv/ivtv-yuv.c
··· 113 113 dma->page_count = 0; 114 114 return -ENOMEM; 115 115 } 116 - dma->SG_length = pci_map_sg(itv->pdev, dma->SGlist, dma->page_count, PCI_DMA_TODEVICE); 116 + dma->SG_length = dma_map_sg(&itv->pdev->dev, dma->SGlist, 117 + dma->page_count, DMA_TO_DEVICE); 117 118 118 119 /* Fill SG Array with new values */ 119 120 ivtv_udma_fill_sg_array(dma, y_buffer_offset, uv_buffer_offset, y_size); ··· 921 920 /* We need a buffer for blanking when Y plane is offset - non-fatal if we can't get one */ 922 921 yi->blanking_ptr = kzalloc(720 * 16, GFP_ATOMIC|__GFP_NOWARN); 923 922 if (yi->blanking_ptr) { 924 - yi->blanking_dmaptr = pci_map_single(itv->pdev, yi->blanking_ptr, 720*16, PCI_DMA_TODEVICE); 923 + yi->blanking_dmaptr = dma_map_single(&itv->pdev->dev, 924 + yi->blanking_ptr, 925 + 720 * 16, DMA_TO_DEVICE); 925 926 } else { 926 927 yi->blanking_dmaptr = 0; 927 928 IVTV_DEBUG_WARN("Failed to allocate yuv blanking buffer\n"); ··· 1267 1264 if (yi->blanking_ptr) { 1268 1265 kfree(yi->blanking_ptr); 1269 1266 yi->blanking_ptr = NULL; 1270 - pci_unmap_single(itv->pdev, yi->blanking_dmaptr, 720*16, PCI_DMA_TODEVICE); 1267 + dma_unmap_single(&itv->pdev->dev, yi->blanking_dmaptr, 1268 + 720 * 16, DMA_TO_DEVICE); 1271 1269 } 1272 1270 1273 1271 /* Invalidate the old dimension information */