goto err_new_bus;
}
/* When the PDO is created, we need to handle PnP ID queries. */
- new_bus->device->ops.pnp_id = aoe_bus__pnp_id_;
+ new_bus->Dev->ops.pnp_id = aoe_bus__pnp_id_;
/* Name the bus when the PDO is created. */
RtlInitUnicodeString(
&new_bus->dev_name,
);
new_bus->named = TRUE;
/* Add it as a sub-bus to WinVBlock. */
- if (!WvBusAddChild(driver__bus(), new_bus->device)) {
+ if (!WvBusAddChild(driver__bus(), new_bus->Dev)) {
DBG("Couldn't add AoE bus to WinVBlock bus!\n");
goto err_add_child;
}
err_add_child:
- device__free(new_bus->device);
+ device__free(new_bus->Dev);
err_new_bus:
return FALSE;
IoDeleteSymbolicLink(&aoe_bus->dos_dev_name);
IoDeleteSymbolicLink(&aoe_bus->dev_name);
- IoDeleteDevice(aoe_bus->device->Self);
+ IoDeleteDevice(aoe_bus->Dev->Self);
#if 0
- bus__remove_child(driver__bus(), aoe_bus->device);
+ bus__remove_child(driver__bus(), aoe_bus->Dev);
#endif
- device__free(aoe_bus->device);
+ device__free(aoe_bus->Dev);
return;
}
/* The bus type. */
typedef struct WV_BUS_T {
- struct device__type * device;
+ struct device__type * Dev;
PDEVICE_OBJECT LowerDeviceObject;
PDEVICE_OBJECT PhysicalDeviceObject;
winvblock__uint32 Children;
return FALSE;
}
- dev_ptr->Parent = bus_ptr->device->Self;
+ dev_ptr->Parent = bus_ptr->Dev->Self;
/*
* Initialize the device. For disks, this routine is responsible for
* determining the disk's geometry appropriately for AoE/RAM/file disks.
* @v bus Points to the bus to initialize with defaults.
*/
winvblock__lib_func void WvBusInit(WV_SP_BUS_T bus) {
- struct device__type * dev = bus->device;
+ struct device__type * dev = bus->Dev;
RtlZeroMemory(bus, sizeof *bus);
/* Populate non-zero bus device defaults. */
- bus->device = dev;
+ bus->Dev = dev;
bus->prev_free = dev->ops.free;
bus->thread = bus__default_thread_;
KeInitializeSpinLock(&bus->SpinLock);
if (bus == NULL)
goto err_no_bus;
- bus->device = dev;
+ bus->Dev = dev;
WvBusInit(bus);
return bus;
timeout.QuadPart = -300000000LL;
/* Hook device__type::ops.free() */
- bus->device->ops.free = bus__thread_free_;
+ bus->Dev->ops.free = bus__thread_free_;
/* When bus::thread is cleared, we shut down. */
while (bus->thread) {
WvBusProcessWorkItems(bus);
} /* while bus->alive */
- bus__free_(bus->device);
+ bus__free_(bus->Dev);
return;
}
if (
!Bus ||
!Node ||
- Bus->device->Self->DriverObject != Node->BusPrivate_.Pdo->DriverObject
+ Bus->Dev->Self->DriverObject != Node->BusPrivate_.Pdo->DriverObject
)
return STATUS_INVALID_PARAMETER;
);
} else {
status = WvBusGetDevCapabilities(
- bus->device->Self,
+ bus->Dev->Self,
&ParentDeviceCapabilities
);
}
goto err_dos_symlink;
}
/* Set associations for the bus, device, FDO, PDO. */
- device__set(fdo, bus->device);
- bus->device->Self = fdo;
+ device__set(fdo, bus->Dev);
+ bus->Dev->Self = fdo;
bus->PhysicalDeviceObject = PhysicalDeviceObject;
fdo->Flags |= DO_DIRECT_IO; /* FIXME? */
fdo->Flags |= DO_POWER_INRUSH; /* FIXME? */
IoDeleteDevice(fdo);
err_fdo:
- device__free(bus->device);
+ device__free(bus->Dev);
err_bus:
err_already_established: