kernel: remove linux 3.13 support
[openwrt.git] / target / linux / generic / patches-3.13 / 555-gluebi-sysfs-support.patch
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 (file)
index 2f98de2..0000000
+++ /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;