mfd: wm831x: Fix broken wm831x_unique_id_show
[cascardo/linux.git] / drivers / mfd / wm831x-otp.c
index b90f3e0..ebac002 100644 (file)
@@ -47,20 +47,14 @@ static ssize_t wm831x_unique_id_show(struct device *dev,
                                     struct device_attribute *attr, char *buf)
 {
        struct wm831x *wm831x = dev_get_drvdata(dev);
-       int i, rval;
+       int rval;
        char id[WM831X_UNIQUE_ID_LEN];
-       ssize_t ret = 0;
 
        rval = wm831x_unique_id_read(wm831x, id);
        if (rval < 0)
                return 0;
 
-       for (i = 0; i < WM831X_UNIQUE_ID_LEN; i++)
-               ret += sprintf(&buf[ret], "%02x", buf[i]);
-
-       ret += sprintf(&buf[ret], "\n");
-
-       return ret;
+       return sprintf(buf, "%*phN\n", WM831X_UNIQUE_ID_LEN, id);
 }
 
 static DEVICE_ATTR(unique_id, 0444, wm831x_unique_id_show, NULL);