kernel/eka/include/drivers/usbcshared.inl
changeset 90 947f0dc9f7a8
parent 0 a41df078684a
equal deleted inserted replaced
52:2d65c2f76d7b 90:947f0dc9f7a8
   130 	}
   130 	}
   131 
   131 
   132 
   132 
   133 TBool DUsbClientController::IsInTheRequestList(const TUsbcRequestCallback& aCallback)
   133 TBool DUsbClientController::IsInTheRequestList(const TUsbcRequestCallback& aCallback)
   134 	{
   134 	{
   135 	const TInt irq = NKern::DisableAllInterrupts();
   135     	const TInt irq = __SPIN_LOCK_IRQSAVE(iUsbLock);
   136 	TSglQueIter<TUsbcRequestCallback> iter(iEp0ReadRequestCallbacks);
   136 	TSglQueIter<TUsbcRequestCallback> iter(iEp0ReadRequestCallbacks);
   137 	TUsbcRequestCallback* p;
   137 	TUsbcRequestCallback* p;
   138 	while ((p = iter++) != NULL)
   138 	while ((p = iter++) != NULL)
   139 		{
   139 		{
   140 		if (p == &aCallback)
   140 		if (p == &aCallback)
   141 			{
   141 			{
   142 			NKern::RestoreInterrupts(irq);
   142 			__SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq);
   143 			return ETrue;
   143 			return ETrue;
   144 			}
   144 			}
   145 		}
   145 		}
   146 	NKern::RestoreInterrupts(irq);
   146     	__SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq);
   147 	return EFalse;
   147 	return EFalse;
   148 	}
   148 	}
   149 
   149 
   150 
   150 
   151 TBool DUsbClientController::IsInTheStatusList(const TUsbcStatusCallback& aCallback)
   151 TBool DUsbClientController::IsInTheStatusList(const TUsbcStatusCallback& aCallback)
   152 	{
   152 	{
   153 	const TInt irq = NKern::DisableAllInterrupts();
   153     	const TInt irq = __SPIN_LOCK_IRQSAVE(iUsbLock);
   154 	TSglQueIter<TUsbcStatusCallback> iter(iStatusCallbacks);
   154 	TSglQueIter<TUsbcStatusCallback> iter(iStatusCallbacks);
   155 	TUsbcStatusCallback* p;
   155 	TUsbcStatusCallback* p;
   156 	while ((p = iter++) != NULL)
   156 	while ((p = iter++) != NULL)
   157 		{
   157 		{
   158 		if (p == &aCallback)
   158 		if (p == &aCallback)
   159 			{
   159 			{
   160 			NKern::RestoreInterrupts(irq);
   160             		__SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq);
   161 			return ETrue;
   161 			return ETrue;
   162 			}
   162 			}
   163 		}
   163 		}
   164 	NKern::RestoreInterrupts(irq);
   164     	__SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq);
   165 	return EFalse;
   165 	return EFalse;
   166 	}
   166 	}
   167 
   167 
   168 
   168 
   169 TBool DUsbClientController::IsInTheEpStatusList(const TUsbcEndpointStatusCallback& aCallback)
   169 TBool DUsbClientController::IsInTheEpStatusList(const TUsbcEndpointStatusCallback& aCallback)
   170 	{
   170 	{
   171 	const TInt irq = NKern::DisableAllInterrupts();
   171     	const TInt irq = __SPIN_LOCK_IRQSAVE(iUsbLock);
   172 	TSglQueIter<TUsbcEndpointStatusCallback> iter(iEpStatusCallbacks);
   172 	TSglQueIter<TUsbcEndpointStatusCallback> iter(iEpStatusCallbacks);
   173 	TUsbcEndpointStatusCallback* p;
   173 	TUsbcEndpointStatusCallback* p;
   174 	while ((p = iter++) != NULL)
   174 	while ((p = iter++) != NULL)
   175 		{
   175 		{
   176 		if (p == &aCallback)
   176 		if (p == &aCallback)
   177 			{
   177 			{
   178 			NKern::RestoreInterrupts(irq);
   178 		    	__SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq);
   179 			return ETrue;
   179 			return ETrue;
   180 			}
   180 			}
   181 		}
   181 		}
   182 	NKern::RestoreInterrupts(irq);
   182     	__SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq);
   183 	return EFalse;
   183 	return EFalse;
   184 	}
   184 	}
   185 
   185 
   186 
   186 
   187 TBool DUsbClientController::IsInTheOtgFeatureList(const TUsbcOtgFeatureCallback& aCallback)
   187 TBool DUsbClientController::IsInTheOtgFeatureList(const TUsbcOtgFeatureCallback& aCallback)
   188 	{
   188 	{
   189 	const TInt irq = NKern::DisableAllInterrupts();
   189     	const TInt irq = __SPIN_LOCK_IRQSAVE(iUsbLock);
   190 	TSglQueIter<TUsbcOtgFeatureCallback> iter(iOtgCallbacks);
   190 	TSglQueIter<TUsbcOtgFeatureCallback> iter(iOtgCallbacks);
   191 	TUsbcOtgFeatureCallback* p;
   191 	TUsbcOtgFeatureCallback* p;
   192 	while ((p = iter++) != NULL)
   192 	while ((p = iter++) != NULL)
   193 		{
   193 		{
   194 		if (p == &aCallback)
   194 		if (p == &aCallback)
   195 			{
   195 			{
   196 			NKern::RestoreInterrupts(irq);
   196 		    	__SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq);
   197 			return ETrue;
   197 			return ETrue;
   198 			}
   198 			}
   199 		}
   199 		}
   200 	NKern::RestoreInterrupts(irq);
   200     	__SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq);
   201 	return EFalse;
   201 	return EFalse;
   202 	}
   202 	}
   203 
   203 
   204 //
   204 //
   205 // --- Misc classes ---
   205 // --- Misc classes ---