root/arch/arm/include/asm/fiq.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. set_fiq_regs
  2. get_fiq_regs

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  *  arch/arm/include/asm/fiq.h
   4  *
   5  * Support for FIQ on ARM architectures.
   6  * Written by Philip Blundell <philb@gnu.org>, 1998
   7  * Re-written by Russell King
   8  *
   9  * NOTE: The FIQ mode registers are not magically preserved across
  10  * suspend/resume.
  11  *
  12  * Drivers which require these registers to be preserved across power
  13  * management operations must implement appropriate suspend/resume handlers to
  14  * save and restore them.
  15  */
  16 
  17 #ifndef __ASM_FIQ_H
  18 #define __ASM_FIQ_H
  19 
  20 #include <asm/ptrace.h>
  21 
  22 struct fiq_handler {
  23         struct fiq_handler *next;
  24         /* Name
  25          */
  26         const char *name;
  27         /* Called to ask driver to relinquish/
  28          * reacquire FIQ
  29          * return zero to accept, or -<errno>
  30          */
  31         int (*fiq_op)(void *, int relinquish);
  32         /* data for the relinquish/reacquire functions
  33          */
  34         void *dev_id;
  35 };
  36 
  37 extern int claim_fiq(struct fiq_handler *f);
  38 extern void release_fiq(struct fiq_handler *f);
  39 extern void set_fiq_handler(void *start, unsigned int length);
  40 extern void enable_fiq(int fiq);
  41 extern void disable_fiq(int fiq);
  42 
  43 /* helpers defined in fiqasm.S: */
  44 extern void __set_fiq_regs(unsigned long const *regs);
  45 extern void __get_fiq_regs(unsigned long *regs);
  46 
  47 static inline void set_fiq_regs(struct pt_regs const *regs)
  48 {
  49         __set_fiq_regs(&regs->ARM_r8);
  50 }
  51 
  52 static inline void get_fiq_regs(struct pt_regs *regs)
  53 {
  54         __get_fiq_regs(&regs->ARM_r8);
  55 }
  56 
  57 #endif

/* [<][>][^][v][top][bottom][index][help] */