aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/xen/xen-balloon.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/xen/xen-balloon.c')
-rw-r--r--drivers/xen/xen-balloon.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/xen/xen-balloon.c b/drivers/xen/xen-balloon.c
index 9cc2259..a4ff225 100644
--- a/drivers/xen/xen-balloon.c
+++ b/drivers/xen/xen-balloon.c
@@ -50,6 +50,11 @@ static struct sys_device balloon_sysdev;
static int register_balloon(struct sys_device *sysdev);
+static struct xenbus_watch target_watch =
+{
+ .node = "memory/target"
+};
+
/* React to a change in the target key */
static void watch_target(struct xenbus_watch *watch,
const char **vec, unsigned int len)
@@ -68,11 +73,6 @@ static void watch_target(struct xenbus_watch *watch,
*/
balloon_set_new_target(new_target >> (PAGE_SHIFT - 10));
}
-static struct xenbus_watch target_watch = {
- .node = "memory/target",
- .callback = watch_target,
-};
-
static int balloon_init_watcher(struct notifier_block *notifier,
unsigned long event,
@@ -87,9 +87,7 @@ static int balloon_init_watcher(struct notifier_block *notifier,
return NOTIFY_DONE;
}
-static struct notifier_block xenstore_notifier = {
- .notifier_call = balloon_init_watcher,
-};
+static struct notifier_block xenstore_notifier;
static int __init balloon_init(void)
{
@@ -100,7 +98,8 @@ static int __init balloon_init(void)
register_balloon(&balloon_sysdev);
- register_xen_selfballooning(&balloon_sysdev);
+ target_watch.callback = watch_target;
+ xenstore_notifier.notifier_call = balloon_init_watcher;
register_xenstore_notifier(&xenstore_notifier);