From patchwork Mon Jan 12 16:10:42 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Quentin Lambert X-Patchwork-Id: 427792 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 1098B140192 for ; Tue, 13 Jan 2015 03:11:01 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753192AbbALQKp (ORCPT ); Mon, 12 Jan 2015 11:10:45 -0500 Received: from mail-wi0-f169.google.com ([209.85.212.169]:58358 "EHLO mail-wi0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751846AbbALQKn (ORCPT ); Mon, 12 Jan 2015 11:10:43 -0500 Received: by mail-wi0-f169.google.com with SMTP id r20so14849770wiv.0; Mon, 12 Jan 2015 08:10:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:mime-version:content-type :content-disposition:user-agent; bh=+qMhdXCDz66jDReyNVedjMOu3AQ58PjnIutQUzXXXKA=; b=zdLfUnOvPTVYcMgiRVQ73e1VzO4zj1nje/khHesxQTugJx98vGSlst9EXuVlBLoAi5 jUS43YYHDgQyrUnEQhafJfmIIkFdNbSB0buypHGaFKmVDTXU99coTX9DLKW2mjKjQNWI fjr1FQVm5ZGY3BkGiZc6rjy1rYaZvLZe0WaqhoBui5eQH2i1kB2U0IHL3/XHu5WacTJk PYw9M1df32TMSBPplvyFx2gu64+2iUXzkZWR8dQu2srH0ZdYi6Z2rtGdiGCMKHz6DGAe l/Mm5jYq+vdeYaFLgRGucqwCVrr//FeuhkW7ske9kY2Z/SJoi+w82TrRMjHlDzQ3eVzH kbIA== X-Received: by 10.180.210.195 with SMTP id mw3mr32182103wic.79.1421079041722; Mon, 12 Jan 2015 08:10:41 -0800 (PST) Received: from sloth (hp-quentin.rsr.lip6.fr. [132.227.76.76]) by mx.google.com with ESMTPSA id dc1sm10731804wib.18.2015.01.12.08.10.40 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 12 Jan 2015 08:10:40 -0800 (PST) Date: Mon, 12 Jan 2015 17:10:42 +0100 From: Quentin Lambert To: Chas Williams Cc: linux-atm-general@lists.sourceforge.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/1] atm: remove deprecated use of pci api Message-ID: <20150112161042.GA11374@sloth> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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 --- drivers/atm/eni.c | 8 +++++--- drivers/atm/he.c | 2 +- drivers/atm/lanai.c | 9 +++++---- drivers/atm/nicstar.c | 4 ++-- drivers/atm/solos-pci.c | 2 +- drivers/atm/zatm.c | 8 +++++--- 6 files changed, 19 insertions(+), 14 deletions(-) diff --git a/drivers/atm/eni.c b/drivers/atm/eni.c index c7fab3e..a128020 100644 --- a/drivers/atm/eni.c +++ b/drivers/atm/eni.c @@ -2246,7 +2246,8 @@ static int eni_init_one(struct pci_dev *pci_dev, goto err_disable; zero = &eni_dev->zero; - zero->addr = pci_alloc_consistent(pci_dev, ENI_ZEROES_SIZE, &zero->dma); + zero->addr = dma_alloc_coherent(&pci_dev->dev, ENI_ZEROES_SIZE, + &zero->dma, GFP_ATOMIC); if (!zero->addr) goto err_kfree; @@ -2277,7 +2278,8 @@ err_eni_release: err_unregister: atm_dev_deregister(dev); err_free_consistent: - pci_free_consistent(pci_dev, ENI_ZEROES_SIZE, zero->addr, zero->dma); + dma_free_coherent(&pci_dev->dev, ENI_ZEROES_SIZE, zero->addr, + zero->dma); err_kfree: kfree(eni_dev); err_disable: @@ -2302,7 +2304,7 @@ static void eni_remove_one(struct pci_dev *pdev) eni_do_release(dev); atm_dev_deregister(dev); - pci_free_consistent(pdev, ENI_ZEROES_SIZE, zero->addr, zero->dma); + dma_free_coherent(&pdev->dev, ENI_ZEROES_SIZE, zero->addr, zero->dma); kfree(ed); pci_disable_device(pdev); } diff --git a/drivers/atm/he.c b/drivers/atm/he.c index c39702b..69a2598 100644 --- a/drivers/atm/he.c +++ b/drivers/atm/he.c @@ -359,7 +359,7 @@ static int he_init_one(struct pci_dev *pci_dev, if (pci_enable_device(pci_dev)) return -EIO; - if (pci_set_dma_mask(pci_dev, DMA_BIT_MASK(32)) != 0) { + if (dma_set_mask(&pci_dev->dev, DMA_BIT_MASK(32)) != 0) { printk(KERN_WARNING "he: no suitable dma available\n"); err = -EIO; goto init_one_failure; diff --git a/drivers/atm/lanai.c b/drivers/atm/lanai.c index 93eaf8d..70fe734 100644 --- a/drivers/atm/lanai.c +++ b/drivers/atm/lanai.c @@ -346,7 +346,8 @@ static void lanai_buf_allocate(struct lanai_buffer *buf, * everything, but the way the lanai uses DMA memory would * make that a terrific pain. This is much simpler. */ - buf->start = pci_alloc_consistent(pci, size, &buf->dmaaddr); + buf->start = dma_alloc_coherent(&pci->dev, size, &buf->dmaaddr, + GFP_ATOMIC); if (buf->start != NULL) { /* Success */ /* Lanai requires 256-byte alignment of DMA bufs */ APRINTK((buf->dmaaddr & ~0xFFFFFF00) == 0, @@ -372,7 +373,7 @@ static void lanai_buf_deallocate(struct lanai_buffer *buf, struct pci_dev *pci) { if (buf->start != NULL) { - pci_free_consistent(pci, lanai_buf_size(buf), + dma_free_coherent(&pci->dev, lanai_buf_size(buf), buf->start, buf->dmaaddr); buf->start = buf->end = buf->ptr = NULL; } @@ -1953,12 +1954,12 @@ static int lanai_pci_start(struct lanai_dev *lanai) return -ENXIO; } pci_set_master(pci); - if (pci_set_dma_mask(pci, DMA_BIT_MASK(32)) != 0) { + if (dma_set_mask(&pci->dev, DMA_BIT_MASK(32)) != 0) { printk(KERN_WARNING DEV_LABEL "(itf %d): No suitable DMA available.\n", lanai->number); return -EBUSY; } - if (pci_set_consistent_dma_mask(pci, DMA_BIT_MASK(32)) != 0) { + if (dma_set_coherent_mask(&pci->dev, DMA_BIT_MASK(32)) != 0) { printk(KERN_WARNING DEV_LABEL "(itf %d): No suitable DMA available.\n", lanai->number); return -EBUSY; diff --git a/drivers/atm/nicstar.c b/drivers/atm/nicstar.c index 9988ac9..aabb528 100644 --- a/drivers/atm/nicstar.c +++ b/drivers/atm/nicstar.c @@ -370,8 +370,8 @@ static int ns_init_card(int i, struct pci_dev *pcidev) ns_init_card_error(card, error); return error; } - if ((pci_set_dma_mask(pcidev, DMA_BIT_MASK(32)) != 0) || - (pci_set_consistent_dma_mask(pcidev, DMA_BIT_MASK(32)) != 0)) { + if ((dma_set_mask(&pcidev->dev, DMA_BIT_MASK(32)) != 0) || + (dma_set_coherent_mask(&pcidev->dev, DMA_BIT_MASK(32)) != 0)) { printk(KERN_WARNING "nicstar%d: No suitable DMA available.\n", i); error = 2; diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c index 21b0bc6..48531b8 100644 --- a/drivers/atm/solos-pci.c +++ b/drivers/atm/solos-pci.c @@ -1210,7 +1210,7 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id) goto out; } - err = pci_set_dma_mask(dev, DMA_BIT_MASK(32)); + err = dma_set_mask(&dev->dev, DMA_BIT_MASK(32)); if (err) { dev_warn(&dev->dev, "Failed to set 32-bit DMA mask\n"); goto out; diff --git a/drivers/atm/zatm.c b/drivers/atm/zatm.c index 969c3c2..b6456b1 100644 --- a/drivers/atm/zatm.c +++ b/drivers/atm/zatm.c @@ -1306,7 +1306,8 @@ static int zatm_start(struct atm_dev *dev) if (!mbx_entries[i]) continue; - mbx = pci_alloc_consistent(pdev, 2*MBX_SIZE(i), &mbx_dma); + mbx = dma_alloc_coherent(&pdev->dev, 2*MBX_SIZE(i), &mbx_dma, + GFP_ATOMIC); if (!mbx) { error = -ENOMEM; goto out; @@ -1318,7 +1319,8 @@ static int zatm_start(struct atm_dev *dev) if (((unsigned long)mbx ^ mbx_dma) & 0xffff) { printk(KERN_ERR DEV_LABEL "(itf %d): system " "bus incompatible with driver\n", dev->number); - pci_free_consistent(pdev, 2*MBX_SIZE(i), mbx, mbx_dma); + dma_free_coherent(&pdev->dev, 2*MBX_SIZE(i), mbx, + mbx_dma); error = -ENODEV; goto out; } @@ -1354,7 +1356,7 @@ out_tx: kfree(zatm_dev->tx_map); out: while (i-- > 0) { - pci_free_consistent(pdev, 2*MBX_SIZE(i), + dma_free_coherent(&pdev->dev, 2*MBX_SIZE(i), (void *)zatm_dev->mbx_start[i], zatm_dev->mbx_dma[i]); }