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

Commit d761f0c5 authored by Michal Simek's avatar Michal Simek
Browse files

microblaze: Add topology init



Init topology subsystem by cpu registration.

Microblaze Linux kernel is fauling by
"Oops: kernel access of bad area, sig: 11"
because cpu is not initialized.

Signed-off-by: default avatarMichal Simek <monstr@monstr.eu>
parent e343a895
Loading
Loading
Loading
Loading
+20 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include <linux/cache.h>
#include <linux/of_platform.h>
#include <linux/dma-mapping.h>
#include <linux/cpu.h>
#include <asm/cacheflush.h>
#include <asm/entry.h>
#include <asm/cpuinfo.h>
@@ -226,5 +227,23 @@ static int __init setup_bus_notifier(void)

	return 0;
}

arch_initcall(setup_bus_notifier);

static DEFINE_PER_CPU(struct cpu, cpu_devices);

static int __init topology_init(void)
{
	int i, ret;

	for_each_present_cpu(i) {
		struct cpu *c = &per_cpu(cpu_devices, i);

		ret = register_cpu(c, i);
		if (ret)
			printk(KERN_WARNING "topology_init: register_cpu %d "
						"failed (%d)\n", i, ret);
	}

	return 0;
}
subsys_initcall(topology_init);