summaryrefslogtreecommitdiff
path: root/target/linux/generic/patches-3.13/555-gluebi-sysfs-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-3.13/555-gluebi-sysfs-support.patch')
-rw-r--r--target/linux/generic/patches-3.13/555-gluebi-sysfs-support.patch86
1 files changed, 0 insertions, 86 deletions
diff --git a/target/linux/generic/patches-3.13/555-gluebi-sysfs-support.patch b/target/linux/generic/patches-3.13/555-gluebi-sysfs-support.patch
deleted file mode 100644
index 2f98de2..0000000
--- a/target/linux/generic/patches-3.13/555-gluebi-sysfs-support.patch
+++ /dev/null
@@ -1,86 +0,0 @@
---- a/drivers/mtd/ubi/gluebi.c
-+++ b/drivers/mtd/ubi/gluebi.c
-@@ -38,6 +38,7 @@
- #include <linux/mutex.h>
- #include <linux/mtd/ubi.h>
- #include <linux/mtd/mtd.h>
-+#include <linux/export.h>
- #include "ubi-media.h"
-
- #define err_msg(fmt, ...) \
-@@ -66,6 +67,16 @@ struct gluebi_device {
- static LIST_HEAD(gluebi_devices);
- static DEFINE_MUTEX(devices_mutex);
-
-+/* Device attribute handler for gluebi files in '/<sysfs>/class/mtd/mtdX' */
-+static ssize_t gluebi_attribute_show(struct device *dev,
-+ struct device_attribute *attr, char *buf);
-+
-+/* Device attributes corresponding to files in '/<sysfs>/class/mtd/mtdX' */
-+static struct device_attribute attr_vol_gluebi_ubi_num =
-+__ATTR(gluebi_ubi_num, S_IRUGO, gluebi_attribute_show, NULL);
-+static struct device_attribute attr_vol_gluebi_vol_id =
-+__ATTR(gluebi_vol_id, S_IRUGO, gluebi_attribute_show, NULL);
-+
- /**
- * find_gluebi_nolock - find a gluebi device.
- * @ubi_num: UBI device number
-@@ -288,6 +299,36 @@ out_err:
- }
-
- /**
-+ * gluebi_attribute_show - "Show" method for gluebi files in sysfs.
-+ */
-+static ssize_t gluebi_attribute_show(struct device *dev,
-+ struct device_attribute *attr, char *buf)
-+{
-+ int ret;
-+ struct mtd_info *mtd = container_of(dev, struct mtd_info, dev);
-+ struct gluebi_device *gluebi;
-+
-+ gluebi_get_device(mtd);
-+ gluebi = container_of(mtd, struct gluebi_device, mtd);
-+
-+ /* This really shouldn't happen */
-+ if (!gluebi)
-+ return -ENODEV;
-+
-+ if (attr == &attr_vol_gluebi_ubi_num) {
-+ ret = sprintf(buf, "%u\n", gluebi->ubi_num);
-+ } else if (attr == &attr_vol_gluebi_vol_id) {
-+ ret = sprintf(buf, "%u\n", gluebi->vol_id);
-+ } else {
-+ /* This must be a bug */
-+ ret = -EINVAL;
-+ }
-+
-+ gluebi_put_device(mtd);
-+ return ret;
-+}
-+
-+/**
- * gluebi_create - create a gluebi device for an UBI volume.
- * @di: UBI device description object
- * @vi: UBI volume description object
-@@ -355,6 +396,8 @@ static int gluebi_create(struct ubi_devi
- mutex_lock(&devices_mutex);
- list_add_tail(&gluebi->list, &gluebi_devices);
- mutex_unlock(&devices_mutex);
-+ device_create_file(&mtd->dev, &attr_vol_gluebi_ubi_num);
-+ device_create_file(&mtd->dev, &attr_vol_gluebi_vol_id);
- return 0;
- }
-
-@@ -380,8 +423,11 @@ static int gluebi_remove(struct ubi_volu
- err = -ENOENT;
- } else if (gluebi->refcnt)
- err = -EBUSY;
-- else
-+ else {
-+ device_remove_file(&gluebi->mtd.dev, &attr_vol_gluebi_ubi_num);
-+ device_remove_file(&gluebi->mtd.dev, &attr_vol_gluebi_vol_id);
- list_del(&gluebi->list);
-+ }
- mutex_unlock(&devices_mutex);
- if (err)
- return err;