Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > cf93d8a8acdcc6fe2225039da0502495 > files > 1447

kernel-doc-2.6.32-131.17.1.el6.centos.plus.noarch.rpm

<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>Chapter&#160;4.&#160;Abstraction layers</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="Linux generic IRQ handling" /><link rel="up" href="index.html" title="Linux generic IRQ handling" /><link rel="prev" href="ch03.html" title="Chapter&#160;3.&#160;Known Bugs And Assumptions" /><link rel="next" href="ch04s02.html" title="Highlevel Driver API" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;4.&#160;Abstraction layers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="ch04s02.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter&#160;4.&#160;Abstraction layers"><div class="titlepage"><div><div><h2 class="title"><a id="Abstraction"></a>Chapter&#160;4.&#160;Abstraction layers</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ch04.html#Interrupt_control_flow">Interrupt control flow</a></span></dt><dt><span class="sect1"><a href="ch04s02.html">Highlevel Driver API</a></span></dt><dt><span class="sect1"><a href="ch04s03.html">Highlevel IRQ flow handlers</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s03.html#Default_flow_implementations">Default flow implementations</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#Default_flow_handler_implementations">Default flow handler implementations</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#Quirks_and_optimizations">Quirks and optimizations</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#Delayed_interrupt_disable">Delayed interrupt disable</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s04.html">Chiplevel hardware encapsulation</a></span></dt></dl></div><p>
	There are three main levels of abstraction in the interrupt code:
	</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Highlevel driver API</p></li><li class="listitem"><p>Highlevel IRQ flow handlers</p></li><li class="listitem"><p>Chiplevel hardware encapsulation</p></li></ol></div><p>
    </p><div class="sect1" title="Interrupt control flow"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Interrupt_control_flow"></a>Interrupt control flow</h2></div></div></div><p>
	Each interrupt is described by an interrupt descriptor structure
	irq_desc. The interrupt is referenced by an 'unsigned int' numeric
	value which selects the corresponding interrupt decription structure
	in the descriptor structures array.
	The descriptor structure contains status information and pointers
	to the interrupt flow method and the interrupt chip structure
	which are assigned to this interrupt.
	</p><p>
	Whenever an interrupt triggers, the lowlevel arch code calls into
	the generic interrupt code by calling desc-&gt;handle_irq().
	This highlevel IRQ handling function only uses desc-&gt;chip primitives
	referenced by the assigned chip descriptor structure.
	</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="ch04s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&#160;3.&#160;Known Bugs And Assumptions&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;Highlevel Driver API</td></tr></table></div></body></html>