V4L/DVB (11333): pvrusb2: Report def_val items in sysfs symbolically, consistent...
Mike Isely [Wed, 1 Apr 2009 04:51:53 +0000 (01:51 -0300)]
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

drivers/media/video/pvrusb2/pvrusb2-sysfs.c

index e20ba1e..299c1cb 100644 (file)
@@ -153,14 +153,16 @@ static ssize_t show_def(struct device *class_dev,
        struct pvr2_sysfs_ctl_item *cip;
        int val;
        int ret;
+       unsigned int cnt = 0;
        cip = container_of(attr, struct pvr2_sysfs_ctl_item, attr_def);
        ret = pvr2_ctrl_get_def(cip->cptr, &val);
-       pvr2_sysfs_trace("pvr2_sysfs(%p) show_def(cid=%d) is %d, stat=%d",
-                        cip->chptr, cip->ctl_id, val, ret);
-       if (ret < 0) {
-               return ret;
-       }
-       return scnprintf(buf, PAGE_SIZE, "%d\n", val);
+       if (ret < 0) return ret;
+       ret = pvr2_ctrl_value_to_sym(cip->cptr, ~0, val,
+                                    buf, PAGE_SIZE - 1, &cnt);
+       pvr2_sysfs_trace("pvr2_sysfs(%p) show_def(cid=%d) is %.*s (%d)",
+                        cip->chptr, cip->ctl_id, cnt, buf, val);
+       buf[cnt] = '\n';
+       return cnt + 1;
 }
 
 static ssize_t show_val_norm(struct device *class_dev,