arm64: Platform devices populated from a device_initcall

Benoit Lecardonnel Benoit.Lecardonnel at
Mon May 13 12:20:55 EDT 2013

Hi all,

In the arm64 kernel, function arm64_device_probe 
(arch/arm64/kernel/setup.c) is in charge of populating the platform 
devices defined by the device tree.

Does anyone know why arm64_device_probe is a device_initcall?

This seems to be in conflict with some I2C drivers: see 
drivers/i2c/busses/i2c-designware-platdrv.c for example.
The driver calls platform_driver_probe from a subsys_initcall.
The probe fails because subsys_initcalls are executed before 

Maybe arm64_device_probe could be an arch_initcall?

Benoit Lecardonnel

More information about the linux-arm-kernel mailing list