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
[PATCH] clocksource: small cleanup
2006-12-10 09:57:22 -08:00
.gitignore
acct.c
[PATCH] kernel: change uses of f_{dentry, vfsmnt} to use f_path
2006-12-08 08:28:42 -08:00
audit.c
[PATCH] Add include/linux/freezer.h and move definitions from sched.h
2006-12-07 08:39:27 -08:00
audit.h
auditfilter.c
[PATCH] audit: fix kstrdup() error check
2006-12-22 08:55:49 -08:00
auditsc.c
[PATCH] struct path: convert kernel
2006-12-08 08:28:46 -08:00
capability.c
compat.c
[PATCH] Create compat_sys_migrate_pages
2006-11-03 12:27:59 -08:00
configs.c
[PATCH] struct seq_operations and struct file_operations constification
2006-12-07 08:39:46 -08:00
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
[PATCH] slab: remove kmem_cache_t
2006-12-07 08:39:25 -08:00
dma.c
[PATCH] struct seq_operations and struct file_operations constification
2006-12-07 08:39:46 -08:00
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
[PATCH] kernel: change uses of f_{dentry, vfsmnt} to use f_path
2006-12-08 08:28:42 -08:00
futex_compat.c
hrtimer.c
itimer.c
kallsyms.c
[PATCH] move kallsyms data to .rodata
2006-12-08 08:28:37 -08:00
Kconfig.hz
[PATCH] HZ: 300Hz support
2006-12-07 08:39:36 -08:00
Kconfig.preempt
kexec.c
Merge branch 'release' of master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6
2006-12-07 15:39:22 -08:00
kfifo.c
kmod.c
[PATCH] rename struct namespace to struct mnt_namespace
2006-12-08 08:28:51 -08:00
kprobes.c
[PATCH] kprobes: replace magic numbers with enum
2007-01-30 16:01:35 -08:00
ksysfs.c
kthread.c
WorkStruct: Pass the work_struct pointer instead of context data
2006-11-22 14:55:48 +00:00
latency.c
[PATCH] severing module.h->sched.h
2006-12-04 02:00:22 -05:00
lockdep.c
[PATCH] lockdep: printk warning fix
2006-12-30 10:56:43 -08:00
lockdep_internals.h
[PATCH] lockdep: more chains
2006-12-07 08:39:43 -08:00
lockdep_proc.c
[PATCH] struct seq_operations and struct file_operations constification
2006-12-07 08:39:46 -08:00
Makefile
Remove stack unwinder for now
2006-12-15 08:47:51 -08:00
module.c
/sys/modules/*/holders
2007-02-07 10:37:12 -08:00
mutex-debug.c
[PATCH] lockdep: show more details about self-test failures
2006-12-07 08:39:43 -08:00
mutex-debug.h
mutex.c
[PATCH] lockdep: avoid lockdep warning in md
2006-12-08 08:28:39 -08:00
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
[PATCH] slab: remove kmem_cache_t
2006-12-07 08:39:25 -08:00
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
[PATCH] rcu: add a prefetch() in rcu_do_batch()
2006-12-07 08:39:40 -08:00
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
[PATCH] Add include/linux/freezer.h and move definitions from sched.h
2006-12-07 08:39:27 -08:00
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
[PATCH] PM: Fix freezing of stopped tasks
2006-12-13 09:05:49 -08:00
softirq.c
[PATCH] softirq: remove BUG_ONs which can incorrectly trigger
2006-12-07 08:39:43 -08:00
softlockup.c
spinlock.c
[PATCH] lockdep: spin_lock_irqsave_nested()
2006-11-25 13:28:34 -08:00
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
[PATCH] Create compat_sys_migrate_pages
2006-11-03 12:27:59 -08:00
sysctl.c
[PATCH] debug: add sysrq_always_enabled boot option
2006-12-13 09:05:50 -08:00
taskstats.c
[PATCH] taskstats: cleanup reply assembling
2006-12-07 08:39:34 -08:00
time.c
timer.c
[PATCH] schedule_timeout(): improve warning message
2006-12-22 08:55:49 -08:00
tsacct.c
[PATCH] io-accounting: via taskstats
2006-12-10 09:55:41 -08:00
uid16.c
user.c
[PATCH] slab: remove kmem_cache_t
2006-12-07 08:39:25 -08:00
utsname.c
wait.c
workqueue.c
[PATCH] fix kernel-doc warnings in 2.6.20-rc1
2006-12-22 08:55:47 -08:00