User: Password:
Subscribe / Log in / New account

Replace pci_pool with generic dma_pool

From:  Deepak Saxena <>
Subject:  [PATCH] Replace pci_pool with generic dma_pool
Date:  Fri, 30 Jan 2004 17:32:05 -0700


This set of patches against 2.6.2-rc2 removes the PCI-specific pci_pool 
structure and replaces it with a generic dma_pool. For compatibility with 
existing PCI drivers, macros are provided that map pci_pool_* to dma_pool_*.
This is extremely useful for architecture that have non-PCI devices but 
require DMA buffer pools. A good example is USB, where we've had to make
some hacks in the ARM implementation of the DMA API to get around the
USB's usage of the PCI DMA API and pci_pools with non-PCI device.
The patch has been tested on x86, ppc, and xscale (ARM).

Patch portions are posted as replies to this email.

If this patch is accepted, I'll post a follow-on patch to the USB list 
to clean up the USB layer to only use the generic DMA functions instead 
of the PCI functions.



 linux/drivers/base/Makefile   |    2 
 linux/drivers/base/core.c     |    1 
 linux/drivers/base/dmapool.c  |  409 ++++++++++++++++++++++++++++++++++++++++++++++
 linux/drivers/pci/Makefile    |    2 
 linux/drivers/pci/probe.c     |    2 
 linux/include/linux/device.h  |    1 
 linux/include/linux/dmapool.h |   27 +++
 linux/include/linux/pci.h     |   14 -
 linux/drivers/pci/pool.c      |  404 ---------------------------------------------
 9 files changed, 448 insertions(+), 414 deletions(-)

Deepak Saxena -
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds