Logo Search packages:      
Sourcecode: linux-fsl-imx51 version File versions  Download package

sah_interrupt_handler.c File Reference


Detailed Description

Provides a hardware interrupt handling mechanism for device driver.

This file needs to be ported for a non-Linux OS.

It gets a call at sah_Intr_Init() during initialization.

sah_Intr_Top_Half() is intended to be the Interrupt Service Routine. It calls a portable function in another file to process the Sahara status.

sah_Intr_Bottom_Half() is a 'background' task scheduled by the top half to take care of the expensive tasks of the interrupt processing.

The driver shutdown code calls sah_Intr_Release().

Definition in file sah_interrupt_handler.c.

#include <portable_os.h>
#include <sah_kernel.h>
#include <sah_interrupt_handler.h>
#include <sah_status_manager.h>
#include <sah_hardware_interface.h>
#include <sah_queue_manager.h>

Go to the source code of this file.

Defines

#define IRQ_HANDLED
#define IRQ_RETVAL(x)
#define irqreturn_t   void

Functions

 DECLARE_TASKLET (BH_task, sah_Intr_Bottom_Half,(unsigned long)&reset_flag)
static void sah_Intr_Bottom_Half (unsigned long reset_flag)
 SAHARA Interrupt Handler Bottom Half.
int sah_Intr_Init (wait_queue_head_t *wait_queue)
 SAHARA Interrupt Handler Initialisation.
void sah_Intr_Release (void)
 SAHARA Interrupt Handler Release.
static irqreturn_t sah_Intr_Top_Half (int irq, void *dev_id)
 SAHARA Interrupt Handler Top Half.

Variables

wait_queue_head_t * int_queue = NULL
uint32_t interrupt_count
unsigned long reset_flag


Generated by  Doxygen 1.6.0   Back to index