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

Commit f71df633 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull arm64 fixes from Catalin Marinas:
 "Fixes for duplicate definition of early_console, kernel/time/Kconfig
  include, __flush_dcache_all() set/way computing, debug (locking, bit
  testing).  The of_platform_populate() was moved to an arch_init_call()
  to allow subsys_init_call() drivers to probe the DT."

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
  arm64: debug: fix mdscr.ss check when enabling debug exceptions
  arm64: Do not source kernel/time/Kconfig explicitly
  arm64: mm: Fix operands of clz in __flush_dcache_all
  arm64: Invoke the of_platform_populate() at arch_initcall() level
  arm64: debug: clear mdscr_el1 instead of taking the OS lock
  arm64: Fix duplicate definition of early_console
parents 8f710dd3 3126976b
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -122,8 +122,6 @@ endmenu


menu "Kernel Features"
menu "Kernel Features"


source "kernel/time/Kconfig"

config ARM64_64K_PAGES
config ARM64_64K_PAGES
	bool "Enable 64KB pages support"
	bool "Enable 64KB pages support"
	help
	help
+1 −1
Original line number Original line Diff line number Diff line
@@ -82,7 +82,7 @@


	.macro	enable_dbg_if_not_stepping, tmp
	.macro	enable_dbg_if_not_stepping, tmp
	mrs	\tmp, mdscr_el1
	mrs	\tmp, mdscr_el1
	tbnz	\tmp, #1, 9990f
	tbnz	\tmp, #0, 9990f
	enable_dbg
	enable_dbg
9990:
9990:
	.endm
	.endm
+0 −2
Original line number Original line Diff line number Diff line
@@ -136,8 +136,6 @@ void disable_debug_monitors(enum debug_el el)
 */
 */
static void clear_os_lock(void *unused)
static void clear_os_lock(void *unused)
{
{
	asm volatile("msr mdscr_el1, %0" : : "r" (0));
	isb();
	asm volatile("msr oslar_el1, %0" : : "r" (0));
	asm volatile("msr oslar_el1, %0" : : "r" (0));
	isb();
	isb();
}
}
+3 −2
Original line number Original line Diff line number Diff line
@@ -95,7 +95,7 @@ static void early_write(struct console *con, const char *s, unsigned n)
	}
	}
}
}


static struct console early_console = {
static struct console early_console_dev = {
	.name =		"earlycon",
	.name =		"earlycon",
	.write =	early_write,
	.write =	early_write,
	.flags =	CON_PRINTBUFFER | CON_BOOT,
	.flags =	CON_PRINTBUFFER | CON_BOOT,
@@ -145,7 +145,8 @@ static int __init setup_early_printk(char *buf)
		early_base = early_io_map(paddr, EARLYCON_IOBASE);
		early_base = early_io_map(paddr, EARLYCON_IOBASE);


	printch = match->printch;
	printch = match->printch;
	register_console(&early_console);
	early_console = &early_console_dev;
	register_console(&early_console_dev);


	return 0;
	return 0;
}
}
+3 −9
Original line number Original line Diff line number Diff line
@@ -282,12 +282,13 @@ void __init setup_arch(char **cmdline_p)
#endif
#endif
}
}


static int __init arm64_of_clk_init(void)
static int __init arm64_device_init(void)
{
{
	of_clk_init(NULL);
	of_clk_init(NULL);
	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
	return 0;
	return 0;
}
}
arch_initcall(arm64_of_clk_init);
arch_initcall(arm64_device_init);


static DEFINE_PER_CPU(struct cpu, cpu_data);
static DEFINE_PER_CPU(struct cpu, cpu_data);


@@ -305,13 +306,6 @@ static int __init topology_init(void)
}
}
subsys_initcall(topology_init);
subsys_initcall(topology_init);


static int __init arm64_device_probe(void)
{
	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
	return 0;
}
device_initcall(arm64_device_probe);

static const char *hwcap_str[] = {
static const char *hwcap_str[] = {
	"fp",
	"fp",
	"asimd",
	"asimd",
Loading