[GIT PULL 2/3] ARM: tegra: move fuse code out of arch/arm

Pawel Moll pawel.moll at arm.com
Mon Jul 21 09:14:06 PDT 2014


On Mon, 2014-07-21 at 16:54 +0100, Catalin Marinas wrote:
> We have a similar issue with arm64 vexpress (well, just on the model)
> where vexpress_sysreg_init() is a core_initcall (should be fine as
> arch_initcall) as it needs to be done before of_platform_populate().
> Pawel on cc should know more of the history here.

In case of vexpress the trick was to squeeze everything into the device
model. Once this was done, there was enough initcall levels to get all
dependencies sorted. The device model is good. We seemed to have learned
to abuse it claiming that "things must be initialised early", while in 9
out of 10 cases they don't have to be "that early"...

> I recall there were also some discussions about a SoC driver model which
> hangs off the top compatible string in the DT (e.g. "arm,vexpress") and
> allow (minimal) code to be run slightly earlier, though still not
> earlier than arch_initcall.

This was just a loose idea:

http://thread.gmane.org/gmane.linux.ports.arm.kernel/204361/focus=204843

I still like it, and it seems logical to me. We've got a platform. It's
got a compatible string. We can write a driver for this platform that
does all magic at appropriate initcall level.

Paweł





More information about the linux-arm-kernel mailing list