Fix some warnings

svn path=/trunk/; revision=26127
This commit is contained in:
Hervé Poussineau 2007-03-17 23:21:23 +00:00
parent 889d81aa97
commit 2d8e002457
14 changed files with 54 additions and 95 deletions

View file

@ -7,7 +7,6 @@
* PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org) * PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org)
*/ */
#define NDEBUG
#include "serial.h" #include "serial.h"
NTSTATUS NTSTATUS

View file

@ -7,7 +7,6 @@
* PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org) * PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org)
*/ */
#define NDEBUG
#include "serial.h" #include "serial.h"
NTSTATUS NTAPI NTSTATUS NTAPI

View file

@ -7,7 +7,6 @@
* PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org) * PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org)
*/ */
#define NDEBUG
#include "serial.h" #include "serial.h"
NTSTATUS NTAPI NTSTATUS NTAPI

View file

@ -7,7 +7,6 @@
* PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org) * PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org)
*/ */
#define NDEBUG
#include "serial.h" #include "serial.h"
NTSTATUS NTAPI NTSTATUS NTAPI

View file

@ -7,7 +7,6 @@
* PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org) * PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org)
*/ */
#define NDEBUG
#include "serial.h" #include "serial.h"
#define IO_METHOD_FROM_CTL_CODE(ctlCode) (ctlCode&0x00000003) #define IO_METHOD_FROM_CTL_CODE(ctlCode) (ctlCode&0x00000003)
@ -52,7 +51,7 @@ SerialSetBaudRate(
{ {
ULONG BaudRate; ULONG BaudRate;
USHORT divisor; USHORT divisor;
PUCHAR ComPortBase = (PUCHAR)DeviceExtension->BaseAddress; PUCHAR ComPortBase = ULongToPtr(DeviceExtension->BaseAddress);
NTSTATUS Status = STATUS_SUCCESS; NTSTATUS Status = STATUS_SUCCESS;
if (NewBaudRate == 0) if (NewBaudRate == 0)
@ -61,7 +60,7 @@ SerialSetBaudRate(
divisor = (USHORT)(BAUD_CLOCK / (CLOCKS_PER_BIT * NewBaudRate)); divisor = (USHORT)(BAUD_CLOCK / (CLOCKS_PER_BIT * NewBaudRate));
BaudRate = BAUD_CLOCK / (CLOCKS_PER_BIT * divisor); BaudRate = BAUD_CLOCK / (CLOCKS_PER_BIT * divisor);
Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
if (NT_SUCCESS(Status)) if (NT_SUCCESS(Status))
{ {
UCHAR Lcr; UCHAR Lcr;
@ -75,7 +74,7 @@ SerialSetBaudRate(
/* Switch back to normal registers */ /* Switch back to normal registers */
WRITE_PORT_UCHAR(SER_LCR(ComPortBase), Lcr); WRITE_PORT_UCHAR(SER_LCR(ComPortBase), Lcr);
IoReleaseRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); IoReleaseRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
} }
if (NT_SUCCESS(Status)) if (NT_SUCCESS(Status))
@ -141,15 +140,15 @@ SerialSetLineControl(
} }
/* Update current parameters */ /* Update current parameters */
ComPortBase = (PUCHAR)DeviceExtension->BaseAddress; ComPortBase = ULongToPtr(DeviceExtension->BaseAddress);
Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
return Status; return Status;
WRITE_PORT_UCHAR(SER_LCR(ComPortBase), Lcr); WRITE_PORT_UCHAR(SER_LCR(ComPortBase), Lcr);
/* Read junk out of RBR */ /* Read junk out of RBR */
READ_PORT_UCHAR(SER_RBR(ComPortBase)); READ_PORT_UCHAR(SER_RBR(ComPortBase));
IoReleaseRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); IoReleaseRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
if (NT_SUCCESS(Status)) if (NT_SUCCESS(Status))
DeviceExtension->SerialLineControl = *NewSettings; DeviceExtension->SerialLineControl = *NewSettings;
@ -295,7 +294,7 @@ SerialDeviceControl(
LengthIn = Stack->Parameters.DeviceIoControl.InputBufferLength; LengthIn = Stack->Parameters.DeviceIoControl.InputBufferLength;
LengthOut = Stack->Parameters.DeviceIoControl.OutputBufferLength; LengthOut = Stack->Parameters.DeviceIoControl.OutputBufferLength;
DeviceExtension = (PSERIAL_DEVICE_EXTENSION)DeviceObject->DeviceExtension; DeviceExtension = (PSERIAL_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
ComPortBase = (PUCHAR)DeviceExtension->BaseAddress; ComPortBase = ULongToPtr(DeviceExtension->BaseAddress);
IoControlCode = Stack->Parameters.DeviceIoControl.IoControlCode; IoControlCode = Stack->Parameters.DeviceIoControl.IoControlCode;
SerialGetUserBuffers(Irp, IoControlCode, &BufferIn, &BufferOut); SerialGetUserBuffers(Irp, IoControlCode, &BufferIn, &BufferOut);
@ -318,12 +317,12 @@ SerialDeviceControl(
DPRINT("IOCTL_SERIAL_CLR_DTR\n"); DPRINT("IOCTL_SERIAL_CLR_DTR\n");
/* FIXME: If the handshake flow control of the device is configured to /* FIXME: If the handshake flow control of the device is configured to
* automatically use DTR, return STATUS_INVALID_PARAMETER */ * automatically use DTR, return STATUS_INVALID_PARAMETER */
Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
if (NT_SUCCESS(Status)) if (NT_SUCCESS(Status))
{ {
DeviceExtension->MCR &= ~SR_MCR_DTR; DeviceExtension->MCR &= ~SR_MCR_DTR;
WRITE_PORT_UCHAR(SER_MCR(ComPortBase), DeviceExtension->MCR); WRITE_PORT_UCHAR(SER_MCR(ComPortBase), DeviceExtension->MCR);
IoReleaseRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); IoReleaseRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
} }
break; break;
} }
@ -332,12 +331,12 @@ SerialDeviceControl(
DPRINT("IOCTL_SERIAL_CLR_RTS\n"); DPRINT("IOCTL_SERIAL_CLR_RTS\n");
/* FIXME: If the handshake flow control of the device is configured to /* FIXME: If the handshake flow control of the device is configured to
* automatically use RTS, return STATUS_INVALID_PARAMETER */ * automatically use RTS, return STATUS_INVALID_PARAMETER */
Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
if (NT_SUCCESS(Status)) if (NT_SUCCESS(Status))
{ {
DeviceExtension->MCR &= ~SR_MCR_RTS; DeviceExtension->MCR &= ~SR_MCR_RTS;
WRITE_PORT_UCHAR(SER_MCR(ComPortBase), DeviceExtension->MCR); WRITE_PORT_UCHAR(SER_MCR(ComPortBase), DeviceExtension->MCR);
IoReleaseRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); IoReleaseRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
} }
break; break;
} }
@ -557,11 +556,11 @@ SerialDeviceControl(
if (DeviceExtension->UartType >= Uart16550A) if (DeviceExtension->UartType >= Uart16550A)
{ {
/* Clear also Uart FIFO */ /* Clear also Uart FIFO */
Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
if (NT_SUCCESS(Status)) if (NT_SUCCESS(Status))
{ {
WRITE_PORT_UCHAR(SER_FCR(ComPortBase), SR_FCR_CLEAR_RCVR); WRITE_PORT_UCHAR(SER_FCR(ComPortBase), SR_FCR_CLEAR_RCVR);
IoReleaseRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); IoReleaseRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
} }
} }
KeReleaseSpinLock(&DeviceExtension->InputBufferLock, Irql); KeReleaseSpinLock(&DeviceExtension->InputBufferLock, Irql);
@ -574,11 +573,11 @@ SerialDeviceControl(
if (DeviceExtension->UartType >= Uart16550A) if (DeviceExtension->UartType >= Uart16550A)
{ {
/* Clear also Uart FIFO */ /* Clear also Uart FIFO */
Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
if (NT_SUCCESS(Status)) if (NT_SUCCESS(Status))
{ {
WRITE_PORT_UCHAR(SER_FCR(ComPortBase), SR_FCR_CLEAR_XMIT); WRITE_PORT_UCHAR(SER_FCR(ComPortBase), SR_FCR_CLEAR_XMIT);
IoReleaseRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); IoReleaseRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
} }
} }
KeReleaseSpinLock(&DeviceExtension->OutputBufferLock, Irql); KeReleaseSpinLock(&DeviceExtension->OutputBufferLock, Irql);
@ -634,12 +633,12 @@ SerialDeviceControl(
DPRINT("IOCTL_SERIAL_SET_DTR\n"); DPRINT("IOCTL_SERIAL_SET_DTR\n");
if (!(DeviceExtension->MCR & SR_MCR_DTR)) if (!(DeviceExtension->MCR & SR_MCR_DTR))
{ {
Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
if (NT_SUCCESS(Status)) if (NT_SUCCESS(Status))
{ {
DeviceExtension->MCR |= SR_MCR_DTR; DeviceExtension->MCR |= SR_MCR_DTR;
WRITE_PORT_UCHAR(SER_MCR(ComPortBase), DeviceExtension->MCR); WRITE_PORT_UCHAR(SER_MCR(ComPortBase), DeviceExtension->MCR);
IoReleaseRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); IoReleaseRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
} }
} }
else else
@ -653,11 +652,11 @@ SerialDeviceControl(
Status = STATUS_INVALID_PARAMETER; Status = STATUS_INVALID_PARAMETER;
else else
{ {
Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
if (NT_SUCCESS(Status)) if (NT_SUCCESS(Status))
{ {
WRITE_PORT_UCHAR(SER_FCR(ComPortBase), (UCHAR)((*(PULONG)BufferIn) & 0xff)); WRITE_PORT_UCHAR(SER_FCR(ComPortBase), (UCHAR)((*(PULONG)BufferIn) & 0xff));
IoReleaseRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); IoReleaseRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
} }
} }
break; break;
@ -688,13 +687,13 @@ SerialDeviceControl(
Status = STATUS_INVALID_PARAMETER; Status = STATUS_INVALID_PARAMETER;
else else
{ {
Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
if (NT_SUCCESS(Status)) if (NT_SUCCESS(Status))
{ {
pMCR = (PULONG)BufferIn; pMCR = (PULONG)BufferIn;
DeviceExtension->MCR = (UCHAR)(*pMCR & 0xff); DeviceExtension->MCR = (UCHAR)(*pMCR & 0xff);
WRITE_PORT_UCHAR(SER_MCR(ComPortBase), DeviceExtension->MCR); WRITE_PORT_UCHAR(SER_MCR(ComPortBase), DeviceExtension->MCR);
IoReleaseRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); IoReleaseRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
} }
} }
break; break;
@ -732,12 +731,12 @@ SerialDeviceControl(
DPRINT("IOCTL_SERIAL_SET_RTS\n"); DPRINT("IOCTL_SERIAL_SET_RTS\n");
if (!(DeviceExtension->MCR & SR_MCR_RTS)) if (!(DeviceExtension->MCR & SR_MCR_RTS))
{ {
Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
if (NT_SUCCESS(Status)) if (NT_SUCCESS(Status))
{ {
DeviceExtension->MCR |= SR_MCR_RTS; DeviceExtension->MCR |= SR_MCR_RTS;
WRITE_PORT_UCHAR(SER_MCR(ComPortBase), DeviceExtension->MCR); WRITE_PORT_UCHAR(SER_MCR(ComPortBase), DeviceExtension->MCR);
IoReleaseRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); IoReleaseRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
} }
} }
else else

View file

@ -7,7 +7,6 @@
* PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org) * PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org)
*/ */
#define NDEBUG
#include "serial.h" #include "serial.h"
NTSTATUS NTAPI NTSTATUS NTAPI

View file

@ -8,7 +8,6 @@
* Mark Junker (mjscod@gmx.de) * Mark Junker (mjscod@gmx.de)
*/ */
#define NDEBUG
#include "serial.h" #include "serial.h"
UART_TYPE UART_TYPE

View file

@ -8,9 +8,10 @@
*/ */
/* FIXME: call IoAcquireRemoveLock/IoReleaseRemoveLock around each I/O operation */ /* FIXME: call IoAcquireRemoveLock/IoReleaseRemoveLock around each I/O operation */
#define NDEBUG
#include "serial.h" #include "serial.h"
static IO_COMPLETION_ROUTINE ForwardIrpAndWaitCompletion;
static NTSTATUS NTAPI static NTSTATUS NTAPI
ForwardIrpAndWaitCompletion( ForwardIrpAndWaitCompletion(
IN PDEVICE_OBJECT DeviceObject, IN PDEVICE_OBJECT DeviceObject,
@ -36,7 +37,7 @@ ForwardIrpAndWait(
KeInitializeEvent(&Event, NotificationEvent, FALSE); KeInitializeEvent(&Event, NotificationEvent, FALSE);
IoCopyCurrentIrpStackLocationToNext(Irp); IoCopyCurrentIrpStackLocationToNext(Irp);
DPRINT("Calling lower device %p [%wZ]\n", LowerDevice, &LowerDevice->DriverObject->DriverName); DPRINT("Calling lower device %p\n", LowerDevice);
IoSetCompletionRoutine(Irp, ForwardIrpAndWaitCompletion, &Event, TRUE, TRUE, TRUE); IoSetCompletionRoutine(Irp, ForwardIrpAndWaitCompletion, &Event, TRUE, TRUE, TRUE);
Status = IoCallDriver(LowerDevice, Irp); Status = IoCallDriver(LowerDevice, Irp);
@ -78,7 +79,7 @@ SerialReceiveByte(
NTSTATUS Status; NTSTATUS Status;
DeviceExtension = (PSERIAL_DEVICE_EXTENSION)pDeviceExtension; DeviceExtension = (PSERIAL_DEVICE_EXTENSION)pDeviceExtension;
ComPortBase = (PUCHAR)DeviceExtension->BaseAddress; ComPortBase = ULongToPtr(DeviceExtension->BaseAddress);
KeAcquireSpinLock(&DeviceExtension->InputBufferLock, &Irql); KeAcquireSpinLock(&DeviceExtension->InputBufferLock, &Irql);
while (READ_PORT_UCHAR(SER_LSR(ComPortBase)) & SR_LSR_DATA_RECEIVED) while (READ_PORT_UCHAR(SER_LSR(ComPortBase)) & SR_LSR_DATA_RECEIVED)
@ -115,7 +116,7 @@ SerialSendByte(
NTSTATUS Status; NTSTATUS Status;
DeviceExtension = (PSERIAL_DEVICE_EXTENSION)pDeviceExtension; DeviceExtension = (PSERIAL_DEVICE_EXTENSION)pDeviceExtension;
ComPortBase = (PUCHAR)DeviceExtension->BaseAddress; ComPortBase = ULongToPtr(DeviceExtension->BaseAddress);
KeAcquireSpinLock(&DeviceExtension->OutputBufferLock, &Irql); KeAcquireSpinLock(&DeviceExtension->OutputBufferLock, &Irql);
while (!IsCircularBufferEmpty(&DeviceExtension->OutputBuffer) while (!IsCircularBufferEmpty(&DeviceExtension->OutputBuffer)
@ -164,7 +165,7 @@ SerialInterruptService(
DeviceObject = (PDEVICE_OBJECT)ServiceContext; DeviceObject = (PDEVICE_OBJECT)ServiceContext;
DeviceExtension = (PSERIAL_DEVICE_EXTENSION)DeviceObject->DeviceExtension; DeviceExtension = (PSERIAL_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
ComPortBase = (PUCHAR)DeviceExtension->BaseAddress; ComPortBase = ULongToPtr(DeviceExtension->BaseAddress);
Iir = READ_PORT_UCHAR(SER_IIR(ComPortBase)); Iir = READ_PORT_UCHAR(SER_IIR(ComPortBase));
if (Iir == 0xff) if (Iir == 0xff)

View file

@ -9,7 +9,6 @@
/* FIXME: call IoAcquireRemoveLock/IoReleaseRemoveLock around each I/O operation */ /* FIXME: call IoAcquireRemoveLock/IoReleaseRemoveLock around each I/O operation */
#define INITGUID #define INITGUID
#define NDEBUG
#include "serial.h" #include "serial.h"
NTSTATUS NTAPI NTSTATUS NTAPI
@ -216,7 +215,7 @@ SerialPnpStartDevice(
return STATUS_INSUFFICIENT_RESOURCES; return STATUS_INSUFFICIENT_RESOURCES;
if (!Dirql) if (!Dirql)
return STATUS_INSUFFICIENT_RESOURCES; return STATUS_INSUFFICIENT_RESOURCES;
ComPortBase = (PUCHAR)DeviceExtension->BaseAddress; ComPortBase = ULongToPtr(DeviceExtension->BaseAddress);
/* Test if we are trying to start the serial port used for debugging */ /* Test if we are trying to start the serial port used for debugging */
DPRINT1("KdComPort: %p\n", KdComPortInUse); DPRINT1("KdComPort: %p\n", KdComPortInUse);

View file

@ -7,7 +7,6 @@
* PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org) * PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org)
*/ */
#define NDEBUG
#include "serial.h" #include "serial.h"
NTSTATUS NTAPI NTSTATUS NTAPI

View file

@ -7,9 +7,10 @@
* PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org) * PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org)
*/ */
#define NDEBUG
#include "serial.h" #include "serial.h"
static IO_WORKITEM_ROUTINE SerialReadWorkItem;
static PVOID static PVOID
SerialGetUserBuffer(IN PIRP Irp) SerialGetUserBuffer(IN PIRP Irp)
{ {
@ -40,7 +41,7 @@ ReadBytes(
ASSERT(WorkItemData); ASSERT(WorkItemData);
DeviceExtension = (PSERIAL_DEVICE_EXTENSION)DeviceObject->DeviceExtension; DeviceExtension = (PSERIAL_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
ComPortBase = (PUCHAR)DeviceExtension->BaseAddress; ComPortBase = ULongToPtr(DeviceExtension->BaseAddress);
Length = IoGetCurrentIrpStackLocation(Irp)->Parameters.Read.Length; Length = IoGetCurrentIrpStackLocation(Irp)->Parameters.Read.Length;
Buffer = SerialGetUserBuffer(Irp); Buffer = SerialGetUserBuffer(Irp);
@ -228,7 +229,7 @@ SerialRead(
/* insufficient resources, we can't pend the Irp */ /* insufficient resources, we can't pend the Irp */
CHECKPOINT; CHECKPOINT;
Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
{ {
ExFreePoolWithTag(WorkItemData, SERIAL_TAG); ExFreePoolWithTag(WorkItemData, SERIAL_TAG);
@ -237,7 +238,7 @@ SerialRead(
ReadBytes(DeviceObject, Irp, WorkItemData); ReadBytes(DeviceObject, Irp, WorkItemData);
Status = Irp->IoStatus.Status; Status = Irp->IoStatus.Status;
IoReleaseRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); IoReleaseRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
ByeBye: ByeBye:
Irp->IoStatus.Status = Status; Irp->IoStatus.Status = Status;
@ -268,7 +269,7 @@ SerialWrite(
Length = Stack->Parameters.Write.Length; Length = Stack->Parameters.Write.Length;
Buffer = SerialGetUserBuffer(Irp); Buffer = SerialGetUserBuffer(Irp);
DeviceExtension = (PSERIAL_DEVICE_EXTENSION)DeviceObject->DeviceExtension; DeviceExtension = (PSERIAL_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
ComPortBase = (PUCHAR)DeviceExtension->BaseAddress; ComPortBase = ULongToPtr(DeviceExtension->BaseAddress);
if (Stack->Parameters.Write.ByteOffset.QuadPart != 0 || Buffer == NULL) if (Stack->Parameters.Write.ByteOffset.QuadPart != 0 || Buffer == NULL)
{ {
@ -276,7 +277,7 @@ SerialWrite(
goto ByeBye; goto ByeBye;
} }
Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); Status = IoAcquireRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
goto ByeBye; goto ByeBye;
@ -304,7 +305,7 @@ SerialWrite(
Information++; Information++;
} }
KeReleaseSpinLock(&DeviceExtension->OutputBufferLock, Irql); KeReleaseSpinLock(&DeviceExtension->OutputBufferLock, Irql);
IoReleaseRemoveLock(&DeviceExtension->RemoveLock, (PVOID)DeviceExtension->ComPort); IoReleaseRemoveLock(&DeviceExtension->RemoveLock, ULongToPtr(DeviceExtension->ComPort));
/* send bytes */ /* send bytes */
SerialSendByte(NULL, DeviceExtension, NULL, NULL); SerialSendByte(NULL, DeviceExtension, NULL, NULL);

View file

@ -7,9 +7,11 @@
* PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org) * PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org)
*/ */
//#define NDEBUG
#include "serial.h" #include "serial.h"
static DRIVER_UNLOAD DriverUnload;
DRIVER_INITIALIZE DriverEntry;
static VOID NTAPI static VOID NTAPI
DriverUnload(IN PDRIVER_OBJECT DriverObject) DriverUnload(IN PDRIVER_OBJECT DriverObject)
{ {

View file

@ -227,31 +227,19 @@ IncreaseCircularBufferSize(
/************************************ cleanup.c */ /************************************ cleanup.c */
NTSTATUS NTAPI DRIVER_DISPATCH SerialCleanup;
SerialCleanup(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp);
/************************************ close.c */ /************************************ close.c */
NTSTATUS NTAPI DRIVER_DISPATCH SerialClose;
SerialClose(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp);
/************************************ create.c */ /************************************ create.c */
NTSTATUS NTAPI DRIVER_DISPATCH SerialCreate;
SerialCreate(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp);
/************************************ devctrl.c */ /************************************ devctrl.c */
NTSTATUS NTAPI DRIVER_DISPATCH SerialDeviceControl;
SerialDeviceControl(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp);
NTSTATUS NTAPI NTSTATUS NTAPI
SerialSetBaudRate( SerialSetBaudRate(
@ -265,10 +253,7 @@ SerialSetLineControl(
/************************************ info.c */ /************************************ info.c */
NTSTATUS NTAPI DRIVER_DISPATCH SerialQueryInformation;
SerialQueryInformation(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp);
/************************************ legacy.c */ /************************************ legacy.c */
@ -283,10 +268,7 @@ ForwardIrpAndWait(
IN PDEVICE_OBJECT DeviceObject, IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp); IN PIRP Irp);
NTSTATUS NTAPI DRIVER_DISPATCH ForwardIrpAndForget;
ForwardIrpAndForget(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp);
VOID NTAPI VOID NTAPI
SerialReceiveByte( SerialReceiveByte(
@ -309,10 +291,7 @@ SerialCompleteIrp(
IN PVOID pIrp, // real type PIRP IN PVOID pIrp, // real type PIRP
IN PVOID Unused); IN PVOID Unused);
BOOLEAN NTAPI KSERVICE_ROUTINE SerialInterruptService;
SerialInterruptService(
IN PKINTERRUPT Interrupt,
IN OUT PVOID ServiceContext);
/************************************ pnp.c */ /************************************ pnp.c */
@ -324,10 +303,7 @@ SerialAddDeviceInternal(
IN PULONG pComPortNumber OPTIONAL, IN PULONG pComPortNumber OPTIONAL,
OUT PDEVICE_OBJECT* pFdo OPTIONAL); OUT PDEVICE_OBJECT* pFdo OPTIONAL);
NTSTATUS NTAPI DRIVER_ADD_DEVICE SerialAddDevice;
SerialAddDevice(
IN PDRIVER_OBJECT DriverObject,
IN PDEVICE_OBJECT Pdo);
NTSTATUS NTAPI NTSTATUS NTAPI
SerialPnpStartDevice( SerialPnpStartDevice(
@ -335,26 +311,13 @@ SerialPnpStartDevice(
IN PCM_RESOURCE_LIST ResourceList, IN PCM_RESOURCE_LIST ResourceList,
IN PCM_RESOURCE_LIST ResourceListTranslated); IN PCM_RESOURCE_LIST ResourceListTranslated);
NTSTATUS NTAPI DRIVER_DISPATCH SerialPnp;
SerialPnp(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp);
/************************************ power.c */ /************************************ power.c */
NTSTATUS NTAPI DRIVER_DISPATCH SerialPower;
SerialPower(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp);
/************************************ rw.c */ /************************************ rw.c */
NTSTATUS NTAPI DRIVER_DISPATCH SerialRead;
SerialRead( DRIVER_DISPATCH SerialWrite;
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp);
NTSTATUS NTAPI
SerialWrite(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp);

View file

@ -1,5 +1,6 @@
<module name="serial" type="kernelmodedriver" installbase="system32/drivers" installname="serial.sys"> <module name="serial" type="kernelmodedriver" installbase="system32/drivers" installname="serial.sys">
<define name="__USE_W32API" /> <define name="__USE_W32API" />
<define name="NDEBUG" />
<library>ntoskrnl</library> <library>ntoskrnl</library>
<library>hal</library> <library>hal</library>
<file>circularbuffer.c</file> <file>circularbuffer.c</file>