root/arch/arm/plat-samsung/include/plat/wakeup-mask.h

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

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * Copyright 2010 Ben Dooks <ben-linux@fluff.org>
   4  *
   5  * Support for wakeup mask interrupts on newer SoCs
   6  */
   7 
   8 #ifndef __PLAT_WAKEUP_MASK_H
   9 #define __PLAT_WAKEUP_MASK_H __file__
  10 
  11 /* if no irq yet defined, but still want to mask */
  12 #define NO_WAKEUP_IRQ (0x90000000)
  13 
  14 /**
  15  * struct samsung_wakeup_mask - wakeup mask information
  16  * @irq: The interrupt associated with this wakeup.
  17  * @bit: The bit, as a (1 << bitno) controlling this source.
  18  */ 
  19 struct samsung_wakeup_mask {
  20         unsigned int    irq;
  21         u32             bit;
  22 };
  23 
  24 /**
  25  * samsung_sync_wakemask - sync wakeup mask information for pm
  26  * @reg: The register that is used.
  27  * @masks: The list of masks to use.
  28  * @nr_masks: The number of entries pointed to buy @masks.
  29  *
  30  * Synchronise the wakeup mask information at suspend time from the list
  31  * of interrupts and control bits in @masks. We do this at suspend time
  32  * as overriding the relevant irq chips is harder and the register is only
  33  * required to be correct before we enter sleep.
  34  */
  35 extern void samsung_sync_wakemask(void __iomem *reg,
  36                                   const struct samsung_wakeup_mask *masks,
  37                                   int nr_masks);
  38 
  39 #endif /* __PLAT_WAKEUP_MASK_H */

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