kernel/eka/include/drivers/dma_v2.h
changeset 243 c7a0ce20c48c
parent 231 75252ea6123b
--- a/kernel/eka/include/drivers/dma_v2.h	Mon Jul 26 10:52:56 2010 +0100
+++ b/kernel/eka/include/drivers/dma_v2.h	Fri Aug 06 16:34:38 2010 +0100
@@ -42,10 +42,12 @@
 #ifdef _DEBUG
 #define __DMA_CANT_HAPPEN() Kern::Fault(KDmaPanicCat, __LINE__)
 #define __DMA_DECLARE_INVARIANT public: void Invariant();
+#define __DMA_DECLARE_VIRTUAL_INVARIANT public: virtual void Invariant();
 #define __DMA_INVARIANT() Invariant()
 #else
 #define __DMA_CANT_HAPPEN()
 #define __DMA_DECLARE_INVARIANT
+#define __DMA_DECLARE_VIRTUAL_INVARIANT
 #define __DMA_INVARIANT()
 #endif
 
@@ -1255,17 +1257,18 @@
 	*/
 	virtual void QueuedRequestCountChanged();
 
-#if defined(__CPU_ARM) && !defined(__EABI__)
-	inline virtual ~TDmaChannel() {}	// kill really annoying warning
-#endif
+	virtual void SetNullPtr(const DDmaRequest& aReq);
+	virtual void ResetNullPtr();
+
+	inline virtual ~TDmaChannel() {}
+
+	inline void Wait();
+	inline void Signal();
+	inline TBool Flash();
 
 private:
 	static void Dfc(TAny*);
 	void DoDfc();
-	inline void Wait();
-	inline void Signal();
-	inline TBool Flash();
-	void ResetStateMachine();
 
 protected:
 	TDmac* iController;		 // DMAC this channel belongs to (NULL when closed)
@@ -1293,7 +1296,7 @@
 	TBool iRedoRequest;		// client ISR callback wants a redo of request
 	TBool iIsrCbRequest;	// request on queue using ISR callback
 
-	__DMA_DECLARE_INVARIANT
+	__DMA_DECLARE_VIRTUAL_INVARIANT
 	};