]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - mm/backing-dev.c
arm: dts: tx6: add some aliases and a label for backlight@0
[karo-tx-linux.git] / mm / backing-dev.c
index e04454cdb33f4d58809c36b0212aa0ad74c1e22c..ce682f7a4f29d161189f47fd7e376d69bea2359d 100644 (file)
@@ -180,7 +180,8 @@ static ssize_t name##_show(struct device *dev,                              \
        struct backing_dev_info *bdi = dev_get_drvdata(dev);            \
                                                                        \
        return snprintf(page, PAGE_SIZE-1, "%lld\n", (long long)expr);  \
-}
+}                                                                      \
+static DEVICE_ATTR_RW(name);
 
 BDI_SHOW(read_ahead_kb, K(bdi->ra_pages))
 
@@ -231,14 +232,16 @@ static ssize_t stable_pages_required_show(struct device *dev,
        return snprintf(page, PAGE_SIZE-1, "%d\n",
                        bdi_cap_stable_pages_required(bdi) ? 1 : 0);
 }
+static DEVICE_ATTR_RO(stable_pages_required);
 
-static struct device_attribute bdi_dev_attrs[] = {
-       __ATTR_RW(read_ahead_kb),
-       __ATTR_RW(min_ratio),
-       __ATTR_RW(max_ratio),
-       __ATTR_RO(stable_pages_required),
-       __ATTR_NULL,
+static struct attribute *bdi_dev_attrs[] = {
+       &dev_attr_read_ahead_kb.attr,
+       &dev_attr_min_ratio.attr,
+       &dev_attr_max_ratio.attr,
+       &dev_attr_stable_pages_required.attr,
+       NULL,
 };
+ATTRIBUTE_GROUPS(bdi_dev);
 
 static __init int bdi_class_init(void)
 {
@@ -246,7 +249,7 @@ static __init int bdi_class_init(void)
        if (IS_ERR(bdi_class))
                return PTR_ERR(bdi_class);
 
-       bdi_class->dev_attrs = bdi_dev_attrs;
+       bdi_class->dev_groups = bdi_dev_groups;
        bdi_debug_init();
        return 0;
 }
@@ -649,7 +652,7 @@ int pdflush_proc_obsolete(struct ctl_table *table, int write,
 {
        char kbuf[] = "0\n";
 
-       if (*ppos) {
+       if (*ppos || *lenp < sizeof(kbuf)) {
                *lenp = 0;
                return 0;
        }