linux-next: manual merge of the arm64 tree with the arm tree

From: Stephen Rothwell
Date: Mon Jun 14 2021 - 19:20:41 EST


Hi all,

Today's linux-next merge of the arm64 tree got a conflict in:

arch/arm64/kernel/process.c

between commit:

ab6cef1d1447 ("ARM: 9095/1: ARM64: Remove arm_pm_restart()")

from the arm tree and commit:

b5df5b8307b1 ("arm64: idle: don't instrument idle code with KCOV")

from the arm64 tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

--
Cheers,
Stephen Rothwell

diff --cc arch/arm64/kernel/process.c
index 5591725cebcc,161e8df31a0d..000000000000
--- a/arch/arm64/kernel/process.c
+++ b/arch/arm64/kernel/process.c
@@@ -72,63 -71,8 +71,6 @@@ EXPORT_SYMBOL(__stack_chk_guard)
void (*pm_power_off)(void);
EXPORT_SYMBOL_GPL(pm_power_off);

- static void noinstr __cpu_do_idle(void)
- {
- dsb(sy);
- wfi();
- }
-
- static void noinstr __cpu_do_idle_irqprio(void)
- {
- unsigned long pmr;
- unsigned long daif_bits;
-
- daif_bits = read_sysreg(daif);
- write_sysreg(daif_bits | PSR_I_BIT | PSR_F_BIT, daif);
-
- /*
- * Unmask PMR before going idle to make sure interrupts can
- * be raised.
- */
- pmr = gic_read_pmr();
- gic_write_pmr(GIC_PRIO_IRQON | GIC_PRIO_PSR_I_SET);
-
- __cpu_do_idle();
-
- gic_write_pmr(pmr);
- write_sysreg(daif_bits, daif);
- }
-
- /*
- * cpu_do_idle()
- *
- * Idle the processor (wait for interrupt).
- *
- * If the CPU supports priority masking we must do additional work to
- * ensure that interrupts are not masked at the PMR (because the core will
- * not wake up if we block the wake up signal in the interrupt controller).
- */
- void noinstr cpu_do_idle(void)
- {
- if (system_uses_irq_prio_masking())
- __cpu_do_idle_irqprio();
- else
- __cpu_do_idle();
- }
-
- /*
- * This is our default idle handler.
- */
- void noinstr arch_cpu_idle(void)
- {
- /*
- * This should do all the clock switching and wait for interrupt
- * tricks
- */
- cpu_do_idle();
- raw_local_irq_enable();
- }
-void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd);
--
#ifdef CONFIG_HOTPLUG_CPU
void arch_cpu_idle_dead(void)
{

Attachment: pgpc50UyzyURS.pgp
Description: OpenPGP digital signature