linux/drivers/base
Paul Mundt a636ee7fb3 driver core: Early dev_name() support.
Presently early platform devices suffer from the fact they are unable to
use dev_xxx() calls early on due to dev_name() and others being
unavailable at the time ->probe() is called.

This implements early init_name construction from the matched name/id
pair following the semantics of the late device/driver match. As a
result, matched IDs (inclusive of requested ones) are preserved when the
handoff from the early platform code happens at kobject initialization
time.

Since we still require kmalloc slabs to be available at this point, using
kstrdup() for establishing the init_name works fine. This subsequently
needs to be tested from dev_name() prior to the init_name being cleared
by the driver core. We don't kfree() since others will already have a
handle on the string long before the kobject initialization takes place.

This is also needed to permit drivers to use the clock framework early,
without having to manually construct their own device IDs from the match
id/name pair locally (needed by the early console and timer code on sh
and arm).

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-03-10 13:08:32 +09:00
..
power Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
attribute_container.c driver core: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:31 -08:00
base.h Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev 2009-09-15 09:50:49 -07:00
bus.c Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
class.c Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
core.c driver core: Use sysfs_rename_link in device_rename 2010-03-07 17:04:52 -08:00
cpu.c sysdev: fix up the probe/release attributes 2010-03-07 17:04:49 -08:00
dd.c Driver core: create lock/unlock functions for struct device 2010-03-07 17:04:52 -08:00
devres.c devres: WARN() and return, don't crash on device_del() of uninitialized device 2009-07-12 13:02:09 -07:00
devtmpfs.c Driver-Core: devtmpfs - reset inode permissions before unlinking 2010-03-07 17:04:48 -08:00
dma-coherent.c driver-core: move dma-coherent.c from kernel to driver/base 2009-09-15 09:50:47 -07:00
dma-mapping.c devres: device resource management 2007-02-09 17:39:36 -05:00
driver.c Driver core: driver_attribute parameters can often be const* 2009-12-23 11:23:43 -08:00
firmware_class.c Driver core: Fix first line of kernel-doc for a few functions 2010-03-07 17:04:51 -08:00
firmware.c firmware: change firmware_kset to firmware_kobj 2008-01-24 20:40:23 -08:00
hypervisor.c kobject: convert /sys/hypervisor to use kobject_create 2008-01-24 20:40:15 -08:00
init.c Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev 2009-09-15 09:50:49 -07:00
iommu.c drivers/base/iommu.c: add missing includes 2009-05-06 16:36:10 -07:00
isa.c dma-mapping: replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24) 2009-04-07 08:31:12 -07:00
Kconfig Driver-Core: disable /sbin/hotplug by default 2010-03-07 17:04:48 -08:00
Makefile Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev 2009-09-15 09:50:49 -07:00
map.c [PATCH] kobj_map semaphore to mutex conversion 2006-03-20 13:42:58 -08:00
memory.c kobject: Constify struct kset_uevent_ops 2010-03-07 17:04:49 -08:00
module.c Driver core: move the static kobject out of struct driver 2008-01-24 20:40:35 -08:00
node.c sysdev: Use sysdev_class attribute arrays in node driver 2010-03-07 17:04:47 -08:00
platform.c driver core: Early dev_name() support. 2010-03-10 13:08:32 +09:00
sys.c Driver core: Constify struct sysfs_ops in struct kobj_type 2010-03-07 17:04:49 -08:00
topology.c cpumask: Use topology_core_cpumask()/topology_thread_cpumask() 2009-01-11 19:12:49 +01:00
transport_class.c SCSI: convert struct class_device to struct device 2008-04-19 19:10:33 -07:00