Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dcd560c8 authored by Catalin Marinas's avatar Catalin Marinas Committed by Samuel Ortiz
Browse files

mfd: vexpress: Allow vexpress-sysreg to self-initialise



The vexpress_sysreg_init() is a core_initcall() already and it can
trigger the early initialisation if a matching node is found. This patch
allows the SoC code to avoid calling vexpress_sysreg_of_early_init()
explicitly.

Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Acked-by: default avatarPawel Moll <pawel.moll@arm.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent e1237932
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -338,14 +338,15 @@ void __init vexpress_sysreg_early_init(void __iomem *base)

void __init vexpress_sysreg_of_early_init(void)
{
	struct device_node *node = of_find_compatible_node(NULL, NULL,
			"arm,vexpress-sysreg");
	struct device_node *node;

	if (vexpress_sysreg_base)
		return;

	node = of_find_compatible_node(NULL, NULL, "arm,vexpress-sysreg");
	if (node) {
		vexpress_sysreg_base = of_iomap(node, 0);
		vexpress_sysreg_setup(node);
	} else {
		pr_info("vexpress-sysreg: No Device Tree node found.");
	}
}

@@ -515,6 +516,7 @@ static struct platform_driver vexpress_sysreg_driver = {

static int __init vexpress_sysreg_init(void)
{
	vexpress_sysreg_of_early_init();
	return platform_driver_register(&vexpress_sysreg_driver);
}
core_initcall(vexpress_sysreg_init);