summaryrefslogtreecommitdiffstats
path: root/sys/dev/hyperv/utilities/hv_heartbeat.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/hyperv/utilities/hv_heartbeat.c')
-rw-r--r--sys/dev/hyperv/utilities/hv_heartbeat.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/sys/dev/hyperv/utilities/hv_heartbeat.c b/sys/dev/hyperv/utilities/hv_heartbeat.c
index 8fc7a09..04366c6 100644
--- a/sys/dev/hyperv/utilities/hv_heartbeat.c
+++ b/sys/dev/hyperv/utilities/hv_heartbeat.c
@@ -35,8 +35,8 @@ __FBSDID("$FreeBSD$");
#include <dev/hyperv/include/hyperv.h>
#include <dev/hyperv/include/vmbus.h>
-#include <dev/hyperv/utilities/hv_util.h>
#include <dev/hyperv/utilities/vmbus_icreg.h>
+#include <dev/hyperv/utilities/vmbus_icvar.h>
#include "vmbus_if.h"
@@ -61,7 +61,7 @@ static const struct vmbus_ic_desc vmbus_heartbeat_descs[] = {
static void
vmbus_heartbeat_cb(struct vmbus_channel *chan, void *xsc)
{
- struct hv_util_sc *sc = xsc;
+ struct vmbus_ic_softc *sc = xsc;
struct vmbus_icmsg_hdr *hdr;
int dlen, error;
uint64_t xactid;
@@ -70,7 +70,7 @@ vmbus_heartbeat_cb(struct vmbus_channel *chan, void *xsc)
/*
* Receive request.
*/
- data = sc->receive_buffer;
+ data = sc->ic_buf;
dlen = sc->ic_buflen;
error = vmbus_chan_recv(chan, data, &dlen, &xactid);
KASSERT(error != ENOBUFS, ("icbuf is not large enough"));
@@ -110,13 +110,9 @@ vmbus_heartbeat_cb(struct vmbus_channel *chan, void *xsc)
}
/*
- * Send response by echoing the updated request back.
+ * Send response by echoing the request back.
*/
- hdr->ic_flags = VMBUS_ICMSG_FLAG_XACT | VMBUS_ICMSG_FLAG_RESP;
- error = vmbus_chan_send(chan, VMBUS_CHANPKT_TYPE_INBAND, 0,
- data, dlen, xactid);
- if (error)
- device_printf(sc->ic_dev, "resp send failed: %d\n", error);
+ vmbus_ic_sendresp(sc, chan, data, dlen, xactid);
}
static int
@@ -130,18 +126,22 @@ static int
hv_heartbeat_attach(device_t dev)
{
- return (hv_util_attach(dev, vmbus_heartbeat_cb));
+ 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, hv_util_detach),
+ DEVMETHOD(device_detach, vmbus_ic_detach),
{ 0, 0 }
};
-static driver_t heartbeat_driver = { "hvheartbeat", heartbeat_methods, sizeof(hv_util_sc)};
+static driver_t heartbeat_driver = {
+ "hvheartbeat",
+ heartbeat_methods,
+ sizeof(struct vmbus_ic_softc)
+};
static devclass_t heartbeat_devclass;
OpenPOWER on IntegriCloud