SoC device attributes are registered with a call to
soc_device_register() from the machine .init_late() operation, which is
called from the late initcall, after all drivers built-in drivers have
been probed. This results in the impossibility for drivers to use SoC
device matching in their probe function.
The omap_soc_device_init() function is safe to call from the machine
.init() operation, as all data it depends on is initialized from the
.init_early() operation. Move SoC device attribute registration to
machine .init() like on all other ARM platforms.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
        pdata_quirks_init(omap_dt_match_table);
 
        omapdss_init_of();
+       omap_soc_device_init();
 }
 
 #ifdef CONFIG_SOC_OMAP2420
 
 static void __init __maybe_unused omap_common_late_init(void)
 {
        omap2_common_pm_late_init();
-       omap_soc_device_init();
 }
 
 #ifdef CONFIG_SOC_OMAP2420