diff --git a/drivers/xen/manage.c b/drivers/xen/manage.c
index 9a69d955dd5c..1655d0a039fd 100644
--- a/drivers/xen/manage.c
+++ b/drivers/xen/manage.c
@@ -227,14 +227,14 @@ static void shutdown_handler(struct xenbus_watch
*watch,
return;
again:
- err = xenbus_transaction_start(xh_default, &xbt);
+ err = xenbus_transaction_start(watch->xh, &xbt);
if (err)
return;
- str = (char *)xenbus_read(xh_default, xbt, "control", "shutdown",
NULL);
+ str = (char *)xenbus_read(watch->xh, xbt, "control", "shutdown",
NULL);
/* Ignore read errors and empty reads. */
if (XENBUS_IS_ERR_READ(str)) {
- xenbus_transaction_end(xh_default, xbt, 1);
+ xenbus_transaction_end(watch->xh, xbt, 1);
return;
}
@@ -245,9 +245,9 @@ static void shutdown_handler(struct xenbus_watch
*watch,
/* Only acknowledge commands which we are prepared to handle. */
if (idx < ARRAY_SIZE(shutdown_handlers))
- xenbus_write(xh_default, xbt, "control", "shutdown", "");
+ xenbus_write(watch->xh, xbt, "control", "shutdown", "");
- err = xenbus_transaction_end(xh_default, xbt, 0);
+ err = xenbus_transaction_end(watch->xh, xbt, 0);
if (err == -EAGAIN) {
kfree(str);
goto again;
@@ -272,10 +272,10 @@ static void sysrq_handler(struct xenbus_watch
*watch, const char *path,
int err;
again:
- err = xenbus_transaction_start(xh_default, &xbt);
+ err = xenbus_transaction_start(watch->xh, &xbt);
if (err)
return;
- err = xenbus_scanf(xh_default, xbt, "control", "sysrq", "%c",
&sysrq_key);
+ err = xenbus_scanf(watch->xh, xbt, "control", "sysrq", "%c",
&sysrq_key);
if (err < 0) {
/*
* The Xenstore watch fires directly after registering it and
@@ -287,21 +287,21 @@ static void sysrq_handler(struct xenbus_watch
*watch, const char *path,
if (err != -ENOENT && err != -ERANGE)
pr_err("Error %d reading sysrq code in control/sysrq\n",
err);
- xenbus_transaction_end(xh_default, xbt, 1);
+ xenbus_transaction_end(watch->xh, xbt, 1);
return;
}
if (sysrq_key != '\0') {
- err = xenbus_printf(xh_default, xbt, "control", "sysrq",
"%c", '\0');
+ err = xenbus_printf(watch->xh, xbt, "control", "sysrq", "%c",
'\0');
if (err) {
pr_err("%s: Error %d writing sysrq in control/sysrq\n",
__func__, err);
- xenbus_transaction_end(xh_default, xbt, 1);
+ xenbus_transaction_end(watch->xh, xbt, 1);
return;
}
}
- err = xenbus_transaction_end(xh_default, xbt, 0);
+ err = xenbus_transaction_end(watch->xh, xbt, 0);
if (err == -EAGAIN)
goto again;
@@ -324,14 +324,14 @@ static struct notifier_block xen_reboot_nb = {
.notifier_call = poweroff_nb,
};
-static int setup_shutdown_watcher(void)
+static int setup_shutdown_watcher(xenhost_t *xh)