From ad333c1655cd6e1fa7b13dd520af70e78fd7c8a8 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Wed, 29 Feb 2012 09:41:34 +0000 Subject: [PATCH] [USBEHCI] - Fix regressions caused by libusb svn path=/trunk/; revision=55916 --- reactos/drivers/usb/usbehci/hardware.cpp | 29 ++++++++++++++++++--- reactos/drivers/usb/usbehci/usb_queue.cpp | 7 +++++ reactos/drivers/usb/usbehci/usb_request.cpp | 12 +++++++++ reactos/drivers/usb/usbehci/usbehci.h | 6 ++--- 4 files changed, 47 insertions(+), 7 deletions(-) diff --git a/reactos/drivers/usb/usbehci/hardware.cpp b/reactos/drivers/usb/usbehci/hardware.cpp index afa4bfc5f7a..c3f5b64d5f4 100644 --- a/reactos/drivers/usb/usbehci/hardware.cpp +++ b/reactos/drivers/usb/usbehci/hardware.cpp @@ -32,7 +32,7 @@ VOID NTAPI StatusChangeWorkItemRoutine(PVOID Context); -class CUSBHardwareDevice : public IUSBHardwareDevice +class CUSBHardwareDevice : public IEHCIHardwareDevice { public: STDMETHODIMP QueryInterface( REFIID InterfaceId, PVOID* Interface); @@ -127,6 +127,7 @@ CUSBHardwareDevice::QueryInterface( } NTSTATUS +STDMETHODCALLTYPE CUSBHardwareDevice::Initialize( PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT FunctionalDeviceObject, @@ -206,6 +207,7 @@ CUSBHardwareDevice::Initialize( } VOID +STDMETHODCALLTYPE CUSBHardwareDevice::SetCommandRegister(PEHCI_USBCMD_CONTENT UsbCmd) { PULONG Register; @@ -214,6 +216,7 @@ CUSBHardwareDevice::SetCommandRegister(PEHCI_USBCMD_CONTENT UsbCmd) } VOID +STDMETHODCALLTYPE CUSBHardwareDevice::GetCommandRegister(PEHCI_USBCMD_CONTENT UsbCmd) { PULONG Register; @@ -277,6 +280,7 @@ CUSBHardwareDevice::PrintCapabilities() } NTSTATUS +STDMETHODCALLTYPE CUSBHardwareDevice::PnpStart( PCM_RESOURCE_LIST RawResources, PCM_RESOURCE_LIST TranslatedResources) @@ -483,6 +487,7 @@ CUSBHardwareDevice::PnpStart( } NTSTATUS +STDMETHODCALLTYPE CUSBHardwareDevice::PnpStop(void) { UNIMPLEMENTED @@ -490,6 +495,7 @@ CUSBHardwareDevice::PnpStop(void) } NTSTATUS +STDMETHODCALLTYPE CUSBHardwareDevice::GetDeviceDetails( OUT OPTIONAL PUSHORT VendorId, OUT OPTIONAL PUSHORT DeviceId, @@ -508,7 +514,9 @@ CUSBHardwareDevice::GetDeviceDetails( return STATUS_SUCCESS; } -NTSTATUS CUSBHardwareDevice::GetDMA( +NTSTATUS +STDMETHODCALLTYPE +CUSBHardwareDevice::GetDMA( OUT struct IDMAMemoryManager **OutDMAMemoryManager) { if (!m_MemoryManager) @@ -518,6 +526,7 @@ NTSTATUS CUSBHardwareDevice::GetDMA( } NTSTATUS +STDMETHODCALLTYPE CUSBHardwareDevice::GetUSBQueue( OUT struct IUSBQueue **OutUsbQueue) { @@ -872,6 +881,7 @@ CUSBHardwareDevice::ResetController(void) } NTSTATUS +STDMETHODCALLTYPE CUSBHardwareDevice::ResetPort( IN ULONG PortIndex) { @@ -913,6 +923,7 @@ CUSBHardwareDevice::ResetPort( } NTSTATUS +STDMETHODCALLTYPE CUSBHardwareDevice::GetPortStatus( ULONG PortId, OUT USHORT *PortStatus, @@ -987,6 +998,7 @@ CUSBHardwareDevice::GetPortStatus( } NTSTATUS +STDMETHODCALLTYPE CUSBHardwareDevice::ClearPortStatus( ULONG PortId, ULONG Status) @@ -1096,6 +1108,7 @@ CUSBHardwareDevice::ClearPortStatus( NTSTATUS +STDMETHODCALLTYPE CUSBHardwareDevice::SetPortFeature( ULONG PortId, ULONG Feature) @@ -1170,6 +1183,7 @@ CUSBHardwareDevice::SetPortFeature( } VOID +STDMETHODCALLTYPE CUSBHardwareDevice::SetAsyncListRegister( ULONG PhysicalAddress) { @@ -1177,6 +1191,7 @@ CUSBHardwareDevice::SetAsyncListRegister( } VOID +STDMETHODCALLTYPE CUSBHardwareDevice::SetPeriodicListRegister( ULONG PhysicalAddress) { @@ -1187,18 +1202,23 @@ CUSBHardwareDevice::SetPeriodicListRegister( } struct _QUEUE_HEAD * +STDMETHODCALLTYPE CUSBHardwareDevice::GetAsyncListQueueHead() { return AsyncQueueHead; } -ULONG CUSBHardwareDevice::GetPeriodicListRegister() +ULONG +STDMETHODCALLTYPE +CUSBHardwareDevice::GetPeriodicListRegister() { UNIMPLEMENTED return NULL; } -VOID CUSBHardwareDevice::SetStatusChangeEndpointCallBack( +VOID +STDMETHODCALLTYPE +CUSBHardwareDevice::SetStatusChangeEndpointCallBack( PVOID CallBack, PVOID Context) { @@ -1437,6 +1457,7 @@ StatusChangeWorkItemRoutine( } NTSTATUS +NTAPI CreateUSBHardware( PUSBHARDWAREDEVICE *OutHardware) { diff --git a/reactos/drivers/usb/usbehci/usb_queue.cpp b/reactos/drivers/usb/usbehci/usb_queue.cpp index 64b380e160e..f30f69df048 100644 --- a/reactos/drivers/usb/usbehci/usb_queue.cpp +++ b/reactos/drivers/usb/usbehci/usb_queue.cpp @@ -96,6 +96,7 @@ CUSBQueue::QueryInterface( } NTSTATUS +STDMETHODCALLTYPE CUSBQueue::Initialize( IN PUSBHARDWAREDEVICE Hardware, IN PDMA_ADAPTER AdapterObject, @@ -276,6 +277,7 @@ CUSBQueue::InitializeSyncSchedule( } NTSTATUS +STDMETHODCALLTYPE CUSBQueue::AddUSBRequest( IUSBRequest * Req) { @@ -367,6 +369,7 @@ CUSBQueue::AddUSBRequest( } NTSTATUS +STDMETHODCALLTYPE CUSBQueue::CreateUSBRequest( IUSBRequest **OutRequest) { @@ -657,6 +660,7 @@ CUSBQueue::ProcessAsyncList( VOID +STDMETHODCALLTYPE CUSBQueue::InterruptCallback( IN NTSTATUS Status, OUT PULONG ShouldRingDoorBell) @@ -826,6 +830,7 @@ CUSBQueue::QueueHeadCleanup( } VOID +STDMETHODCALLTYPE CUSBQueue::CompleteAsyncRequests() { KIRQL OldLevel; @@ -900,6 +905,7 @@ CUSBQueue::CompleteAsyncRequests() } NTSTATUS +STDMETHODCALLTYPE CUSBQueue::AbortDevicePipe( IN UCHAR DeviceAddress, IN PUSB_ENDPOINT_DESCRIPTOR EndpointDescriptor) @@ -984,6 +990,7 @@ CUSBQueue::AbortDevicePipe( NTSTATUS +NTAPI CreateUSBQueue( PUSBQUEUE *OutUsbQueue) { diff --git a/reactos/drivers/usb/usbehci/usb_request.cpp b/reactos/drivers/usb/usbehci/usb_request.cpp index 598207b36b7..de3b656985c 100644 --- a/reactos/drivers/usb/usbehci/usb_request.cpp +++ b/reactos/drivers/usb/usbehci/usb_request.cpp @@ -145,6 +145,7 @@ CUSBRequest::QueryInterface( //---------------------------------------------------------------------------------------- NTSTATUS +STDMETHODCALLTYPE CUSBRequest::InitializeWithSetupPacket( IN PDMAMEMORYMANAGER DmaManager, IN PUSB_DEFAULT_PIPE_SETUP_PACKET SetupPacket, @@ -199,6 +200,7 @@ CUSBRequest::InitializeWithSetupPacket( } //---------------------------------------------------------------------------------------- NTSTATUS +STDMETHODCALLTYPE CUSBRequest::InitializeWithIrp( IN PDMAMEMORYMANAGER DmaManager, IN PUSBDEVICE Device, @@ -330,6 +332,7 @@ CUSBRequest::InitializeWithIrp( //---------------------------------------------------------------------------------------- VOID +STDMETHODCALLTYPE CUSBRequest::CompletionCallback( IN NTSTATUS NtStatusCode, IN ULONG UrbStatusCode, @@ -419,6 +422,7 @@ CUSBRequest::CompletionCallback( //---------------------------------------------------------------------------------------- NTSTATUS +STDMETHODCALLTYPE CUSBRequest::GetQueueHead( struct _QUEUE_HEAD ** OutHead) { @@ -476,6 +480,7 @@ CUSBRequest::GetQueueHead( //---------------------------------------------------------------------------------------- BOOLEAN +STDMETHODCALLTYPE CUSBRequest::IsRequestComplete() { // @@ -497,6 +502,7 @@ CUSBRequest::IsRequestComplete() } //---------------------------------------------------------------------------------------- ULONG +STDMETHODCALLTYPE CUSBRequest::GetTransferType() { // @@ -1283,6 +1289,7 @@ CUSBRequest::CreateQueueHead( //---------------------------------------------------------------------------------------- UCHAR +STDMETHODCALLTYPE CUSBRequest::GetDeviceAddress() { PIO_STACK_LOCATION IoStack; @@ -1523,6 +1530,7 @@ CUSBRequest::BuildSetupPacketFromURB() //---------------------------------------------------------------------------------------- VOID +STDMETHODCALLTYPE CUSBRequest::GetResultStatus( OUT OPTIONAL NTSTATUS * NtStatusCode, OUT OPTIONAL PULONG UrbStatusCode) @@ -1557,6 +1565,7 @@ CUSBRequest::GetResultStatus( //----------------------------------------------------------------------------------------- BOOLEAN +STDMETHODCALLTYPE CUSBRequest::ShouldReleaseRequestAfterCompletion() { if (m_Irp) @@ -1577,6 +1586,7 @@ CUSBRequest::ShouldReleaseRequestAfterCompletion() //----------------------------------------------------------------------------------------- VOID +STDMETHODCALLTYPE CUSBRequest::FreeQueueHead( IN struct _QUEUE_HEAD * QueueHead) { @@ -1639,6 +1649,7 @@ CUSBRequest::FreeQueueHead( //----------------------------------------------------------------------------------------- BOOLEAN +STDMETHODCALLTYPE CUSBRequest::IsQueueHeadComplete( struct _QUEUE_HEAD * QueueHead) { @@ -1733,6 +1744,7 @@ CUSBRequest::InternalCalculateTransferLength() //----------------------------------------------------------------------------------------- NTSTATUS +NTAPI InternalCreateUSBRequest( PUSBREQUEST *OutRequest) { diff --git a/reactos/drivers/usb/usbehci/usbehci.h b/reactos/drivers/usb/usbehci/usbehci.h index a9a847aec13..3a6ec0aa8fb 100644 --- a/reactos/drivers/usb/usbehci/usbehci.h +++ b/reactos/drivers/usb/usbehci/usbehci.h @@ -48,16 +48,16 @@ extern "C" // // hardware.cpp // -NTSTATUS CreateUSBHardware(PUSBHARDWAREDEVICE *OutHardware); +NTSTATUS NTAPI CreateUSBHardware(PUSBHARDWAREDEVICE *OutHardware); // // usb_queue.cpp // -NTSTATUS CreateUSBQueue(PUSBQUEUE *OutUsbQueue); +NTSTATUS NTAPI CreateUSBQueue(PUSBQUEUE *OutUsbQueue); // // usb_request.cpp // -NTSTATUS InternalCreateUSBRequest(PUSBREQUEST *OutRequest); +NTSTATUS NTAPI InternalCreateUSBRequest(PUSBREQUEST *OutRequest); #endif