This source file includes following definitions.
- samsung_sync_wakemask
   1 
   2 
   3 
   4 
   5 
   6 
   7 #include <linux/kernel.h>
   8 #include <linux/spinlock.h>
   9 #include <linux/device.h>
  10 #include <linux/types.h>
  11 #include <linux/irq.h>
  12 #include <linux/io.h>
  13 
  14 #include <plat/wakeup-mask.h>
  15 #include <plat/pm.h>
  16 
  17 void samsung_sync_wakemask(void __iomem *reg,
  18                            const struct samsung_wakeup_mask *mask, int nr_mask)
  19 {
  20         struct irq_data *data;
  21         u32 val;
  22 
  23         val = __raw_readl(reg);
  24 
  25         for (; nr_mask > 0; nr_mask--, mask++) {
  26                 if (mask->irq == NO_WAKEUP_IRQ) {
  27                         val |= mask->bit;
  28                         continue;
  29                 }
  30 
  31                 data = irq_get_irq_data(mask->irq);
  32 
  33                 
  34                 if (irqd_is_wakeup_set(data))
  35                         val &= ~mask->bit;
  36                 else
  37                         val |= mask->bit;
  38         }
  39 
  40         printk(KERN_INFO "wakemask %08x => %08x\n", __raw_readl(reg), val);
  41         __raw_writel(val, reg);
  42 }