Re: [cocci] [PATCH 1/7] coccinelle: remove obsolete pci_free_consistent.cocci

Julia Lawall <[email protected]>
Newsgroups fr.inria.cocci,org.kernel.vger.linux-kernel
Message-ID <[email protected]>

On Mon, 24 Aug 2026, Sang-Heon Jeon wrote:

> pci_alloc_consistent() and pci_free_consistent() were removed by commit
> 7968778914e5 ("PCI: Remove the deprecated "pci-dma-compat.h" API").

Thanks.

There are a lot of other references to these things:

Documentation/scsi/ChangeLog.arcmsr:**						8.replace pci_alloc_consistent()/pci_free_consistent() with kmalloc()/kfree() in arcmsr_iop_message_xfer()
arch/alpha/kernel/pci_iommu.c:	DBGA2("pci_free_consistent: [%llx,%zx] from %ps\n",
arch/sparc/kernel/ioport.c: * <zaitcev> Now, driver calls pci_free_consistent(with result of
drivers/net/fddi/defxx.h:	char				*kmalloced;					/* pci_free_consistent this on unload */
drivers/parisc/ccio-dma.c: * This function implements the pci_free_consistent function.
drivers/scsi/3w-xxxx.c:   1.02.00.029 - Add missing pci_free_consistent() in tw_allocate_memory().
sound/pci/asihpi/hpios.h:Need all info for parameters to pci_free_consistent

Documentation/scsi/53c700.rst:  used for the pci_alloc_consistent() and pci_map_*() functions.
Documentation/scsi/ChangeLog.arcmsr:**						8.replace pci_alloc_consistent()/pci_free_consistent() with kmalloc()/kfree() in arcmsr_iop_message_xfer()
Documentation/scsi/ChangeLog.megaraid_sas:	   pci_alloc_consistent replaced by dma_alloc_coherent. With this
Documentation/scsi/ChangeLog.megaraid_sas:	> pci_alloc_consistent() just goes and assumes GFP_ATOMIC, whereas
arch/alpha/kernel/pci_iommu.c:		printk(KERN_INFO "pci_alloc_consistent: "
arch/alpha/kernel/pci_iommu.c:	DBGA2("pci_alloc_consistent: %zx -> [%p,%llx] from %ps\n",
arch/alpha/kernel/pci_iommu.c:   be values that were returned from pci_alloc_consistent.  SIZE must
arch/alpha/kernel/pci_iommu.c:   be the same as what as passed into pci_alloc_consistent.
arch/powerpc/platforms/pseries/iommu.c:	 * a power of two (due to pci_alloc_consistent requirements).
arch/sparc/kernel/ioport.c: * <rth> zait: as long as pci_alloc_consistent produces something addressable,
drivers/misc/genwqe/card_utils.c: *               page_list and pci_alloc_consistent for the sg_list.
drivers/net/wan/wanxl.c:	 * and pray pci_alloc_consistent() will use this info. It should
drivers/net/wan/wanxl.c:	printk(KERN_DEBUG "wanXL %s: pci_alloc_consistent() returned memory"
drivers/parisc/ccio-dma.c:** o SAFE_DMA must be set for "memory" allocated via pci_alloc_consistent().
drivers/parisc/ccio-dma.c:#define HINT_SAFE_DMA   0x02UL	/* used for pci_alloc_consistent() pages */
drivers/parisc/ccio-dma.c: * This function implements the pci_alloc_consistent function.
sound/pci/asihpi/hpios.h:/** Details of a memory area allocated with  pci_alloc_consistent

julia



>
> So remove the obsolete script.
>
> Signed-off-by: Sang-Heon Jeon <[email protected]>
> ---
>  .../coccinelle/free/pci_free_consistent.cocci | 53 -------------------
>  1 file changed, 53 deletions(-)
>  delete mode 100644 scripts/coccinelle/free/pci_free_consistent.cocci
>
> diff --git a/scripts/coccinelle/free/pci_free_consistent.cocci b/scripts/coccinelle/free/pci_free_consistent.cocci
> deleted file mode 100644
> index e062b9ba09ff..000000000000
> --- a/scripts/coccinelle/free/pci_free_consistent.cocci
> +++ /dev/null
> @@ -1,53 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -/// Find missing pci_free_consistent for every pci_alloc_consistent.
> -///
> -// Confidence: Moderate
> -// Copyright: (C) 2013 Petr Strnad.
> -// URL: https://coccinelle.gitlabpages.inria.fr/website
> -// Keywords: pci_free_consistent, pci_alloc_consistent
> -// Options: --no-includes --include-headers
> -
> -virtual report
> -virtual org
> -
> -@search@
> -local idexpression id;
> -expression x,y,z,e;
> -position p1,p2;
> -type T;
> -@@
> -
> -id = pci_alloc_consistent@p1(x,y,&z)
> -... when != e = id
> -if (id == NULL || ...) { ... return ...; }
> -... when != pci_free_consistent(x,y,id,z)
> -    when != if (id) { ... pci_free_consistent(x,y,id,z) ... }
> -    when != if (y) { ... pci_free_consistent(x,y,id,z) ... }
> -    when != e = (T)id
> -    when exists
> -(
> -return 0;
> -|
> -return 1;
> -|
> -return id;
> -|
> -return@p2 ...;
> -)
> -
> -@script:python depends on report@
> -p1 << search.p1;
> -p2 << search.p2;
> -@@
> -
> -msg = "ERROR: missing pci_free_consistent; pci_alloc_consistent on line %s and return without freeing on line %s" % (p1[0].line,p2[0].line)
> -coccilib.report.print_report(p2[0],msg)
> -
> -@script:python depends on org@
> -p1 << search.p1;
> -p2 << search.p2;
> -@@
> -
> -msg = "ERROR: missing pci_free_consistent; pci_alloc_consistent on line %s and return without freeing on line %s" % (p1[0].line,p2[0].line)
> -cocci.print_main(msg,p1)
> -cocci.print_secs("",p2)
> --
> 2.43.0
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.