On Tue, Jan 24, 2017 at 9:19 PM, Chris Brandt <Chris.Brandt@xxxxxxxxxxx> wrote: > On Tuesday, January 24, 2017, Daniel Lezcano wrote: >> > > > +early_platform_init("earlytimer", &ostm_timer); >> > > > +subsys_initcall(ostm_init); module_exit(ostm_exit); >> > > > + >> > > > +MODULE_AUTHOR("Chris Brandt"); >> > > > +MODULE_DESCRIPTION("Renesas OSTM Timer Driver"); >> > > > +MODULE_LICENSE("GPL v2"); >> > > >> > > Maybe you can try with builtin_platform ? >> > >> > Good idea. But, now I get a "Section mismatch" during link time so >> > I'll have to figure out why that is. >> >> Mmh, I think it would be more consistent to convert this to: >> >> CLOCKSOURCE_OF_DECLARE(ostm, "renesas,ostm", ostm_init); >> >> The only problem is to get the struct device associated to the of_node >> passed as parameter to ostm_init in order to use the devm_* API. >> >> I think of_find_device_by_node should return the platform_device, then >> pdev->dev. If that works the other drivers will benefit from that to >> pdev->remove all >> the rollback code everywhere. > > It was a good idea....but it will not work. > > While CLOCKSOURCE_OF_DECLARE is good at putting the driver at the > front of the line for loading, it's too early in boot to detect > a platform_device. That's correct. All those *_OF_DECLARE() style initializations start to break as soon as power and/or clock domains are involved. That's one reason why some subsystems (e.g. clock) are moving away from it. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html