Loading...
iokit/Kernel/IODMAEventSource.cpp xnu-12377.121.6 xnu-4903.270.47
--- xnu/xnu-12377.121.6/iokit/Kernel/IODMAEventSource.cpp
+++ xnu/xnu-4903.270.47/iokit/Kernel/IODMAEventSource.cpp
@@ -26,8 +26,6 @@
  * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 
-#define IOKIT_ENABLE_SHARED_PTR
-
 #include <IOKit/IODMAEventSource.h>
 #include <IOKit/IOService.h>
 
@@ -50,7 +48,7 @@
 		return false;
 	}
 
-	if (inProvider == NULL) {
+	if (inProvider == 0) {
 		return false;
 	}
 
@@ -59,10 +57,11 @@
 	dmaCompletionAction = inCompletion;
 	dmaNotificationAction = inNotification;
 
-	dmaController.reset(IODMAController::getController(dmaProvider, inDMAIndex), OSRetain);
-	if (dmaController == NULL) {
-		return false;
-	}
+	dmaController = IODMAController::getController(dmaProvider, inDMAIndex);
+	if (dmaController == 0) {
+		return false;
+	}
+	dmaController->retain();
 
 	result = dmaController->initDMAChannel(dmaProvider, this, &dmaIndex, inDMAIndex);
 	if (result != kIOReturnSuccess) {
@@ -84,17 +83,18 @@
 	super::free();
 }
 
-OSSharedPtr<IODMAEventSource>
+IODMAEventSource *
 IODMAEventSource::dmaEventSource(OSObject *inOwner,
     IOService *inProvider,
     Action inCompletion,
     Action inNotification,
     UInt32 inDMAIndex)
 {
-	OSSharedPtr<IODMAEventSource> dmaES = OSMakeShared<IODMAEventSource>();
+	IODMAEventSource *dmaES = new IODMAEventSource;
 
 	if (dmaES && !dmaES->init(inOwner, inProvider, inCompletion, inNotification, inDMAIndex)) {
-		return nullptr;
+		dmaES->release();
+		return 0;
 	}
 
 	return dmaES;
@@ -105,7 +105,7 @@
 {
 	IOReturn result;
 
-	if ((dmaController == NULL) || (dmaIndex == 0xFFFFFFFF)) {
+	if ((dmaController == 0) || (dmaIndex == 0xFFFFFFFF)) {
 		return kIOReturnError;
 	}
 
@@ -113,7 +113,7 @@
 		return kIOReturnBusy;
 	}
 
-	if (dmaCompletionAction == NULL) {
+	if (dmaCompletionAction == 0) {
 		dmaSynchBusy = true;
 	}
 
@@ -134,7 +134,7 @@
 IOReturn
 IODMAEventSource::stopDMACommand(bool flush, uint64_t timeout)
 {
-	if ((dmaController == NULL) || (dmaIndex == 0xFFFFFFFF)) {
+	if ((dmaController == 0) || (dmaIndex == 0xFFFFFFFF)) {
 		return kIOReturnError;
 	}
 
@@ -145,7 +145,7 @@
 IOReturn
 IODMAEventSource::queryDMACommand(IODMACommand **dmaCommand, IOByteCount *transferCount, bool waitForIdle)
 {
-	if ((dmaController == NULL) || (dmaIndex == 0xFFFFFFFF)) {
+	if ((dmaController == 0) || (dmaIndex == 0xFFFFFFFF)) {
 		return kIOReturnError;
 	}
 
@@ -156,7 +156,7 @@
 IOByteCount
 IODMAEventSource::getFIFODepth(IODirection direction)
 {
-	if ((dmaController == NULL) || (dmaIndex == 0xFFFFFFFF)) {
+	if ((dmaController == 0) || (dmaIndex == 0xFFFFFFFF)) {
 		return 0;
 	}
 
@@ -167,7 +167,7 @@
 IOReturn
 IODMAEventSource::setFIFODepth(IOByteCount depth)
 {
-	if ((dmaController == NULL) || (dmaIndex == 0xFFFFFFFF)) {
+	if ((dmaController == 0) || (dmaIndex == 0xFFFFFFFF)) {
 		return kIOReturnError;
 	}
 
@@ -178,7 +178,7 @@
 IOByteCount
 IODMAEventSource::validFIFODepth(IOByteCount depth, IODirection direction)
 {
-	if ((dmaController == NULL) || (dmaIndex == 0xFFFFFFFF)) {
+	if ((dmaController == 0) || (dmaIndex == 0xFFFFFFFF)) {
 		return kIOReturnError;
 	}
 
@@ -189,7 +189,7 @@
 IOReturn
 IODMAEventSource::setFrameSize(UInt8 byteCount)
 {
-	if ((dmaController == NULL) || (dmaIndex == 0xFFFFFFFF)) {
+	if ((dmaController == 0) || (dmaIndex == 0xFFFFFFFF)) {
 		return kIOReturnError;
 	}
 
@@ -224,7 +224,7 @@
 void
 IODMAEventSource::completeDMACommand(IODMACommand *dmaCommand)
 {
-	if (dmaCompletionAction != NULL) {
+	if (dmaCompletionAction != 0) {
 		IOSimpleLockLock(dmaCommandsCompletedLock);
 		queue_enter(&dmaCommandsCompleted, dmaCommand, IODMACommand *, fCommandChain);
 		IOSimpleLockUnlock(dmaCommandsCompletedLock);
@@ -243,7 +243,7 @@
 	dmaCommand->reserved->fActualByteCount = actualByteCount;
 	dmaCommand->reserved->fTimeStamp = timeStamp;
 
-	if (dmaNotificationAction != NULL) {
+	if (dmaNotificationAction != 0) {
 		(*dmaNotificationAction)(owner, this, dmaCommand, status, actualByteCount, timeStamp);
 	}
 }