Commit 5fb4fde3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'xtensa-20260422' of https://github.com/jcmvbkbc/linux-xtensa

Pull Xtensa updates from Max Filippov:

 - use register_sys_off_handler(SYS_OFF_MODE_RESTART) instead of
   the deprecated register_restart_handler()

 - drop custom ucontext.h and reuse asm-generic ucontext.h

* tag 'xtensa-20260422' of https://github.com/jcmvbkbc/linux-xtensa:
  xtensa: uapi: Reuse asm-generic ucontext.h
  xtensa: xtfpga: Use register_sys_off_handler(SYS_OFF_MODE_RESTART)
  xtensa: xt2000: Use register_sys_off_handler(SYS_OFF_MODE_RESTART)
  xtensa: ISS: Use register_sys_off_handler(SYS_OFF_MODE_RESTART)
parents 9c59b464 aa5903b4
Loading
Loading
Loading
Loading
+0 −22
Original line number Diff line number Diff line
/*
 * include/asm-xtensa/ucontext.h
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 2001 - 2005 Tensilica Inc.
 */

#ifndef _XTENSA_UCONTEXT_H
#define _XTENSA_UCONTEXT_H

struct ucontext {
	unsigned long	  uc_flags;
	struct ucontext  *uc_link;
	stack_t		  uc_stack;
	struct sigcontext uc_mcontext;
	sigset_t	  uc_sigmask;	/* mask last for extensibility */
};

#endif /* _XTENSA_UCONTEXT_H */
+1 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
generated-y += unistd_32.h
generic-y += ucontext.h
+4 −7
Original line number Diff line number Diff line
@@ -32,8 +32,7 @@ static int iss_power_off(struct sys_off_data *unused)
	return NOTIFY_DONE;
}

static int iss_restart(struct notifier_block *this,
		       unsigned long event, void *ptr)
static int iss_restart(struct sys_off_data *unused)
{
	/* Flush and reset the mmu, simulate a processor reset, and
	 * jump to the reset vector. */
@@ -42,10 +41,6 @@ static int iss_restart(struct notifier_block *this,
	return NOTIFY_DONE;
}

static struct notifier_block iss_restart_block = {
	.notifier_call = iss_restart,
};

static int
iss_panic_event(struct notifier_block *this, unsigned long event, void *ptr)
{
@@ -84,7 +79,9 @@ void __init platform_setup(char **p_cmdline)
	}

	atomic_notifier_chain_register(&panic_notifier_list, &iss_panic_block);
	register_restart_handler(&iss_restart_block);
	register_sys_off_handler(SYS_OFF_MODE_RESTART,
				 SYS_OFF_PRIO_PLATFORM,
				 iss_restart, NULL);
	register_sys_off_handler(SYS_OFF_MODE_POWER_OFF,
				 SYS_OFF_PRIO_PLATFORM,
				 iss_power_off, NULL);
+4 −7
Original line number Diff line number Diff line
@@ -50,8 +50,7 @@ static int xt2000_power_off(struct sys_off_data *unused)
	return NOTIFY_DONE;
}

static int xt2000_restart(struct notifier_block *this,
			  unsigned long event, void *ptr)
static int xt2000_restart(struct sys_off_data *unused)
{
	/* Flush and reset the mmu, simulate a processor reset, and
	 * jump to the reset vector. */
@@ -60,10 +59,6 @@ static int xt2000_restart(struct notifier_block *this,
	return NOTIFY_DONE;
}

static struct notifier_block xt2000_restart_block = {
	.notifier_call = xt2000_restart,
};

void __init platform_setup(char** cmdline)
{
	led_print (0, "LINUX   ");
@@ -140,7 +135,9 @@ static int __init xt2000_setup_devinit(void)
	platform_device_register(&xt2000_serial8250_device);
	platform_device_register(&xt2000_sonic_device);
	mod_timer(&heartbeat_timer, jiffies + HZ / 2);
	register_restart_handler(&xt2000_restart_block);
	register_sys_off_handler(SYS_OFF_MODE_RESTART,
				 SYS_OFF_PRIO_PLATFORM,
				 xt2000_restart, NULL);
	register_sys_off_handler(SYS_OFF_MODE_POWER_OFF,
				 SYS_OFF_PRIO_DEFAULT,
				 xt2000_power_off, NULL);
+4 −7
Original line number Diff line number Diff line
@@ -42,8 +42,7 @@ static int xtfpga_power_off(struct sys_off_data *unused)
	return NOTIFY_DONE;
}

static int xtfpga_restart(struct notifier_block *this,
			  unsigned long event, void *ptr)
static int xtfpga_restart(struct sys_off_data *unused)
{
	/* Try software reset first. */
	WRITE_ONCE(*(u32 *)XTFPGA_SWRST_VADDR, 0xdead);
@@ -56,10 +55,6 @@ static int xtfpga_restart(struct notifier_block *this,
	return NOTIFY_DONE;
}

static struct notifier_block xtfpga_restart_block = {
	.notifier_call = xtfpga_restart,
};

#ifdef CONFIG_XTENSA_CALIBRATE_CCOUNT

void __init platform_calibrate_ccount(void)
@@ -71,7 +66,9 @@ void __init platform_calibrate_ccount(void)

static void __init xtfpga_register_handlers(void)
{
	register_restart_handler(&xtfpga_restart_block);
	register_sys_off_handler(SYS_OFF_MODE_RESTART,
				 SYS_OFF_PRIO_PLATFORM,
				 xtfpga_restart, NULL);
	register_sys_off_handler(SYS_OFF_MODE_POWER_OFF,
				 SYS_OFF_PRIO_DEFAULT,
				 xtfpga_power_off, NULL);