]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/Kernel/IOInterruptEventSource.cpp
xnu-792.1.5.tar.gz
[apple/xnu.git] / iokit / Kernel / IOInterruptEventSource.cpp
index a6b0034f4b1aac01f21f6cd10f3862866520865c..bda2596922bd306cdc9570099dd155735852edb3 100644 (file)
@@ -72,9 +72,9 @@ OSMetaClassDefineReservedUnused(IOInterruptEventSource, 6);
 OSMetaClassDefineReservedUnused(IOInterruptEventSource, 7);
 
 bool IOInterruptEventSource::init(OSObject *inOwner,
-                                 Action inAction = 0,
-                                 IOService *inProvider = 0,
-                                 int inIntIndex = 0)
+                                 Action inAction,
+                                 IOService *inProvider,
+                                 int inIntIndex)
 {
     bool res = true;
 
@@ -97,12 +97,12 @@ bool IOInterruptEventSource::init(OSObject *inOwner,
 
             autoDisable = (intType == kIOInterruptTypeLevel);
             if (autoDisable) {
-                intHandler = (IOInterruptAction)
-                &IOInterruptEventSource::disableInterruptOccurred;
+                intHandler = OSMemberFunctionCast(IOInterruptAction,
+                   this, &IOInterruptEventSource::disableInterruptOccurred);
             }
             else
-                intHandler = (IOInterruptAction)
-                    &IOInterruptEventSource::normalInterruptOccurred;
+                intHandler = OSMemberFunctionCast(IOInterruptAction,
+                   this, &IOInterruptEventSource::normalInterruptOccurred);
 
             res = (kIOReturnSuccess == inProvider->registerInterrupt
                                         (inIntIndex, this, intHandler));
@@ -123,7 +123,7 @@ IOInterruptEventSource::interruptEventSource(OSObject *inOwner,
     IOInterruptEventSource *me = new IOInterruptEventSource;
 
     if (me && !me->init(inOwner, inAction, inProvider, inIntIndex)) {
-        me->free();
+        me->release();
         return 0;
     }