1 /* 2 * Copyright (C) 2010 Google, Inc. 3 * 4 * This software is licensed under the terms of the GNU General Public 5 * License version 2, as published by the Free Software Foundation, and 6 * may be copied, distributed, and modified under those terms. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 */ 13 14 #ifndef __ASM_FIQ_GLUE_H 15 #define __ASM_FIQ_GLUE_H 16 17 struct fiq_glue_handler { 18 void (*fiq)(struct fiq_glue_handler *h, void *regs, void *svc_sp); 19 void (*resume)(struct fiq_glue_handler *h); 20 }; 21 typedef void (*fiq_return_handler_t)(void); 22 23 int fiq_glue_register_handler(struct fiq_glue_handler *handler); 24 int fiq_glue_set_return_handler(fiq_return_handler_t fiq_return); 25 int fiq_glue_clear_return_handler(fiq_return_handler_t fiq_return); 26 27 #ifdef CONFIG_FIQ_GLUE 28 void fiq_glue_resume(void); 29 #else fiq_glue_resume(void)30static inline void fiq_glue_resume(void) {} 31 #endif 32 33 #endif 34