https://git.reactos.org/?p=reactos.git;a=commitdiff;h=15a7b9dd2f302061f20ef…
commit 15a7b9dd2f302061f20efa4bbf1fdfd2c8bd2216
Author: Victor Perevertkin <victor.perevertkin(a)reactos.org>
AuthorDate: Sat Dec 5 20:52:13 2020 +0300
Commit: Victor Perevertkin <victor.perevertkin(a)reactos.org>
CommitDate: Sat Dec 5 22:15:29 2020 +0300
[CLASSPNP][CDROM_NEW][DISK_NEW] Fix clang build
CORE-17129
---
drivers/storage/class/cdrom_new/cdrom.h | 24 +++++++-------
drivers/storage/class/cdrom_new/ioctl.c | 4 +--
drivers/storage/class/cdrom_new/scratch.h | 6 ++--
drivers/storage/class/classpnp/autorun.c | 2 +-
drivers/storage/class/classpnp/classp.h | 52 +++++++++++++++----------------
drivers/storage/class/classpnp/debug.c | 2 +-
drivers/storage/class/classpnp/utils.c | 8 +++--
drivers/storage/class/disk_new/disk.h | 4 +--
drivers/storage/class/disk_new/diskwmi.c | 10 +++---
sdk/include/ddk/storduid.h | 4 +--
10 files changed, 59 insertions(+), 57 deletions(-)
diff --git a/drivers/storage/class/cdrom_new/cdrom.h
b/drivers/storage/class/cdrom_new/cdrom.h
index f9c0f43e818..e0dd90b9e00 100644
--- a/drivers/storage/class/cdrom_new/cdrom.h
+++ b/drivers/storage/class/cdrom_new/cdrom.h
@@ -807,7 +807,7 @@ VOID
#define CLEAR_FLAG(Flags, Bit) ((Flags) &= ~(Bit))
#define TEST_FLAG(Flags, Bit) (((Flags) & (Bit)) != 0)
-__inline
+FORCEINLINE // __REACTOS__
BOOLEAN
ValidChar(UCHAR Ch)
{
@@ -821,7 +821,7 @@ ValidChar(UCHAR Ch)
}
// could be #define, but this allows typechecking
-__inline
+FORCEINLINE // __REACTOS__
BOOLEAN
PORT_ALLOCATED_SENSE(
_In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
@@ -834,7 +834,7 @@ PORT_ALLOCATED_SENSE(
);
}
-__inline
+FORCEINLINE // __REACTOS__
VOID
FREE_PORT_ALLOCATED_SENSE_BUFFER(
_In_ PCDROM_DEVICE_EXTENSION DeviceExtension,
@@ -1497,19 +1497,19 @@ DvdSendKey(
//
// neat little hacks to count number of bits set efficiently
//
-__inline ULONG CountOfSetBitsUChar(UCHAR _X)
+FORCEINLINE ULONG CountOfSetBitsUChar(UCHAR _X)
{ ULONG i = 0; while (_X) { _X &= _X - 1; i++; } return i; }
-__inline ULONG CountOfSetBitsULong(ULONG _X)
+FORCEINLINE ULONG CountOfSetBitsULong(ULONG _X)
{ ULONG i = 0; while (_X) { _X &= _X - 1; i++; } return i; }
-__inline ULONG CountOfSetBitsULong32(ULONG32 _X)
+FORCEINLINE ULONG CountOfSetBitsULong32(ULONG32 _X)
{ ULONG i = 0; while (_X) { _X &= _X - 1; i++; } return i; }
-__inline ULONG CountOfSetBitsULong64(ULONG64 _X)
+FORCEINLINE ULONG CountOfSetBitsULong64(ULONG64 _X)
{ ULONG i = 0; while (_X) { _X &= _X - 1; i++; } return i; }
-__inline ULONG CountOfSetBitsUlongPtr(ULONG_PTR _X)
+FORCEINLINE ULONG CountOfSetBitsUlongPtr(ULONG_PTR _X)
{ ULONG i = 0; while (_X) { _X &= _X - 1; i++; } return i; }
-__inline
+FORCEINLINE // __REACTOS__
BOOLEAN
IsVolumeMounted(
_In_ PDEVICE_OBJECT DeviceObject
@@ -1523,7 +1523,7 @@ IsVolumeMounted(
}
-__inline _Ret_range_(0,MAXIMUM_RETRY_FOR_SINGLE_IO_IN_100NS_UNITS)
+FORCEINLINE _Ret_range_(0,MAXIMUM_RETRY_FOR_SINGLE_IO_IN_100NS_UNITS)
LONGLONG
ConvertSectorsPerSecondTo100nsUnitsFor64kWrite(
_In_range_(1,0xFFFFFFFF) ULONG SectorsPerSecond // zero would cause divide-by-zero
@@ -1549,7 +1549,7 @@ ConvertSectorsPerSecondTo100nsUnitsFor64kWrite(
return 320000000 / SectorsPerSecond;
}
-__inline
+FORCEINLINE // __REACTOS__
UCHAR
RequestGetCurrentStackLocationFlags(
_In_ WDFREQUEST Request
@@ -1564,7 +1564,7 @@ RequestGetCurrentStackLocationFlags(
return currentStack->Flags;
}
-__inline
+FORCEINLINE // __REACTOS__
ULONG
TimeOutValueGetCapValue(
_In_ ULONG TimeOutValue,
diff --git a/drivers/storage/class/cdrom_new/ioctl.c
b/drivers/storage/class/cdrom_new/ioctl.c
index f1db7724a86..e9971a7ee8d 100644
--- a/drivers/storage/class/cdrom_new/ioctl.c
+++ b/drivers/storage/class/cdrom_new/ioctl.c
@@ -6675,7 +6675,7 @@ Return Value:
return status;
} // end RequestHandleReserveRelease()
-__inline
+static // __REACTOS__
BOOLEAN
ValidPersistentReserveScope(
UCHAR Scope)
@@ -6692,7 +6692,7 @@ ValidPersistentReserveScope(
}
}
-__inline
+static // __REACTOS__
BOOLEAN
ValidPersistentReserveType(
UCHAR Type)
diff --git a/drivers/storage/class/cdrom_new/scratch.h
b/drivers/storage/class/cdrom_new/scratch.h
index 92d75328f0a..f142589e296 100644
--- a/drivers/storage/class/cdrom_new/scratch.h
+++ b/drivers/storage/class/cdrom_new/scratch.h
@@ -87,7 +87,7 @@ ScratchBuffer_PerformNextReadWrite(
#define ScratchBuffer_BeginUse(context) ScratchBuffer_BeginUseX((context), NULL,
(ULONG)-1)
#endif
-__inline VOID ScratchBuffer_BeginUseX(_Inout_ PCDROM_DEVICE_EXTENSION DeviceExtension,
_In_opt_ LPCSTR File, ULONG Line)
+FORCEINLINE VOID ScratchBuffer_BeginUseX(_Inout_ PCDROM_DEVICE_EXTENSION DeviceExtension,
_In_opt_ LPCSTR File, ULONG Line)
{
// NOTE: these are not "real" locks. They are simply to help
// avoid multiple uses of the scratch buffer. Thus, it
@@ -101,7 +101,7 @@ __inline VOID ScratchBuffer_BeginUseX(_Inout_ PCDROM_DEVICE_EXTENSION
DeviceExte
RequestClearSendTime(DeviceExtension->ScratchContext.ScratchRequest);
return;
}
-__inline VOID ScratchBuffer_EndUse(_Inout_ PCDROM_DEVICE_EXTENSION DeviceExtension)
+FORCEINLINE VOID ScratchBuffer_EndUse(_Inout_ PCDROM_DEVICE_EXTENSION DeviceExtension)
{
// NOTE: these are not "real" locks. They are simply to help
// avoid multiple uses of the scratch buffer. Thus, it
@@ -162,7 +162,7 @@ ScratchBuffer_ExecuteCdbEx(
);
_IRQL_requires_max_(APC_LEVEL)
-__inline
+FORCEINLINE // __REACTOS__
NTSTATUS
ScratchBuffer_ExecuteCdb(
_Inout_ PCDROM_DEVICE_EXTENSION DeviceExtension,
diff --git a/drivers/storage/class/classpnp/autorun.c
b/drivers/storage/class/classpnp/autorun.c
index 8791764915e..6500b4c998f 100644
--- a/drivers/storage/class/classpnp/autorun.c
+++ b/drivers/storage/class/classpnp/autorun.c
@@ -56,7 +56,7 @@ const GUID StoragePredictFailureEventGuid =
WMI_STORAGE_PREDICT_FAILURE_EVENT_GU
// would be to serialize the polling and power down irps so that
// only one of them is sent to the device at a time.
//
-__inline
+static
BOOLEAN
ClasspCanSendPollingIrp(
_In_ PFUNCTIONAL_DEVICE_EXTENSION fdoExtension
diff --git a/drivers/storage/class/classpnp/classp.h
b/drivers/storage/class/classpnp/classp.h
index dace321951d..81e47b2c66f 100644
--- a/drivers/storage/class/classpnp/classp.h
+++ b/drivers/storage/class/classpnp/classp.h
@@ -1208,16 +1208,16 @@ typedef struct _IO_RETRIED_LOG_MESSAGE_CONTEXT {
/*
* Simple singly-linked-list queuing macros, with no synchronization.
*/
-__inline VOID SimpleInitSlistHdr(SINGLE_LIST_ENTRY *SListHdr)
+FORCEINLINE VOID SimpleInitSlistHdr(SINGLE_LIST_ENTRY *SListHdr)
{
SListHdr->Next = NULL;
}
-__inline VOID SimplePushSlist(SINGLE_LIST_ENTRY *SListHdr, SINGLE_LIST_ENTRY
*SListEntry)
+FORCEINLINE VOID SimplePushSlist(SINGLE_LIST_ENTRY *SListHdr, SINGLE_LIST_ENTRY
*SListEntry)
{
SListEntry->Next = SListHdr->Next;
SListHdr->Next = SListEntry;
}
-__inline SINGLE_LIST_ENTRY *SimplePopSlist(SINGLE_LIST_ENTRY *SListHdr)
+FORCEINLINE SINGLE_LIST_ENTRY *SimplePopSlist(SINGLE_LIST_ENTRY *SListHdr)
{
SINGLE_LIST_ENTRY *sListEntry = SListHdr->Next;
if (sListEntry){
@@ -1226,12 +1226,12 @@ __inline SINGLE_LIST_ENTRY *SimplePopSlist(SINGLE_LIST_ENTRY
*SListHdr)
}
return sListEntry;
}
-__inline BOOLEAN SimpleIsSlistEmpty(SINGLE_LIST_ENTRY *SListHdr)
+FORCEINLINE BOOLEAN SimpleIsSlistEmpty(SINGLE_LIST_ENTRY *SListHdr)
{
return (SListHdr->Next == NULL);
}
-__inline
+FORCEINLINE
BOOLEAN
ClasspIsIdleRequestSupported(
PCLASS_PRIVATE_FDO_DATA FdoData,
@@ -1246,7 +1246,7 @@ ClasspIsIdleRequestSupported(
#endif
}
-__inline
+FORCEINLINE
VOID
ClasspMarkIrpAsIdle(
PIRP Irp,
@@ -1263,7 +1263,7 @@ ClasspMarkIrpAsIdle(
#endif
}
-__inline
+FORCEINLINE
BOOLEAN
ClasspIsIdleRequest(
PIRP Irp
@@ -1275,7 +1275,7 @@ ClasspIsIdleRequest(
return ((BOOLEAN)Irp->Tail.Overlay.DriverContext[1]);
}
-__inline
+FORCEINLINE
LARGE_INTEGER
ClasspGetCurrentTime(
VOID
@@ -1292,7 +1292,7 @@ ClasspGetCurrentTime(
return currentTime;
}
-__inline
+FORCEINLINE
ULONGLONG
ClasspTimeDiffToMs(
ULONGLONG TimeDiff
@@ -1303,7 +1303,7 @@ ClasspTimeDiffToMs(
return TimeDiff;
}
-__inline
+FORCEINLINE
BOOLEAN
ClasspSupportsUnmap(
_In_ PCLASS_FUNCTION_SUPPORT_INFO SupportInfo
@@ -1312,7 +1312,7 @@ ClasspSupportsUnmap(
return SupportInfo->LBProvisioningData.LBPU;
}
-__inline
+FORCEINLINE
BOOLEAN
ClasspIsThinProvisioned(
_In_ PCLASS_FUNCTION_SUPPORT_INFO SupportInfo
@@ -1330,7 +1330,7 @@ ClasspIsThinProvisioned(
return FALSE;
}
-__inline
+FORCEINLINE
BOOLEAN
ClasspIsObsoletePortDriver(
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
@@ -2018,7 +2018,7 @@ ClasspBinaryToAscii(
_Inout_ PULONG UpdateLength
);
-__inline
+FORCEINLINE
BOOLEAN
ClasspIsTokenOperationComplete(
_In_ ULONG CurrentStatus
@@ -2039,7 +2039,7 @@ ClasspIsTokenOperationComplete(
return operationCompleted;
}
-__inline
+FORCEINLINE
BOOLEAN
ClasspIsTokenOperation(
_In_ PCDB Cdb
@@ -2061,7 +2061,7 @@ ClasspIsTokenOperation(
return tokenOperation;
}
-__inline
+FORCEINLINE
BOOLEAN
ClasspIsReceiveTokenInformation(
_In_ PCDB Cdb
@@ -2082,7 +2082,7 @@ ClasspIsReceiveTokenInformation(
return receiveTokenInformation;
}
-__inline
+FORCEINLINE
BOOLEAN
ClasspIsOffloadDataTransferCommand(
_In_ PCDB Cdb
@@ -2441,7 +2441,7 @@ ClasspConvertToScsiRequestBlock(
_In_ PSTORAGE_REQUEST_BLOCK SrbEx
);
-__inline PCDB
+FORCEINLINE PCDB
ClasspTransferPacketGetCdb(
_In_ PTRANSFER_PACKET Pkt
)
@@ -2455,7 +2455,7 @@ ClasspTransferPacketGetCdb(
//
// For unknown operation codes this function will return false and will set
TimesAlreadyRetried with zero
//
-__inline BOOLEAN
+FORCEINLINE BOOLEAN
ClasspTransferPacketGetNumberOfRetriesDone(
_In_ PTRANSFER_PACKET Pkt,
_In_ PCDB Cdb,
@@ -2509,7 +2509,7 @@ ClasspTransferPacketGetNumberOfRetriesDone(
}
-__inline PVOID
+FORCEINLINE PVOID
ClasspTransferPacketGetSenseInfoBuffer(
_In_ PTRANSFER_PACKET Pkt
)
@@ -2517,7 +2517,7 @@ ClasspTransferPacketGetSenseInfoBuffer(
return SrbGetSenseInfoBuffer(Pkt->Srb);
}
-__inline UCHAR
+FORCEINLINE UCHAR
ClasspTransferPacketGetSenseInfoBufferLength(
_In_ PTRANSFER_PACKET Pkt
)
@@ -2526,7 +2526,7 @@ ClasspTransferPacketGetSenseInfoBufferLength(
}
-__inline VOID
+FORCEINLINE VOID
ClasspSrbSetOriginalIrp(
_In_ PSTORAGE_REQUEST_BLOCK_HEADER Srb,
_In_ PIRP Irp
@@ -2542,7 +2542,7 @@ ClasspSrbSetOriginalIrp(
}
}
-__inline
+FORCEINLINE
BOOLEAN
PORT_ALLOCATED_SENSE_EX(
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
@@ -2555,7 +2555,7 @@ PORT_ALLOCATED_SENSE_EX(
);
}
-__inline
+FORCEINLINE
VOID
FREE_PORT_ALLOCATED_SENSE_BUFFER_EX(
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
@@ -2580,7 +2580,7 @@ ClasspFailurePredictionPeriodMissed(
_In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
);
-__inline
+FORCEINLINE
ULONG
ClasspGetMaxUsableBufferLengthFromOffset(
_In_ PVOID BaseAddress,
@@ -2633,7 +2633,7 @@ ClasspIsThinProvisioningError (
_In_ PSCSI_REQUEST_BLOCK _Srb
);
-__inline
+FORCEINLINE
BOOLEAN
ClasspLowerLayerNotSupport (
_In_ NTSTATUS Status
@@ -2646,7 +2646,7 @@ ClasspLowerLayerNotSupport (
}
#if defined(__REACTOS__) && (NTDDI_VERSION >= NTDDI_WINBLUE)
-__inline
+FORCEINLINE
BOOLEAN
ClasspSrbTimeOutStatus (
_In_ PSTORAGE_REQUEST_BLOCK_HEADER Srb
diff --git a/drivers/storage/class/classpnp/debug.c
b/drivers/storage/class/classpnp/debug.c
index b39f1e9db48..45902a8933e 100644
--- a/drivers/storage/class/classpnp/debug.c
+++ b/drivers/storage/class/classpnp/debug.c
@@ -422,7 +422,7 @@ Revision History:
A pointer to the value to be incremented.
--*/
- __inline VOID DbgSafeInc(PULONG pValue)
+ static VOID DbgSafeInc(PULONG pValue)
{
ULONG incrementResult;
if(NT_SUCCESS(RtlULongAdd(*pValue, 1, &incrementResult))) {
diff --git a/drivers/storage/class/classpnp/utils.c
b/drivers/storage/class/classpnp/utils.c
index ee7593c2f5d..37aeddaf41d 100644
--- a/drivers/storage/class/classpnp/utils.c
+++ b/drivers/storage/class/classpnp/utils.c
@@ -1883,7 +1883,7 @@ Exit:
return status;
}
-__inline
+static
NTSTATUS
IncursSeekPenalty (
_In_ USHORT MediumRotationRate,
@@ -6147,7 +6147,7 @@ __ClasspQueueLogIOEventWithContextWorker_Exit:
}
}
-__inline
+static
BOOLEAN
ValidPersistentReserveScope(
UCHAR Scope)
@@ -6166,7 +6166,7 @@ ValidPersistentReserveScope(
return FALSE;
}
-__inline
+static
BOOLEAN
ValidPersistentReserveType(
UCHAR Type)
@@ -8324,6 +8324,7 @@ retry:
#endif // #if (NTDDI_VERSION >= NTDDI_WINTHRESHOLD)
+#ifndef __REACTOS__ // the functions is not used
__inline
BOOLEAN
ClassDeviceHwFirmwareIsPortDriverSupported(
@@ -8359,6 +8360,7 @@ Return Value:
return isSupported;
}
+#endif
NTSTATUS
ClassDeviceHwFirmwareGetInfoProcess(
diff --git a/drivers/storage/class/disk_new/disk.h
b/drivers/storage/class/disk_new/disk.h
index 3ba2bf2ac15..7954cb0eb1e 100644
--- a/drivers/storage/class/disk_new/disk.h
+++ b/drivers/storage/class/disk_new/disk.h
@@ -985,7 +985,7 @@ DiskIoctlSmartSendDriveCommand(
IN OUT PIRP Irp
);
-__inline
+FORCEINLINE // __REACTOS__
PCDB
GetSrbScsiData(
_In_ PSTORAGE_REQUEST_BLOCK SrbEx,
@@ -1175,7 +1175,7 @@ Return Value:
return Cdb;
}
-__inline
+FORCEINLINE // __REACTOS__
VOID
SetSrbScsiData(
_In_ PSTORAGE_REQUEST_BLOCK SrbEx,
diff --git a/drivers/storage/class/disk_new/diskwmi.c
b/drivers/storage/class/disk_new/diskwmi.c
index 449d3e16b38..ad022975ee1 100644
--- a/drivers/storage/class/disk_new/diskwmi.c
+++ b/drivers/storage/class/disk_new/diskwmi.c
@@ -267,7 +267,7 @@ GUID DiskPredictFailureEventGuid =
WMI_STORAGE_PREDICT_FAILURE_EVENT_GUID;
//
// Enable SMART
//
-_inline NTSTATUS
+static NTSTATUS
DiskEnableSmart(
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
@@ -289,7 +289,7 @@ DiskEnableSmart(
//
// Disable SMART
//
-_inline NTSTATUS
+static NTSTATUS
DiskDisableSmart(
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension
)
@@ -307,7 +307,7 @@ DiskDisableSmart(
&bufferSize);
}
-
+#ifndef __REACTOS__ // functions are not used
//
// Enable Attribute Autosave
//
@@ -350,12 +350,12 @@ DiskDisableSmartAttributeAutosave(
(PSRB_IO_CONTROL)srbControl,
&bufferSize);
}
-
+#endif
//
// Initialize execution of SMART online diagnostics
//
-_inline NTSTATUS
+static NTSTATUS
DiskExecuteSmartDiagnostics(
PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
UCHAR Subcommand
diff --git a/sdk/include/ddk/storduid.h b/sdk/include/ddk/storduid.h
index fa8d89eb751..cba21bb42f1 100644
--- a/sdk/include/ddk/storduid.h
+++ b/sdk/include/ddk/storduid.h
@@ -45,13 +45,13 @@ typedef struct _STORAGE_DEVICE_LAYOUT_SIGNATURE
} DeviceSpecific;
} STORAGE_DEVICE_LAYOUT_SIGNATURE, *PSTORAGE_DEVICE_LAYOUT_SIGNATURE;
-inline
+FORCEINLINE
DUID_MATCH_STATUS
CompareStorageDuids(
_In_ PSTORAGE_DEVICE_UNIQUE_IDENTIFIER Duid1,
_In_ PSTORAGE_DEVICE_UNIQUE_IDENTIFIER Duid2);
-inline
+FORCEINLINE
DUID_MATCH_STATUS
CompareStorageDuids(
_In_ PSTORAGE_DEVICE_UNIQUE_IDENTIFIER Duid1,