Replace occurences of the pci api by appropriate call to the dma api.

A simplified version of the semantic patch that finds this problem is as
follows: (http://coccinelle.lip6.fr)

@deprecated@
idexpression id;
position p;
@@

(
  pci_dma_supported@p ( id, ...)
|
  pci_alloc_consistent@p ( id, ...)
)

@bad1@
idexpression id;
position deprecated.p;
@@
...when != &id->dev
   when != pci_get_drvdata ( id )
   when != pci_enable_device ( id )
(
  pci_dma_supported@p ( id, ...)
|
  pci_alloc_consistent@p ( id, ...)
)

@depends on !bad1@
idexpression id;
expression direction;
position deprecated.p;
@@

(
- pci_dma_supported@p ( id,
+ dma_supported ( &id->dev,
...
+ , GFP_ATOMIC
  )
|
- pci_alloc_consistent@p ( id,
+ dma_alloc_coherent ( &id->dev,
...
+ , GFP_ATOMIC
  )
)

Signed-off-by: Quentin Lambert <lambert.quen...@gmail.com>
---
 Changes since v1:
  - fold the two patches into one, GFP_ATOMIC is now replaced by
    GFP_KERNEL

 drivers/ide/cs5520.c    |    2 +-
 drivers/ide/pmac.c      |    5 ++---
 drivers/ide/setup-pci.c |    2 +-
 drivers/ide/sgiioc4.c   |    4 ++--
 4 files changed, 6 insertions(+), 7 deletions(-)

--- a/drivers/ide/cs5520.c
+++ b/drivers/ide/cs5520.c
@@ -123,7 +123,7 @@ static int cs5520_init_one(struct pci_de
                return -ENODEV;
        }
        pci_set_master(dev);
-       if (pci_set_dma_mask(dev, DMA_BIT_MASK(32))) {
+       if (dma_set_mask(&dev->dev, DMA_BIT_MASK(32))) {
                printk(KERN_WARNING "%s: No suitable DMA available.\n",
                        d->name);
                return -ENODEV;
--- a/drivers/ide/pmac.c
+++ b/drivers/ide/pmac.c
@@ -1689,10 +1689,9 @@ static int pmac_ide_init_dma(ide_hwif_t
         * The +2 is +1 for the stop command and +1 to allow for
         * aligning the start address to a multiple of 16 bytes.
         */
-       pmif->dma_table_cpu = pci_alloc_consistent(
-               dev,
+       pmif->dma_table_cpu = dma_alloc_coherent(&dev->dev,
                (MAX_DCMDS + 2) * sizeof(struct dbdma_cmd),
-               &hwif->dmatable_dma);
+               &hwif->dmatable_dma, GFP_KERNEL);
        if (pmif->dma_table_cpu == NULL) {
                printk(KERN_ERR "%s: unable to allocate DMA command list\n",
                       hwif->name);
--- a/drivers/ide/setup-pci.c
+++ b/drivers/ide/setup-pci.c
@@ -209,7 +209,7 @@ static int ide_pci_enable(struct pci_dev
         * a DMA mask field to the struct ide_port_info if we need it
         * (or let lower level driver set the DMA mask)
         */
-       ret = pci_set_dma_mask(dev, DMA_BIT_MASK(32));
+       ret = dma_set_mask(&dev->dev, DMA_BIT_MASK(32));
        if (ret < 0) {
                printk(KERN_ERR "%s %s: can't set DMA mask\n",
                        d->name, pci_name(dev));
--- a/drivers/ide/sgiioc4.c
+++ b/drivers/ide/sgiioc4.c
@@ -334,8 +334,8 @@ static int ide_dma_sgiioc4(ide_hwif_t *h
        if (ide_allocate_dma_engine(hwif))
                goto dma_pci_alloc_failure;
 
-       pad = pci_alloc_consistent(dev, IOC4_IDE_CACHELINE_SIZE,
-                                  (dma_addr_t *)&hwif->extra_base);
+       pad = dma_alloc_coherent(&dev->dev, IOC4_IDE_CACHELINE_SIZE,
+                                  (dma_addr_t *)&hwif->extra_base, GFP_KERNEL);
        if (pad) {
                ide_set_hwifdata(hwif, pad);
                return 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to