diff options
author | marcel <marcel@FreeBSD.org> | 2006-04-23 22:12:39 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2006-04-23 22:12:39 +0000 |
commit | 2e48f3c964fec7e6115fd6a6a513ebdcaa0d3ef9 (patch) | |
tree | 418f13ee5203f5f49ea24eaf8643fe250f5e53e4 /sys/kern/serdev_if.m | |
parent | 281a077578b7ca97f028e1e652107245e397a40b (diff) | |
download | FreeBSD-src-2e48f3c964fec7e6115fd6a6a513ebdcaa0d3ef9.zip FreeBSD-src-2e48f3c964fec7e6115fd6a6a513ebdcaa0d3ef9.tar.gz |
MFp4: Add the ipend() method to the serdev I/F to allow umbrella
drivers to obtain pending interrupt status from subordinate
drivers.
Diffstat (limited to 'sys/kern/serdev_if.m')
-rw-r--r-- | sys/kern/serdev_if.m | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sys/kern/serdev_if.m b/sys/kern/serdev_if.m index ce7f572..fbf4363 100644 --- a/sys/kern/serdev_if.m +++ b/sys/kern/serdev_if.m @@ -50,6 +50,12 @@ CODE { } static int + default_ipend(device_t dev) + { + return (-1); + } + + static int default_sysdev(device_t dev) { return (0); @@ -66,6 +72,15 @@ METHOD serdev_intr_t* ihand { 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 |