On Wed, Jan 23, 2019 at 02:25:53PM -0300, Paul Cercueil wrote: > Hi, > > Le mer. 23 janv. 2019 à 11:31, Guenter Roeck <linux@xxxxxxxxxxxx> a écrit : > >On 1/23/19 4:58 AM, Mathieu Malaterre wrote: > >>On Wed, Dec 12, 2018 at 11:09 PM Paul Cercueil <paul@xxxxxxxxxxxxxxx> > >>wrote: > >>> > >>>From: Maarten ter Huurne <maarten@xxxxxxxxxxxxxx> > >>> > >>>OST is the OS Timer, a 64-bit timer/counter with buffered reading. > >>> > >>>SoCs before the JZ4770 had (if any) a 32-bit OST; the JZ4770 and > >>>JZ4780 have a 64-bit OST. > >>> > >>>This driver will register both a clocksource and a sched_clock to the > >>>system. > >>> > >>>Signed-off-by: Maarten ter Huurne <maarten@xxxxxxxxxxxxxx> > >>>Signed-off-by: Paul Cercueil <paul@xxxxxxxxxxxxxxx> > >>>--- > >>> > >>>Notes: > >>> v5: New patch > >>> > >>> v6: - Get rid of SoC IDs; pass pointer to ingenic_ost_soc_info > >>>as > >>> devicetree match data instead. > >>> - Use device_get_match_data() instead of the of_* variant > >>> - Handle error of dev_get_regmap() properly > >>> > >>> v7: Fix section mismatch by using > >>>builtin_platform_driver_probe() > >>> > >>> v8: builtin_platform_driver_probe() does not work anymore in > >>> 4.20-rc6? The probe function won't be called. Work around > >>>this > >>> for now by using late_initcall. > >>> > > > >Did anyone notice this ? Either something is wrong with the driver, or > >with the kernel core. Hacking around it seems like the worst possible > >"solution". > > I can confirm it still happens on 5.0-rc3. > > Just to explain what I'm doing: > > My ingenic-timer driver probes with builtin_platform_driver_probe (this > works), > and then calls of_platform_populate to probe its children. This driver, > ingenic-ost, is one of them, and will fail to probe with > builtin_platform_driver_probe. > The big question is _why_ it fails to probe. Guenter