]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
xen: introduce xenbus_read_unsigned()
authorJuergen Gross <jgross@suse.com>
Mon, 31 Oct 2016 13:58:40 +0000 (14:58 +0100)
committerBoris Ostrovsky <boris.ostrovsky@oracle.com>
Fri, 3 Feb 2017 20:55:27 +0000 (15:55 -0500)
There are multiple instances of code reading an optional unsigned
parameter from Xenstore via xenbus_scanf(). Instead of repeating the
same code over and over add a service function doing the job.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
OraBug: 25497392

(cherry picked from commit 9c53a1792a5e6c708897d0cb17f2a4509e499a52)
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
drivers/xen/xenbus/xenbus_xs.c
include/xen/xenbus.h

index b4c3c11d0e239d599a1109ec3914178209fedb44..19a4b67ade8c5cccebd6ec7afbd6b5fa7a48556e 100644 (file)
@@ -560,6 +560,21 @@ int xenbus_scanf(struct xenbus_transaction t,
 }
 EXPORT_SYMBOL_GPL(xenbus_scanf);
 
+/* Read an (optional) unsigned value. */
+unsigned int xenbus_read_unsigned(const char *dir, const char *node,
+                                 unsigned int default_val)
+{
+       unsigned int val;
+       int ret;
+
+       ret = xenbus_scanf(XBT_NIL, dir, node, "%u", &val);
+       if (ret <= 0)
+               val = default_val;
+
+       return val;
+}
+EXPORT_SYMBOL_GPL(xenbus_read_unsigned);
+
 /* Single printf and write: returns -errno or 0. */
 int xenbus_printf(struct xenbus_transaction t,
                  const char *dir, const char *node, const char *fmt, ...)
index 32b944b7cebd1eab42e78b6a3e56ec4a9ce5f693..271ba62503c7e5fe23abc3a9628d556bad65e606 100644 (file)
@@ -151,6 +151,10 @@ __scanf(4, 5)
 int xenbus_scanf(struct xenbus_transaction t,
                 const char *dir, const char *node, const char *fmt, ...);
 
+/* Read an (optional) unsigned value. */
+unsigned int xenbus_read_unsigned(const char *dir, const char *node,
+                                 unsigned int default_val);
+
 /* Single printf and write: returns -errno or 0. */
 __printf(4, 5)
 int xenbus_printf(struct xenbus_transaction t,