linux/drivers/base
Geert Uytterhoeven 1da1b3628d base: soc: Early register bus when needed
If soc_device_register() is called before soc_bus_register(), it crashes
with a NULL pointer dereference.

soc_bus_register() is already a core_initcall(), but drivers/base/ is
entered later than e.g. drivers/pinctrl/ and drivers/soc/. Hence there
are several subsystems that may need to know SoC revision information,
while it's not so easy to initialize the SoC bus even earlier using an
initcall.

To fix this, let soc_device_register() register the bus early if that
hasn't happened yet.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2016-11-10 10:10:25 +01:00
..
power Merge branches 'pm-cpuidle', 'pm-opp' and 'pm-avs' 2016-10-02 01:43:16 +02:00
regmap Merge remote-tracking branches 'regmap/topic/core' and 'regmap/topic/debugfs' into regmap-next 2016-10-04 05:17:12 +02:00
attribute_container.c attribute_container: Fix typo 2016-08-31 15:13:56 +02:00
base.h PM / sleep: prohibit devices probing during suspend/hibernation 2015-11-30 14:47:22 +01:00
bus.c driver core: bus: use to_subsys_private and to_device_private_bus 2016-02-09 17:25:27 -08:00
cacheinfo.c cpu/cacheinfo: Fix teardown path 2015-09-17 06:06:54 -07:00
class.c class_find_device: fix reference to argument "match" 2015-09-29 15:23:14 +02:00
component.c Merge 4.5-rc4 into driver-core-next 2016-02-14 14:29:55 -08:00
container.c
core.c Driver core patches for 4.9-rc1 2016-10-03 20:03:24 -07:00
cpu.c cpu: clean up register_cpu func 2016-08-31 15:19:55 +02:00
dd.c device core: Remove deprecated create_singlethread_workqueue 2016-09-02 15:08:02 +02:00
devcoredump.c devcoredump: add scatterlist support 2016-04-15 11:20:32 -07:00
devres.c devm: make allocations numa aware by default 2015-10-09 17:00:33 -04:00
devtmpfs.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
dma-coherent.c drivers: dma-coherent: Move spinlock in dma_alloc_from_coherent() 2016-09-28 17:53:16 +02:00
dma-contiguous.c driver core update for 4.4-rc1 2015-11-04 21:50:37 -08:00
dma-mapping.c drivers/base dmam_declare_coherent_memory leaks 2016-08-31 15:19:55 +02:00
driver.c
firmware_class.c firmware: support loading into a pre-allocated buffer 2016-08-02 19:35:10 -04:00
firmware.c
hypervisor.c
init.c
isa.c isa: Call isa_bus_init before dependent ISA bus drivers register 2016-06-17 20:47:11 -07:00
Kconfig driver core: add test of driver remove calls during probe 2016-08-31 15:13:55 +02:00
Makefile isa: Allow ISA-style drivers on modern systems 2016-06-17 20:21:12 -07:00
map.c
memory.c memory-hotplug: fix store_mem_state() return value 2016-10-07 18:46:28 -07:00
module.c base: make module_create_drivers_dir race-free 2016-06-15 19:21:31 -07:00
node.c treewide: replace obsolete _refok by __ref 2016-08-02 17:31:41 -04:00
pinctrl.c driver: base: pinctrl: return error from pinctrl_bind_pins() 2016-09-13 23:02:59 +02:00
platform-msi.c genirq/msi: Add cpumask allocation to alloc_msi_entry 2016-09-14 22:11:08 +02:00
platform.c driver-core: platform: Catch errors from calls to irq_get_irq_data 2016-09-27 12:30:37 +02:00
property.c device property: Add function to search for named child of device 2016-06-26 12:39:03 +01:00
soc.c base: soc: Early register bus when needed 2016-11-10 10:10:25 +01:00
syscore.c
topology.c topology/sysfs: provide drawer id and siblings attributes 2016-06-13 15:58:27 +02:00
transport_class.c