linux-stable-rt/kernel
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
..
irq devres: device resource management 2007-02-09 17:39:36 -05:00
power [APM] Add shared version of APM emulation 2007-02-09 17:08:57 +00:00
time
.gitignore
Kconfig.hz
Kconfig.preempt
Makefile Remove stack unwinder for now 2006-12-15 08:47:51 -08:00
acct.c
audit.c
audit.h
auditfilter.c [PATCH] audit: fix kstrdup() error check 2006-12-22 08:55:49 -08:00
auditsc.c
capability.c
compat.c
configs.c
cpu.c [PATCH] Change cpu_up and co from __devinit to __cpuinit 2007-01-11 18:18:20 -08:00
cpuset.c [PATCH] cpuset procfs warning fix 2006-12-30 10:56:43 -08:00
delayacct.c
dma.c
exec_domain.c
exit.c [PATCH] namespaces: fix task exit disaster 2007-01-30 13:40:36 -08:00
extable.c
fork.c [PATCH] fork_idle() should be __cpuinit, not __devinit 2007-02-01 16:17:06 -08:00
futex.c
futex_compat.c
hrtimer.c
itimer.c
kallsyms.c
kexec.c
kfifo.c
kmod.c
kprobes.c [PATCH] kprobes: replace magic numbers with enum 2007-01-30 16:01:35 -08:00
ksysfs.c
kthread.c
latency.c
lockdep.c [PATCH] lockdep: printk warning fix 2006-12-30 10:56:43 -08:00
lockdep_internals.h
lockdep_proc.c
module.c /sys/modules/*/holders 2007-02-07 10:37:12 -08:00
mutex-debug.c
mutex-debug.h
mutex.c
mutex.h
nsproxy.c Revert "[PATCH] namespaces: fix exit race by splitting exit" 2007-01-30 13:35:18 -08:00
panic.c
params.c /sys/modules/*/holders 2007-02-07 10:37:12 -08:00
pid.c [PATCH] namespaces: fix task exit disaster 2007-01-30 13:40:36 -08:00
posix-cpu-timers.c
posix-timers.c
printk.c [PATCH] make kernel/printk.c:ignore_loglevel_setup() static 2006-12-22 08:55:47 -08:00
profile.c [PATCH] fix "kvm: add vm exit profiling" 2007-01-23 07:52:05 -08:00
ptrace.c
rcupdate.c
rcutorture.c [PATCH] rcu: rcutorture suspend fix 2006-12-30 10:55:55 -08:00
relay.c [PATCH] relay: remove inlining 2006-12-22 08:55:51 -08:00
resource.c devres: device resource management 2007-02-09 17:39:36 -05:00
rtmutex-debug.c
rtmutex-debug.h
rtmutex-tester.c
rtmutex.c
rtmutex.h
rtmutex_common.h
rwsem.c
sched.c [PATCH] sched: tasks cannot run on cpus onlined after boot 2007-01-11 18:18:20 -08:00
seccomp.c
signal.c
softirq.c
softlockup.c
spinlock.c
srcu.c
stacktrace.c
stop_machine.c
sys.c [PATCH] notifiers: fix blocking_notifier_call_chain() scalability 2007-01-23 11:08:03 -08:00
sys_ni.c
sysctl.c
taskstats.c
time.c
timer.c [PATCH] schedule_timeout(): improve warning message 2006-12-22 08:55:49 -08:00
tsacct.c
uid16.c
user.c
utsname.c
wait.c
workqueue.c [PATCH] fix kernel-doc warnings in 2.6.20-rc1 2006-12-22 08:55:47 -08:00