PERFORCE change 94960 for review

Marcel Moolenaar marcel at FreeBSD.org
Tue Apr 11 00:10:46 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=94960

Change 94960 by marcel at marcel_nfs on 2006/04/11 00:09:48

	Add an ipend() method. The method is called by puc(4) to obtain
	pending interrupt status for each of the UARTs it controls.
	This allows puc(4) to call the source-specific interrupt handlers
	on a priority basis using the function pointers returned by the
	ihand() method.

Affected files ...

.. //depot/projects/uart/kern/serdev_if.m#6 edit

Differences ...

==== //depot/projects/uart/kern/serdev_if.m#6 (text+ko) ====

@@ -50,6 +50,12 @@
 	}
 
 	static int
+	default_ipend(device_t dev)
+	{
+		return (-1);
+	}
+
+	static int
 	default_sysdev(device_t dev)
 	{
 		return (0);
@@ -66,6 +72,15 @@
 	int ipend;
 } DEFAULT default_ihand;
 
+# ipend() - Query pending interrupt status.
+# This method is called by the umbrella driver to obtain interrupt status
+# for the UART in question. This allows the umbrella driver to build a
+# matrix and service the interrupts in the most flexible way by calling
+# interrupt handlers collected with the ihand() method.
+METHOD int ipend {
+	device_t dev;
+} DEFAULT default_ipend;
+
 # sysdev() - Query system device status 
 # This method may be called by the umbrella driver for each child driver
 # to establish if a particular channel and mode is currently being used


More information about the p4-projects mailing list