Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
internals.h File Reference
#include <linux/sh_intc.h>
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/list.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/radix-tree.h>
#include <linux/device.h>

Go to the source code of this file.

Data Structures

struct  intc_handle_int
 
struct  intc_window
 
struct  intc_map_entry
 
struct  intc_subgroup_entry
 
struct  intc_desc_int
 

Macros

#define _INTC_MK(fn, mode, addr_e, addr_d, width, shift)
 
#define _INTC_SHIFT(h)   (h & 0x1f)
 
#define _INTC_WIDTH(h)   ((h >> 5) & 0xf)
 
#define _INTC_FN(h)   ((h >> 9) & 0xf)
 
#define _INTC_MODE(h)   ((h >> 13) & 0x7)
 
#define _INTC_ADDR_E(h)   ((h >> 16) & 0xff)
 
#define _INTC_ADDR_D(h)   ((h >> 24) & 0xff)
 
#define IS_SMP(x)   0
 
#define INTC_REG(d, x, c)   (d->reg[(x)])
 
#define SMP_NR(d, x)   1
 

Enumerations

enum  { REG_FN_ERR = 0, REG_FN_TEST_BASE = 1, REG_FN_WRITE_BASE = 5, REG_FN_MODIFY_BASE = 9 }
 
enum  {
  MODE_ENABLE_REG = 0, MODE_MASK_REG, MODE_DUAL_REG, MODE_PRIO_REG,
  MODE_PCLR_REG
}
 

Functions

unsigned long intc_phys_to_virt (struct intc_desc_int *d, unsigned long address)
 
unsigned int intc_get_reg (struct intc_desc_int *d, unsigned long address)
 
unsigned int intc_set_field_from_handle (unsigned int value, unsigned int field_value, unsigned int handle)
 
unsigned long intc_get_field_from_handle (unsigned int value, unsigned int handle)
 
void _intc_enable (struct irq_data *data, unsigned long handle)
 
unsigned int intc_get_dfl_prio_level (void)
 
unsigned int intc_get_prio_level (unsigned int irq)
 
void intc_set_prio_level (unsigned int irq, unsigned int level)
 
unsigned int intc_get_mask_handle (struct intc_desc *desc, struct intc_desc_int *d, intc_enum enum_id, int do_grps)
 
unsigned int intc_get_prio_handle (struct intc_desc *desc, struct intc_desc_int *d, intc_enum enum_id, int do_grps)
 
unsigned int intc_get_sense_handle (struct intc_desc *desc, struct intc_desc_int *d, intc_enum enum_id)
 
void intc_set_ack_handle (unsigned int irq, struct intc_desc *desc, struct intc_desc_int *d, intc_enum id)
 
unsigned long intc_get_ack_handle (unsigned int irq)
 
void intc_enable_disable_enum (struct intc_desc *desc, struct intc_desc_int *d, intc_enum enum_id, int enable)
 
void intc_irq_domain_init (struct intc_desc_int *d, struct intc_hw_desc *hw)
 
void intc_subgroup_init (struct intc_desc *desc, struct intc_desc_int *d)
 
void intc_irq_xlate_set (unsigned int irq, intc_enum id, struct intc_desc_int *d)
 
struct intc_map_entryintc_irq_xlate_get (unsigned int irq)
 

Variables

unsigned long(* intc_reg_fns [])(unsigned long addr, unsigned long h, unsigned long data)
 
unsigned long(* intc_enable_fns [])(unsigned long addr, unsigned long handle, unsigned long(*fn)(unsigned long, unsigned long, unsigned long), unsigned int irq)
 
unsigned long(* intc_disable_fns [])(unsigned long addr, unsigned long handle, unsigned long(*fn)(unsigned long, unsigned long, unsigned long), unsigned int irq)
 
unsigned long(* intc_enable_noprio_fns [])(unsigned long addr, unsigned long handle, unsigned long(*fn)(unsigned long, unsigned long, unsigned long), unsigned int irq)
 
struct irq_chip intc_irq_chip
 
struct list_head intc_list
 
raw_spinlock_t intc_big_lock
 
struct bus_type intc_subsys
 

Macro Definition Documentation

#define _INTC_ADDR_D (   h)    ((h >> 24) & 0xff)

Definition at line 19 of file internals.h.

#define _INTC_ADDR_E (   h)    ((h >> 16) & 0xff)

Definition at line 18 of file internals.h.

#define _INTC_FN (   h)    ((h >> 9) & 0xf)

Definition at line 16 of file internals.h.

#define _INTC_MK (   fn,
  mode,
  addr_e,
  addr_d,
  width,
  shift 
)
Value:
((shift) | ((width) << 5) | ((fn) << 9) | ((mode) << 13) | \
((addr_e) << 16) | ((addr_d << 24)))

Definition at line 10 of file internals.h.

#define _INTC_MODE (   h)    ((h >> 13) & 0x7)

Definition at line 17 of file internals.h.

#define _INTC_SHIFT (   h)    (h & 0x1f)

Definition at line 14 of file internals.h.

#define _INTC_WIDTH (   h)    ((h >> 5) & 0xf)

Definition at line 15 of file internals.h.

#define INTC_REG (   d,
  x,
  c 
)    (d->reg[(x)])

Definition at line 27 of file internals.h.

#define IS_SMP (   x)    0

Definition at line 26 of file internals.h.

#define SMP_NR (   d,
  x 
)    1

Definition at line 28 of file internals.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
REG_FN_ERR 
REG_FN_TEST_BASE 
REG_FN_WRITE_BASE 
REG_FN_MODIFY_BASE 

Definition at line 76 of file internals.h.

anonymous enum
Enumerator:
MODE_ENABLE_REG 
MODE_MASK_REG 
MODE_DUAL_REG 
MODE_PRIO_REG 
MODE_PCLR_REG 

Definition at line 83 of file internals.h.

Function Documentation

void _intc_enable ( struct irq_data data,
unsigned long  handle 
)

Definition at line 16 of file chip.c.

void intc_enable_disable_enum ( struct intc_desc desc,
struct intc_desc_int d,
intc_enum  enum_id,
int  enable 
)

Definition at line 231 of file handle.c.

unsigned long intc_get_ack_handle ( unsigned int  irq)

Definition at line 303 of file handle.c.

unsigned int intc_get_dfl_prio_level ( void  )

Definition at line 49 of file core.c.

unsigned long intc_get_field_from_handle ( unsigned int  value,
unsigned int  handle 
)

Definition at line 66 of file access.c.

unsigned int intc_get_mask_handle ( struct intc_desc desc,
struct intc_desc_int d,
intc_enum  enum_id,
int  do_grps 
)

Definition at line 89 of file handle.c.

unsigned int intc_get_prio_handle ( struct intc_desc desc,
struct intc_desc_int d,
intc_enum  enum_id,
int  do_grps 
)

Definition at line 158 of file handle.c.

unsigned int intc_get_prio_level ( unsigned int  irq)

Definition at line 54 of file core.c.

unsigned int intc_get_reg ( struct intc_desc_int d,
unsigned long  address 
)

Definition at line 39 of file access.c.

unsigned int intc_get_sense_handle ( struct intc_desc desc,
struct intc_desc_int d,
intc_enum  enum_id 
)

Definition at line 258 of file handle.c.

void intc_irq_domain_init ( struct intc_desc_int d,
struct intc_hw_desc hw 
)

Definition at line 44 of file irqdomain.c.

struct intc_map_entry* intc_irq_xlate_get ( unsigned int  irq)
read

Definition at line 45 of file virq.c.

void intc_irq_xlate_set ( unsigned int  irq,
intc_enum  id,
struct intc_desc_int d 
)

Definition at line 35 of file virq.c.

unsigned long intc_phys_to_virt ( struct intc_desc_int d,
unsigned long  address 
)

Definition at line 14 of file access.c.

void intc_set_ack_handle ( unsigned int  irq,
struct intc_desc desc,
struct intc_desc_int d,
intc_enum  id 
)

Definition at line 287 of file handle.c.

unsigned int intc_set_field_from_handle ( unsigned int  value,
unsigned int  field_value,
unsigned int  handle 
)

Definition at line 54 of file access.c.

void intc_set_prio_level ( unsigned int  irq,
unsigned int  level 
)

Definition at line 59 of file core.c.

void intc_subgroup_init ( struct intc_desc desc,
struct intc_desc_int d 
)

Definition at line 187 of file virq.c.

Variable Documentation

raw_spinlock_t intc_big_lock
unsigned long(* intc_disable_fns[])(unsigned long addr, unsigned long handle, unsigned long(*fn)(unsigned long,unsigned long, unsigned long), unsigned int irq)

Definition at line 222 of file access.c.

unsigned long(* intc_enable_fns[])(unsigned long addr, unsigned long handle, unsigned long(*fn)(unsigned long,unsigned long, unsigned long), unsigned int irq)

Definition at line 209 of file access.c.

unsigned long(* intc_enable_noprio_fns[])(unsigned long addr, unsigned long handle, unsigned long(*fn)(unsigned long,unsigned long, unsigned long), unsigned int irq)

Definition at line 235 of file access.c.

struct irq_chip intc_irq_chip

Definition at line 200 of file chip.c.

struct list_head intc_list
unsigned long(* intc_reg_fns[])(unsigned long addr, unsigned long h, unsigned long data)

Definition at line 195 of file access.c.

struct bus_type intc_subsys

Definition at line 474 of file core.c.