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

Commit 7d065659 authored by Sebastian Hesselbarth's avatar Sebastian Hesselbarth Committed by Russell King
Browse files

ARM: 8039/1: pj4: enable iWMMXt only if CONFIG_IWMMXT is set



This fixes PJ4 coprocessor init to only expose iWMMXt capabilities,
if the corresponding kernel support for iWMMXt is enabled.

Signed-off-by: default avatarSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Tested-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: default avatarKevin Hilman <khilman@linaro.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent c2f07fe6
Loading
Loading
Loading
Loading
+6 −2
Original line number Original line Diff line number Diff line
@@ -45,7 +45,7 @@ static int iwmmxt_do(struct notifier_block *self, unsigned long cmd, void *t)
	return NOTIFY_DONE;
	return NOTIFY_DONE;
}
}


static struct notifier_block iwmmxt_notifier_block = {
static struct notifier_block __maybe_unused iwmmxt_notifier_block = {
	.notifier_call	= iwmmxt_do,
	.notifier_call	= iwmmxt_do,
};
};


@@ -79,17 +79,21 @@ static void __init pj4_cp_access_write(u32 value)
 */
 */
static int __init pj4_cp0_init(void)
static int __init pj4_cp0_init(void)
{
{
	u32 cp_access;
	u32 __maybe_unused cp_access;


	if (!cpu_is_pj4())
	if (!cpu_is_pj4())
		return 0;
		return 0;


#ifndef CONFIG_IWMMXT
	pr_info("PJ4 iWMMXt coprocessor detected, but kernel support is missing.\n");
#else
	cp_access = pj4_cp_access_read() & ~0xf;
	cp_access = pj4_cp_access_read() & ~0xf;
	pj4_cp_access_write(cp_access);
	pj4_cp_access_write(cp_access);


	printk(KERN_INFO "PJ4 iWMMXt coprocessor enabled.\n");
	printk(KERN_INFO "PJ4 iWMMXt coprocessor enabled.\n");
	elf_hwcap |= HWCAP_IWMMXT;
	elf_hwcap |= HWCAP_IWMMXT;
	thread_register_notifier(&iwmmxt_notifier_block);
	thread_register_notifier(&iwmmxt_notifier_block);
#endif


	return 0;
	return 0;
}
}