Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
autoprobe.c File Reference
#include <linux/irq.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/async.h>
#include "internals.h"

Go to the source code of this file.

Functions

unsigned long probe_irq_on (void)
 
 EXPORT_SYMBOL (probe_irq_on)
 
unsigned int probe_irq_mask (unsigned long val)
 
 EXPORT_SYMBOL (probe_irq_mask)
 
int probe_irq_off (unsigned long val)
 
 EXPORT_SYMBOL (probe_irq_off)
 

Function Documentation

EXPORT_SYMBOL ( probe_irq_on  )
EXPORT_SYMBOL ( probe_irq_mask  )
EXPORT_SYMBOL ( probe_irq_off  )
unsigned int probe_irq_mask ( unsigned long  val)

probe_irq_mask - scan a bitmap of interrupt lines : mask of interrupts to consider

Scan the interrupt lines and return a bitmap of active autodetect interrupts. The interrupt probe logic state is then returned to its previous value.

Note: we need to scan all the irq's even though we will only return autodetect irq numbers - just so that we reset them all to a known state.

Definition at line 118 of file autoprobe.c.

int probe_irq_off ( unsigned long  val)

probe_irq_off - end an interrupt autodetect : mask of potential interrupts (unused)

Scans the unused interrupt lines and returns the line which appears to have triggered the interrupt. If no interrupt was found then zero is returned. If more than one interrupt is found then minus the first candidate is returned to indicate their is doubt.

The interrupt probe logic state is returned to its previous value.

BUGS: When used in a module (which arguably shouldn't happen) nothing prevents two IRQ probe callers from overlapping. The results of this are non-optimal.

Definition at line 158 of file autoprobe.c.

unsigned long probe_irq_on ( void  )

probe_irq_on - begin an interrupt autodetect

Commence probing for an interrupt. The interrupts are scanned and a mask of potential interrupt lines is returned.

Definition at line 31 of file autoprobe.c.