1
linux/include
Tejun Heo 9ac7849e35 devres: device resource management
Implement device resource management, in short, devres.  A device
driver can allocate arbirary size of devres data which is associated
with a release function.  On driver detach, release function is
invoked on the devres data, then, devres data is freed.

devreses are typed by associated release functions.  Some devreses are
better represented by single instance of the type while others need
multiple instances sharing the same release function.  Both usages are
supported.

devreses can be grouped using devres group such that a device driver
can easily release acquired resources halfway through initialization
or selectively release resources (e.g. resources for port 1 out of 4
ports).

This patch adds devres core including documentation and the following
managed interfaces.

* alloc/free	: devm_kzalloc(), devm_kzfree()
* IO region	: devm_request_region(), devm_release_region()
* IRQ		: devm_request_irq(), devm_free_irq()
* DMA		: dmam_alloc_coherent(), dmam_free_coherent(),
		  dmam_declare_coherent_memory(), dmam_pool_create(),
		  dmam_pool_destroy()
* PCI		: pcim_enable_device(), pcim_pin_device(), pci_is_managed()
* iomap		: devm_ioport_map(), devm_ioport_unmap(), devm_ioremap(),
		  devm_ioremap_nocache(), devm_iounmap(), pcim_iomap_table(),
		  pcim_iomap(), pcim_iounmap()

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-02-09 17:39:36 -05:00
..
acpi Pull sysfs into test branch 2007-02-03 01:14:35 -05:00
asm-alpha [PATCH] kill eth_io_copy_and_sum() 2007-02-09 09:14:07 -08:00
asm-arm Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-apm 2007-02-09 09:44:28 -08:00
asm-arm26
asm-avr32 [AVR32] ssize_t should be long, not int 2007-02-09 15:01:59 +01:00
asm-cris [PATCH] kill eth_io_copy_and_sum() 2007-02-09 09:14:07 -08:00
asm-frv [PATCH] fix frv headers_check 2007-02-01 16:17:05 -08:00
asm-generic Fix Maple PATA IRQ assignment. 2007-01-26 17:27:40 -05:00
asm-h8300
asm-i386 [PATCH] kill eth_io_copy_and_sum() 2007-02-09 09:14:07 -08:00
asm-ia64 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-02-07 19:23:44 -08:00
asm-m32r
asm-m68k [PATCH] m68k: uaccess.h needs sched.h 2007-01-30 08:26:45 -08:00
asm-m68knommu [PATCH] m68knommu: removed include of system.h from bitops 2007-02-09 10:45:33 -08:00
asm-mips Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-apm 2007-02-09 09:44:28 -08:00
asm-parisc [PATCH] kill eth_io_copy_and_sum() 2007-02-09 09:14:07 -08:00
asm-powerpc [POWERPC] Add mpc52xx/lite5200 PCI support 2007-02-08 15:29:22 +11:00
asm-ppc [PATCH] kill eth_io_copy_and_sum() 2007-02-09 09:14:07 -08:00
asm-s390 [S390] Mark kernel text section read-only. 2007-02-05 21:18:41 +01:00
asm-sh [APM] SH: Convert to use shared APM emulation. 2007-02-09 17:08:58 +00:00
asm-sh64
asm-sparc [SPARC32]: Fix over-optimization by GCC near ip_fast_csum. 2007-02-01 20:24:35 -08:00
asm-sparc64
asm-um [PATCH] uml-i386: fix build breakage with CONFIG_HIGHMEM 2007-02-01 16:17:06 -08:00
asm-v850
asm-x86_64 [PATCH] x86_64 ia32 vDSO: use install_special_mapping 2007-02-09 09:25:47 -08:00
asm-xtensa [PATCH] FD_ZERO build fix 2007-01-11 18:18:22 -08:00
crypto [CRYPTO] api: Allow multiple frontends per backend 2007-02-07 09:21:01 +11:00
keys
linux devres: device resource management 2007-02-09 17:39:36 -05:00
math-emu
media
mtd
net [NET]: change layout of ehash table 2007-02-08 14:16:46 -08:00
pcmcia Driver core: convert pcmcia code to use struct device 2007-02-07 10:37:11 -08:00
rdma IB: Make sure struct ib_user_mad.data is aligned 2007-02-04 14:11:56 -08:00
rxrpc
scsi [PATCH] iscsi endianness annotations 2007-02-09 09:14:07 -08:00
sound [PATCH] Fix breakage with CONFIG_SYSFS_DEPRECATED 2007-02-09 16:25:48 +01:00
video
Kbuild