Linux Kernel
3.7.1
|
#include <linux/err.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/kernel.h>
#include <linux/mfd/pm8xxx/core.h>
#include <linux/mfd/pm8xxx/irq.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
Go to the source code of this file.
Data Structures | |
struct | pm_irq_chip |
Macros | |
#define | pr_fmt(fmt) "%s: " fmt, __func__ |
#define | SSBI_REG_ADDR_IRQ_BASE 0x1BB |
#define | SSBI_REG_ADDR_IRQ_ROOT (SSBI_REG_ADDR_IRQ_BASE + 0) |
#define | SSBI_REG_ADDR_IRQ_M_STATUS1 (SSBI_REG_ADDR_IRQ_BASE + 1) |
#define | SSBI_REG_ADDR_IRQ_M_STATUS2 (SSBI_REG_ADDR_IRQ_BASE + 2) |
#define | SSBI_REG_ADDR_IRQ_M_STATUS3 (SSBI_REG_ADDR_IRQ_BASE + 3) |
#define | SSBI_REG_ADDR_IRQ_M_STATUS4 (SSBI_REG_ADDR_IRQ_BASE + 4) |
#define | SSBI_REG_ADDR_IRQ_BLK_SEL (SSBI_REG_ADDR_IRQ_BASE + 5) |
#define | SSBI_REG_ADDR_IRQ_IT_STATUS (SSBI_REG_ADDR_IRQ_BASE + 6) |
#define | SSBI_REG_ADDR_IRQ_CONFIG (SSBI_REG_ADDR_IRQ_BASE + 7) |
#define | SSBI_REG_ADDR_IRQ_RT_STATUS (SSBI_REG_ADDR_IRQ_BASE + 8) |
#define | PM_IRQF_LVL_SEL 0x01 /* level select */ |
#define | PM_IRQF_MASK_FE 0x02 /* mask falling edge */ |
#define | PM_IRQF_MASK_RE 0x04 /* mask rising edge */ |
#define | PM_IRQF_CLR 0x08 /* clear interrupt */ |
#define | PM_IRQF_BITS_MASK 0x70 |
#define | PM_IRQF_BITS_SHIFT 4 |
#define | PM_IRQF_WRITE 0x80 |
#define | PM_IRQF_MASK_ALL |
#define PM_IRQF_BITS_MASK 0x70 |
Definition at line 43 of file pm8xxx-irq.c.
#define PM_IRQF_BITS_SHIFT 4 |
Definition at line 44 of file pm8xxx-irq.c.
#define PM_IRQF_CLR 0x08 /* clear interrupt */ |
Definition at line 42 of file pm8xxx-irq.c.
#define PM_IRQF_LVL_SEL 0x01 /* level select */ |
Definition at line 39 of file pm8xxx-irq.c.
#define PM_IRQF_MASK_ALL |
Definition at line 47 of file pm8xxx-irq.c.
#define PM_IRQF_MASK_FE 0x02 /* mask falling edge */ |
Definition at line 40 of file pm8xxx-irq.c.
#define PM_IRQF_MASK_RE 0x04 /* mask rising edge */ |
Definition at line 41 of file pm8xxx-irq.c.
#define PM_IRQF_WRITE 0x80 |
Definition at line 45 of file pm8xxx-irq.c.
#define pr_fmt | ( | fmt | ) | "%s: " fmt, __func__ |
Definition at line 14 of file pm8xxx-irq.c.
#define SSBI_REG_ADDR_IRQ_BASE 0x1BB |
Definition at line 27 of file pm8xxx-irq.c.
#define SSBI_REG_ADDR_IRQ_BLK_SEL (SSBI_REG_ADDR_IRQ_BASE + 5) |
Definition at line 34 of file pm8xxx-irq.c.
#define SSBI_REG_ADDR_IRQ_CONFIG (SSBI_REG_ADDR_IRQ_BASE + 7) |
Definition at line 36 of file pm8xxx-irq.c.
#define SSBI_REG_ADDR_IRQ_IT_STATUS (SSBI_REG_ADDR_IRQ_BASE + 6) |
Definition at line 35 of file pm8xxx-irq.c.
#define SSBI_REG_ADDR_IRQ_M_STATUS1 (SSBI_REG_ADDR_IRQ_BASE + 1) |
Definition at line 30 of file pm8xxx-irq.c.
#define SSBI_REG_ADDR_IRQ_M_STATUS2 (SSBI_REG_ADDR_IRQ_BASE + 2) |
Definition at line 31 of file pm8xxx-irq.c.
#define SSBI_REG_ADDR_IRQ_M_STATUS3 (SSBI_REG_ADDR_IRQ_BASE + 3) |
Definition at line 32 of file pm8xxx-irq.c.
#define SSBI_REG_ADDR_IRQ_M_STATUS4 (SSBI_REG_ADDR_IRQ_BASE + 4) |
Definition at line 33 of file pm8xxx-irq.c.
#define SSBI_REG_ADDR_IRQ_ROOT (SSBI_REG_ADDR_IRQ_BASE + 0) |
Definition at line 29 of file pm8xxx-irq.c.
#define SSBI_REG_ADDR_IRQ_RT_STATUS (SSBI_REG_ADDR_IRQ_BASE + 8) |
Definition at line 37 of file pm8xxx-irq.c.
EXPORT_SYMBOL_GPL | ( | pm8xxx_get_irq_stat | ) |
int pm8xxx_get_irq_stat | ( | struct pm_irq_chip * | chip, |
int | irq | ||
) |
pm8xxx_get_irq_stat - get the status of the irq line : pointer to identify a pmic irq controller : the irq number
The pm8xxx gpio and mpp rely on the interrupt block to read the values on their pins. This function is to facilitate reading the status of a gpio or an mpp line. The caller has to convert the gpio number to irq number.
RETURNS: an int indicating the value read on that line
Definition at line 272 of file pm8xxx-irq.c.
int __devexit pm8xxx_irq_exit | ( | struct pm_irq_chip * | chip | ) |
Definition at line 366 of file pm8xxx-irq.c.
|
read |
Definition at line 312 of file pm8xxx-irq.c.