1*cd1aebf5SMark Rutland /* 2*cd1aebf5SMark Rutland * Copyright (C) 2013 ARM Ltd. 3*cd1aebf5SMark Rutland * 4*cd1aebf5SMark Rutland * This program is free software; you can redistribute it and/or modify 5*cd1aebf5SMark Rutland * it under the terms of the GNU General Public License version 2 as 6*cd1aebf5SMark Rutland * published by the Free Software Foundation. 7*cd1aebf5SMark Rutland * 8*cd1aebf5SMark Rutland * This program is distributed in the hope that it will be useful, 9*cd1aebf5SMark Rutland * but WITHOUT ANY WARRANTY; without even the implied warranty of 10*cd1aebf5SMark Rutland * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11*cd1aebf5SMark Rutland * GNU General Public License for more details. 12*cd1aebf5SMark Rutland * 13*cd1aebf5SMark Rutland * You should have received a copy of the GNU General Public License 14*cd1aebf5SMark Rutland * along with this program. If not, see <http://www.gnu.org/licenses/>. 15*cd1aebf5SMark Rutland */ 16*cd1aebf5SMark Rutland #ifndef __ASM_CPU_OPS_H 17*cd1aebf5SMark Rutland #define __ASM_CPU_OPS_H 18*cd1aebf5SMark Rutland 19*cd1aebf5SMark Rutland #include <linux/init.h> 20*cd1aebf5SMark Rutland #include <linux/threads.h> 21*cd1aebf5SMark Rutland 22*cd1aebf5SMark Rutland struct device_node; 23*cd1aebf5SMark Rutland 24*cd1aebf5SMark Rutland struct cpu_operations { 25*cd1aebf5SMark Rutland const char *name; 26*cd1aebf5SMark Rutland int (*cpu_init)(struct device_node *, unsigned int); 27*cd1aebf5SMark Rutland int (*cpu_prepare)(unsigned int); 28*cd1aebf5SMark Rutland }; 29*cd1aebf5SMark Rutland 30*cd1aebf5SMark Rutland extern const struct cpu_operations *cpu_ops[NR_CPUS]; 31*cd1aebf5SMark Rutland extern const struct cpu_operations * __init cpu_get_ops(const char *name); 32*cd1aebf5SMark Rutland 33*cd1aebf5SMark Rutland #endif /* ifndef __ASM_CPU_OPS_H */ 34