Loading...
--- xnu/xnu-1228.5.20/iokit/Kernel/IOInterruptController.cpp
+++ xnu/xnu-792.21.3/iokit/Kernel/IOInterruptController.cpp
@@ -87,15 +87,6 @@
// Check if the interrupt source can/should be shared.
canBeShared = vectorCanBeShared(vectorNumber, vector);
IODTGetInterruptOptions(nub, source, &options);
-#if defined(__i386__) || defined(__x86_64__)
- int interruptType;
- if (OSDynamicCast(IOPlatformDevice, getProvider()) &&
- (getInterruptType(nub, source, &interruptType) == kIOReturnSuccess) &&
- (kIOInterruptTypeLevel & interruptType))
- {
- options |= kIODTInterruptShared;
- }
-#endif
shouldBeShared = canBeShared && (options & kIODTInterruptShared);
wasAlreadyRegisterd = vector->interruptRegistered;
@@ -442,8 +433,6 @@
_numInterruptSources = 1;
// Set up the IOInterruptSource to point at this.
- parentController->retain();
- parentSource->retain();
_interruptSources[0].interruptController = parentController;
_interruptSources[0].vectorData = parentSource;
@@ -683,8 +672,7 @@
IOInterruptAction IOSharedInterruptController::getInterruptHandlerAddress(void)
{
- return OSMemberFunctionCast(IOInterruptAction,
- this, &IOSharedInterruptController::handleInterrupt);
+ return (IOInterruptAction)&IOSharedInterruptController::handleInterrupt;
}
IOReturn IOSharedInterruptController::handleInterrupt(void * /*refCon*/,