18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Task switching definitions for the Hexagon architecture 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#ifndef _ASM_SWITCH_TO_H 98c2ecf20Sopenharmony_ci#define _ASM_SWITCH_TO_H 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_cistruct thread_struct; 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciextern struct task_struct *__switch_to(struct task_struct *, 148c2ecf20Sopenharmony_ci struct task_struct *, 158c2ecf20Sopenharmony_ci struct task_struct *); 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci#define switch_to(p, n, r) do {\ 188c2ecf20Sopenharmony_ci r = __switch_to((p), (n), (r));\ 198c2ecf20Sopenharmony_ci} while (0) 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci#endif /* _ASM_SWITCH_TO_H */ 22