[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [win-pv-devel] [PATCH 3/8] Refactor - hide default Pnp/Power function pointers
> -----Original Message----- > From: win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx [mailto:win-pv-devel- > bounces@xxxxxxxxxxxxxxxxxxxx] On Behalf Of Owen Smith > Sent: 27 October 2015 11:16 > To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx > Cc: Owen Smith > Subject: [win-pv-devel] [PATCH 3/8] Refactor - hide default Pnp/Power > function pointers > > Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx> Acked-by: Paul Durrant <paul.durrant@xxxxxxxxxx> > --- > src/xenvbd/driver.c | 32 +++++++++++++++++++++++++------- > src/xenvbd/driver.h | 12 ++++++++++++ > src/xenvbd/fdo.c | 14 +++++--------- > src/xenvbd/pdo.c | 4 +--- > 4 files changed, 43 insertions(+), 19 deletions(-) > > diff --git a/src/xenvbd/driver.c b/src/xenvbd/driver.c > index 2a41c8c..2f13ba6 100644 > --- a/src/xenvbd/driver.c > +++ b/src/xenvbd/driver.c > @@ -208,10 +208,28 @@ __DriverParseParameterKey( > } > > > //========================================================= > ==================== > +static PDRIVER_DISPATCH StorPortDispatchPnp; > +static PDRIVER_DISPATCH StorPortDispatchPower; > +static PDRIVER_UNLOAD StorPortDriverUnload; > + > +NTSTATUS > +DriverDispatchPnp( > + IN PDEVICE_OBJECT DeviceObject, > + IN PIRP Irp > + ) > +{ > + return StorPortDispatchPnp(DeviceObject, Irp); > +} > + > +NTSTATUS > +DriverDispatchPower( > + IN PDEVICE_OBJECT DeviceObject, > + IN PIRP Irp > + ) > +{ > + return StorPortDispatchPower(DeviceObject, Irp); > +} > > -PDRIVER_DISPATCH StorPortDispatchPnp; > -PDRIVER_DISPATCH StorPortDispatchPower; > -PDRIVER_UNLOAD StorPortDriverUnload; > > //========================================================= > ==================== > // Fdo Device Extension management > static PXENVBD_FDO __XenvbdFdo; > @@ -298,7 +316,7 @@ DriverMapPdo( > } > } > KeReleaseSpinLock(&__XenvbdLock, Irql); > - Status = StorPortDispatchPnp(DeviceObject, Irp); > + Status = DriverDispatchPnp(DeviceObject, Irp); > > done: > return Status; > @@ -555,7 +573,7 @@ DispatchPnp( > case IS_NULL: > default: > Warning("DeviceObject 0x%p is not FDO (0x%p) or a PDO\n", > DeviceObject, __XenvbdFdo); > - Status = StorPortDispatchPnp(DeviceObject, Irp); > + Status = DriverDispatchPnp(DeviceObject, Irp); > break; > } > > @@ -589,13 +607,13 @@ DispatchPower( > if (Pdo) { > PdoDereference(Pdo); // drops Pdo reference > } > - Status = StorPortDispatchPower(DeviceObject, Irp); > + Status = DriverDispatchPower(DeviceObject, Irp); > break; > > case IS_NULL: > default: > Warning("DeviceObject 0x%p is not FDO (0x%p) or a PDO\n", > DeviceObject, __XenvbdFdo); > - Status = StorPortDispatchPower(DeviceObject, Irp); > + Status = DriverDispatchPower(DeviceObject, Irp); > break; > } > > diff --git a/src/xenvbd/driver.h b/src/xenvbd/driver.h > index d59f053..560dd4e 100644 > --- a/src/xenvbd/driver.h > +++ b/src/xenvbd/driver.h > @@ -59,6 +59,18 @@ extern XENVBD_PARAMETERS DriverParameters; > > extern HANDLE DriverStatusKey; > > +extern NTSTATUS > +DriverDispatchPnp( > + IN PDEVICE_OBJECT DeviceObject, > + IN PIRP Irp > + ); > + > +extern NTSTATUS > +DriverDispatchPower( > + IN PDEVICE_OBJECT DeviceObject, > + IN PIRP Irp > + ); > + > // Fdo Device Extension management > extern VOID > DriverLinkFdo( > diff --git a/src/xenvbd/fdo.c b/src/xenvbd/fdo.c > index 82b7fb6..724d8ea 100644 > --- a/src/xenvbd/fdo.c > +++ b/src/xenvbd/fdo.c > @@ -98,8 +98,6 @@ struct _XENVBD_FDO { > LONG TotalSrbs; > }; > > -extern PDRIVER_DISPATCH StorPortDispatchPower; > - > > //========================================================= > ==================== > static FORCEINLINE BOOLEAN > __FdoSetDevicePowerState( > @@ -1215,7 +1213,7 @@ FdoDevicePower( > break; > } > FdoDereference(Fdo); > - Status = StorPortDispatchPower(Fdo->DeviceObject, Irp); > + Status = DriverDispatchPower(Fdo->DeviceObject, Irp); > if (!NT_SUCCESS(Status)) { > Warning("StorPort failed PowerIRP with %08x\n", Status); > } > @@ -1644,8 +1642,6 @@ FdoStartIo( > > > //========================================================= > ==================== > // PnP Handler > -extern PDRIVER_DISPATCH StorPortDispatchPnp; > - > __checkReturn > NTSTATUS > FdoDispatchPnp( > @@ -1699,7 +1695,7 @@ FdoDispatchPnp( > break; > } > > - Status = StorPortDispatchPnp(DeviceObject, Irp); > + Status = DriverDispatchPnp(DeviceObject, Irp); > if (!NT_SUCCESS(Status)) { > Verbose("%02x:%s -> %08x\n", Minor, PnpMinorFunctionName(Minor), > Status); > } > @@ -1847,7 +1843,7 @@ FdoMapDeviceObjectToPdo( > ExFreePool(String); > > done: > - Status = StorPortDispatchPnp(DeviceObject, Irp);; > + Status = DriverDispatchPnp(DeviceObject, Irp);; > if (!NT_SUCCESS(Status)) { > Verbose("%02x:%s -> %08x\n", Minor, PnpMinorFunctionName(Minor), > Status); > } > @@ -1876,7 +1872,7 @@ FdoDispatchPower( > if (Fdo->DevicePowerThread == NULL) { > Verbose("DevicePower IRP before DevicePowerThread ready\n"); > FdoDereference(Fdo); > - status = StorPortDispatchPower(DeviceObject, Irp); > + status = DriverDispatchPower(DeviceObject, Irp); > break; > } > > @@ -1894,7 +1890,7 @@ FdoDispatchPower( > case SystemPowerState: > default: > FdoDereference(Fdo); > - status = StorPortDispatchPower(DeviceObject, Irp); > + status = DriverDispatchPower(DeviceObject, Irp); > break; > } > > diff --git a/src/xenvbd/pdo.c b/src/xenvbd/pdo.c > index 9387742..c0447db 100644 > --- a/src/xenvbd/pdo.c > +++ b/src/xenvbd/pdo.c > @@ -2239,8 +2239,6 @@ PdoSrbPnp( > > > //========================================================= > ==================== > // PnP Handler > -extern PDRIVER_DISPATCH StorPortDispatchPnp; > - > static FORCEINLINE VOID > __PdoDeviceUsageNotification( > __in PXENVBD_PDO Pdo, > @@ -2419,7 +2417,7 @@ PdoDispatchPnp( > break; > } > PdoDereference(Pdo); > - Status = StorPortDispatchPnp(DeviceObject, Irp); > + Status = DriverDispatchPnp(DeviceObject, Irp); > if (!NT_SUCCESS(Status)) { > Verbose("Target[%d] : %02x:%s -> %08x\n", TargetId, Minor, > PnpMinorFunctionName(Minor), Status); > } > -- > 1.9.4.msysgit.1 > > > _______________________________________________ > win-pv-devel mailing list > win-pv-devel@xxxxxxxxxxxxxxxxxxxx > http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |