# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID f509c7303954adc41a074310ba753c750263c652
# Parent e69cbfee4011da1648718f1f5cbe8dabb956e72a
This patch export symbols in xenbus that is used by netfront
and blkfront so that vbd and vnif can be made to modules.
Signed-off-by: Xiaofeng Ling <xiaofeng.ling@xxxxxxxxx>
diff -r e69cbfee4011 -r f509c7303954
linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c
--- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c Tue Aug 30
08:47:51 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c Tue Aug 30
09:46:33 2005
@@ -209,6 +209,7 @@
{
return xenbus_register_driver(drv, &xenbus_frontend);
}
+EXPORT_SYMBOL(xenbus_register_device);
int xenbus_register_backend(struct xenbus_driver *drv)
{
diff -r e69cbfee4011 -r f509c7303954
linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c
--- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c Tue Aug 30
08:47:51 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c Tue Aug 30
09:46:33 2005
@@ -246,6 +246,7 @@
{
return xs_single(XS_READ, join(dir, node), len);
}
+EXPORT_SYMBOL(xenbus_read);
/* Write the value of a single file.
* Returns -err on failure. createflags can be 0, O_CREAT, or O_CREAT|O_EXCL.
@@ -298,6 +299,7 @@
{
return xs_error(xs_single(XS_TRANSACTION_START, subtree, NULL));
}
+EXPORT_SYMBOL(xenbus_transaction_start);
/* End a transaction.
* If abandon is true, transaction is discarded instead of committed.
@@ -312,6 +314,7 @@
strcpy(abortstr, "T");
return xs_error(xs_single(XS_TRANSACTION_END, abortstr, NULL));
}
+EXPORT_SYMBOL(xenbus_transaction_end);
/* Single read and scanf: returns -errno or num scanned. */
int xenbus_scanf(const char *dir, const char *node, const char *fmt, ...)
@@ -333,6 +336,7 @@
return -ERANGE;
return ret;
}
+EXPORT_SYMBOL(xenbus_scanf);
/* Single printf and write: returns -errno or 0. */
int xenbus_printf(const char *dir, const char *node, const char *fmt, ...)
@@ -348,6 +352,7 @@
BUG_ON(ret > sizeof(printf_buffer)-1);
return xenbus_write(dir, node, printf_buffer, O_CREAT);
}
+EXPORT_SYMBOL(xenbus_printf);
/* Report a (negative) errno into the store, with explanation. */
void xenbus_dev_error(struct xenbus_device *dev, int err, const char *fmt, ...)
@@ -369,6 +374,7 @@
printk("xenbus: failed to write error node for %s (%s)\n",
dev->nodename, printf_buffer);
}
+EXPORT_SYMBOL(xenbus_dev_error);
/* Clear any error. */
void xenbus_dev_ok(struct xenbus_device *dev)
@@ -381,6 +387,7 @@
dev->has_error = 0;
}
}
+EXPORT_SYMBOL(xenbus_dev_ok);
/* Takes tuples of names, scanf-style args, and void **, NULL terminated. */
int xenbus_gather(const char *dir, ...)
@@ -410,6 +417,7 @@
va_end(ap);
return ret;
}
+EXPORT_SYMBOL(xenbus_gather);
static int xs_watch(const char *path, const char *token)
{
@@ -482,6 +490,7 @@
list_add(&watch->list, &watches);
return err;
}
+EXPORT_SYMBOL(register_xenbus_watch);
void unregister_xenbus_watch(struct xenbus_watch *watch)
{
@@ -499,6 +508,7 @@
"XENBUS Failed to release watch %s: %i\n",
watch->node, err);
}
+EXPORT_SYMBOL(unregister_xenbus_watch);
/* Re-register callbacks to all watches. */
void reregister_xenbus_watches(void)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|