linux/drivers/base
David Brownell c67334fbdf Driver core: platform_driver_probe(), can save codespace
This defines a new platform_driver_probe() method allowing the driver's
probe() method, and its support code+data, to safely live in __init
sections for typical system configurations.

Many system-on-chip processors could benefit from this API, to the tune
of recovering hundreds to thousands of bytes per driver.  That's memory
which is currently wasted holding code which can never be called after
system startup, yet can not be removed.   It can't be removed because of
the linkage requirement that pointers to init section code (like, ideally,
probe support) must not live in other sections (like driver method tables)
after those pointers would be invalid.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-12-01 14:52:02 -08:00
..
power Driver core: fix comments in drivers/base/power/resume.c 2006-09-25 21:08:39 -07:00
Kconfig [PATCH] move SYS_HYPERVISOR inside the Generic Driver menu 2006-10-28 11:30:55 -07:00
Makefile [PATCH] hot-add-mem x86_64: use CONFIG_MEMORY_HOTPLUG_SPARSE 2006-10-01 00:39:18 -07:00
attribute_container.c [PATCH] Driver Core: remove unused exports 2006-06-21 12:40:48 -07:00
base.h drivers/base: check errors 2006-09-25 21:08:39 -07:00
bus.c CONFIG_SYSFS_DEPRECATED - bus symlinks 2006-12-01 14:51:58 -08:00
class.c CONFIG_SYSFS_DEPRECATED - class symlinks 2006-12-01 14:51:59 -08:00
core.c driver core: Use klist_remove() in device_move() 2006-12-01 14:52:02 -08:00
cpu.c [PATCH] sched: mc/smt power savings sched policy 2006-06-27 17:32:45 -07:00
dd.c Driver core: fix "driver" symlink timing 2006-12-01 14:51:58 -08:00
dmapool.c driver core fixes: device_create_file() retval check in dmapool.c 2006-10-18 12:49:55 -07:00
driver.c Driver core: Remove unneeded routines from driver core 2006-09-25 21:08:40 -07:00
firmware.c [PATCH] drivers/base - fix sparse warnings 2005-10-28 09:52:55 -07:00
firmware_class.c Driver core: convert firmware code to use struct device 2006-12-01 14:52:00 -08:00
hypervisor.c [S390] hypfs comment cleanup. 2006-09-20 15:58:44 +02:00
init.c [PATCH] Driver Core: Add /sys/hypervisor when needed 2006-06-21 12:40:48 -07:00
isa.c [PATCH] Driver model: add ISA bus 2006-06-21 12:40:49 -07:00
map.c [PATCH] kobj_map semaphore to mutex conversion 2006-03-20 13:42:58 -08:00
memory.c [PATCH] pgdat allocation for new node add (specify node id) 2006-06-27 17:32:35 -07:00
node.c [PATCH] ZVC: Support NR_SLAB_RECLAIMABLE / NR_SLAB_UNRECLAIMABLE 2006-09-26 08:48:51 -07:00
platform.c Driver core: platform_driver_probe(), can save codespace 2006-12-01 14:52:02 -08:00
sys.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
topology.c cpu topology: consider sysfs_create_group return value 2006-12-01 14:52:01 -08:00
transport_class.c [SCSI] fix transport class corner case after rework 2005-08-28 11:14:06 -05:00