hyperv/ic: Cleanup driver glue.
MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8849
This commit is contained in:
parent
ccc1d74c5c
commit
1e8a5107d0
@ -46,6 +46,9 @@ __FBSDID("$FreeBSD$");
|
||||
#define VMBUS_HEARTBEAT_MSGVER \
|
||||
VMBUS_IC_VERSION(VMBUS_HEARTBEAT_MSGVER_MAJOR, 0)
|
||||
|
||||
static int vmbus_heartbeat_probe(device_t);
|
||||
static int vmbus_heartbeat_attach(device_t);
|
||||
|
||||
static const struct vmbus_ic_desc vmbus_heartbeat_descs[] = {
|
||||
{
|
||||
.ic_guid = { .hv_guid = {
|
||||
@ -56,6 +59,27 @@ static const struct vmbus_ic_desc vmbus_heartbeat_descs[] = {
|
||||
VMBUS_IC_DESC_END
|
||||
};
|
||||
|
||||
static device_method_t vmbus_heartbeat_methods[] = {
|
||||
/* Device interface */
|
||||
DEVMETHOD(device_probe, vmbus_heartbeat_probe),
|
||||
DEVMETHOD(device_attach, vmbus_heartbeat_attach),
|
||||
DEVMETHOD(device_detach, vmbus_ic_detach),
|
||||
DEVMETHOD_END
|
||||
};
|
||||
|
||||
static driver_t vmbus_heartbeat_driver = {
|
||||
"hvheartbeat",
|
||||
vmbus_heartbeat_methods,
|
||||
sizeof(struct vmbus_ic_softc)
|
||||
};
|
||||
|
||||
static devclass_t vmbus_heartbeat_devclass;
|
||||
|
||||
DRIVER_MODULE(hv_heartbeat, vmbus, vmbus_heartbeat_driver,
|
||||
vmbus_heartbeat_devclass, NULL, NULL);
|
||||
MODULE_VERSION(hv_heartbeat, 1);
|
||||
MODULE_DEPEND(hv_heartbeat, vmbus, 1, 1, 1);
|
||||
|
||||
static void
|
||||
vmbus_heartbeat_cb(struct vmbus_channel *chan, void *xsc)
|
||||
{
|
||||
@ -114,35 +138,15 @@ vmbus_heartbeat_cb(struct vmbus_channel *chan, void *xsc)
|
||||
}
|
||||
|
||||
static int
|
||||
hv_heartbeat_probe(device_t dev)
|
||||
vmbus_heartbeat_probe(device_t dev)
|
||||
{
|
||||
|
||||
return (vmbus_ic_probe(dev, vmbus_heartbeat_descs));
|
||||
}
|
||||
|
||||
static int
|
||||
hv_heartbeat_attach(device_t dev)
|
||||
vmbus_heartbeat_attach(device_t dev)
|
||||
{
|
||||
|
||||
return (vmbus_ic_attach(dev, vmbus_heartbeat_cb));
|
||||
}
|
||||
|
||||
static device_method_t heartbeat_methods[] = {
|
||||
/* Device interface */
|
||||
DEVMETHOD(device_probe, hv_heartbeat_probe),
|
||||
DEVMETHOD(device_attach, hv_heartbeat_attach),
|
||||
DEVMETHOD(device_detach, vmbus_ic_detach),
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
static driver_t heartbeat_driver = {
|
||||
"hvheartbeat",
|
||||
heartbeat_methods,
|
||||
sizeof(struct vmbus_ic_softc)
|
||||
};
|
||||
|
||||
static devclass_t heartbeat_devclass;
|
||||
|
||||
DRIVER_MODULE(hv_heartbeat, vmbus, heartbeat_driver, heartbeat_devclass, NULL, NULL);
|
||||
MODULE_VERSION(hv_heartbeat, 1);
|
||||
MODULE_DEPEND(hv_heartbeat, vmbus, 1, 1, 1);
|
||||
|
@ -47,6 +47,9 @@ __FBSDID("$FreeBSD$");
|
||||
#define VMBUS_SHUTDOWN_MSGVER \
|
||||
VMBUS_IC_VERSION(VMBUS_SHUTDOWN_MSGVER_MAJOR, 0)
|
||||
|
||||
static int vmbus_shutdown_probe(device_t);
|
||||
static int vmbus_shutdown_attach(device_t);
|
||||
|
||||
static const struct vmbus_ic_desc vmbus_shutdown_descs[] = {
|
||||
{
|
||||
.ic_guid = { .hv_guid = {
|
||||
@ -57,6 +60,27 @@ static const struct vmbus_ic_desc vmbus_shutdown_descs[] = {
|
||||
VMBUS_IC_DESC_END
|
||||
};
|
||||
|
||||
static device_method_t vmbus_shutdown_methods[] = {
|
||||
/* Device interface */
|
||||
DEVMETHOD(device_probe, vmbus_shutdown_probe),
|
||||
DEVMETHOD(device_attach, vmbus_shutdown_attach),
|
||||
DEVMETHOD(device_detach, vmbus_ic_detach),
|
||||
DEVMETHOD_END
|
||||
};
|
||||
|
||||
static driver_t vmbus_shutdown_driver = {
|
||||
"hvshutdown",
|
||||
vmbus_shutdown_methods,
|
||||
sizeof(struct vmbus_ic_softc)
|
||||
};
|
||||
|
||||
static devclass_t vmbus_shutdown_devclass;
|
||||
|
||||
DRIVER_MODULE(hv_shutdown, vmbus, vmbus_shutdown_driver,
|
||||
vmbus_shutdown_devclass, NULL, NULL);
|
||||
MODULE_VERSION(hv_shutdown, 1);
|
||||
MODULE_DEPEND(hv_shutdown, vmbus, 1, 1, 1);
|
||||
|
||||
static void
|
||||
vmbus_shutdown_cb(struct vmbus_channel *chan, void *xsc)
|
||||
{
|
||||
@ -129,35 +153,15 @@ vmbus_shutdown_cb(struct vmbus_channel *chan, void *xsc)
|
||||
}
|
||||
|
||||
static int
|
||||
hv_shutdown_probe(device_t dev)
|
||||
vmbus_shutdown_probe(device_t dev)
|
||||
{
|
||||
|
||||
return (vmbus_ic_probe(dev, vmbus_shutdown_descs));
|
||||
}
|
||||
|
||||
static int
|
||||
hv_shutdown_attach(device_t dev)
|
||||
vmbus_shutdown_attach(device_t dev)
|
||||
{
|
||||
|
||||
return (vmbus_ic_attach(dev, vmbus_shutdown_cb));
|
||||
}
|
||||
|
||||
static device_method_t shutdown_methods[] = {
|
||||
/* Device interface */
|
||||
DEVMETHOD(device_probe, hv_shutdown_probe),
|
||||
DEVMETHOD(device_attach, hv_shutdown_attach),
|
||||
DEVMETHOD(device_detach, vmbus_ic_detach),
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
static driver_t shutdown_driver = {
|
||||
"hvshutdown",
|
||||
shutdown_methods,
|
||||
sizeof(struct vmbus_ic_softc)
|
||||
};
|
||||
|
||||
static devclass_t shutdown_devclass;
|
||||
|
||||
DRIVER_MODULE(hv_shutdown, vmbus, shutdown_driver, shutdown_devclass, NULL, NULL);
|
||||
MODULE_VERSION(hv_shutdown, 1);
|
||||
MODULE_DEPEND(hv_shutdown, vmbus, 1, 1, 1);
|
||||
|
@ -52,6 +52,9 @@ __FBSDID("$FreeBSD$");
|
||||
((sc)->ic_msgver >= VMBUS_IC_VERSION(4, 0) && \
|
||||
(hyperv_features & CPUID_HV_MSR_TIME_REFCNT))
|
||||
|
||||
static int vmbus_timesync_probe(device_t);
|
||||
static int vmbus_timesync_attach(device_t);
|
||||
|
||||
static const struct vmbus_ic_desc vmbus_timesync_descs[] = {
|
||||
{
|
||||
.ic_guid = { .hv_guid = {
|
||||
@ -62,6 +65,27 @@ static const struct vmbus_ic_desc vmbus_timesync_descs[] = {
|
||||
VMBUS_IC_DESC_END
|
||||
};
|
||||
|
||||
static device_method_t vmbus_timesync_methods[] = {
|
||||
/* Device interface */
|
||||
DEVMETHOD(device_probe, vmbus_timesync_probe),
|
||||
DEVMETHOD(device_attach, vmbus_timesync_attach),
|
||||
DEVMETHOD(device_detach, vmbus_ic_detach),
|
||||
DEVMETHOD_END
|
||||
};
|
||||
|
||||
static driver_t vmbus_timesync_driver = {
|
||||
"hvtimesync",
|
||||
vmbus_timesync_methods,
|
||||
sizeof(struct vmbus_ic_softc)
|
||||
};
|
||||
|
||||
static devclass_t vmbus_timesync_devclass;
|
||||
|
||||
DRIVER_MODULE(hv_timesync, vmbus, vmbus_timesync_driver,
|
||||
vmbus_timesync_devclass, NULL, NULL);
|
||||
MODULE_VERSION(hv_timesync, 1);
|
||||
MODULE_DEPEND(hv_timesync, vmbus, 1, 1, 1);
|
||||
|
||||
SYSCTL_NODE(_hw, OID_AUTO, hvtimesync, CTLFLAG_RW | CTLFLAG_MPSAFE, NULL,
|
||||
"Hyper-V timesync interface");
|
||||
|
||||
@ -207,35 +231,15 @@ vmbus_timesync_cb(struct vmbus_channel *chan, void *xsc)
|
||||
}
|
||||
|
||||
static int
|
||||
hv_timesync_probe(device_t dev)
|
||||
vmbus_timesync_probe(device_t dev)
|
||||
{
|
||||
|
||||
return (vmbus_ic_probe(dev, vmbus_timesync_descs));
|
||||
}
|
||||
|
||||
static int
|
||||
hv_timesync_attach(device_t dev)
|
||||
vmbus_timesync_attach(device_t dev)
|
||||
{
|
||||
|
||||
return (vmbus_ic_attach(dev, vmbus_timesync_cb));
|
||||
}
|
||||
|
||||
static device_method_t timesync_methods[] = {
|
||||
/* Device interface */
|
||||
DEVMETHOD(device_probe, hv_timesync_probe),
|
||||
DEVMETHOD(device_attach, hv_timesync_attach),
|
||||
DEVMETHOD(device_detach, vmbus_ic_detach),
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
static driver_t timesync_driver = {
|
||||
"hvtimesync",
|
||||
timesync_methods,
|
||||
sizeof(struct vmbus_ic_softc)
|
||||
};
|
||||
|
||||
static devclass_t timesync_devclass;
|
||||
|
||||
DRIVER_MODULE(hv_timesync, vmbus, timesync_driver, timesync_devclass, NULL, NULL);
|
||||
MODULE_VERSION(hv_timesync, 1);
|
||||
MODULE_DEPEND(hv_timesync, vmbus, 1, 1, 1);
|
||||
|
Loading…
Reference in New Issue
Block a user