Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
irq_domain_ops Struct Reference

#include <irqdomain.h>

Data Fields

int(* match )(struct irq_domain *d, struct device_node *node)
 
int(* map )(struct irq_domain *d, unsigned int virq, irq_hw_number_t hw)
 
void(* unmap )(struct irq_domain *d, unsigned int virq)
 
int(* xlate )(struct irq_domain *d, struct device_node *node, const u32 *intspec, unsigned int intsize, unsigned long *out_hwirq, unsigned int *out_type)
 

Detailed Description

struct irq_domain_ops - Methods for irq_domain objects : Match an interrupt controller device node to a host, returns 1 on a match : Create or update a mapping between a virtual irq number and a hw irq number. This is called only once for a given mapping. : Dispose of such a mapping : Given a device tree node and interrupt specifier, decode the hardware irq number and linux irq type value.

Functions below are provided by the driver and called whenever a new mapping is created or an old mapping is disposed. The driver can then proceed to whatever internal data structures management is required. It also needs to setup the irq_desc when returning from map().

Definition at line 60 of file irqdomain.h.

Field Documentation

int(* map)(struct irq_domain *d, unsigned int virq, irq_hw_number_t hw)

Definition at line 62 of file irqdomain.h.

Definition at line 61 of file irqdomain.h.

void(* unmap)(struct irq_domain *d, unsigned int virq)

Definition at line 63 of file irqdomain.h.

int(* xlate)(struct irq_domain *d, struct device_node *node, const u32 *intspec, unsigned int intsize, unsigned long *out_hwirq, unsigned int *out_type)

Definition at line 64 of file irqdomain.h.


The documentation for this struct was generated from the following file: