mirror of https://github.com/hak5/openwrt.git
kernel: deprecate support for the generic "linux,part-probe" DT binding
It has been rejected upstream and instead a nice/more generic solution has been implemented. It's possible now to describe partitions format using "compatible" DT string. No OpenWrt target uses "linux,part-probe" anymore, leave it only in case some forks need it. It will be dropped with support for new kernels. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>openwrt-19.07
parent
1a73b2d089
commit
c7c4ae35d6
|
@ -6,6 +6,12 @@ physmap_of.c to mtdpart.c. Now all drivers can use this feature by just
|
||||||
providing a reference to their device tree node in struct
|
providing a reference to their device tree node in struct
|
||||||
mtd_part_parser_data.
|
mtd_part_parser_data.
|
||||||
|
|
||||||
|
THIS METHOD HAS BEEN DEPRECATED
|
||||||
|
|
||||||
|
Linux supports "compatible" property in the "partitions" subnode now. It
|
||||||
|
should be used to specify partitions format (and trigger proper parser
|
||||||
|
usage) if needed.
|
||||||
|
|
||||||
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||||
---
|
---
|
||||||
Documentation/devicetree/bindings/mtd/nand.txt | 16 +++++++++
|
Documentation/devicetree/bindings/mtd/nand.txt | 16 +++++++++
|
||||||
|
@ -104,10 +110,13 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
|
|
||||||
@@ -835,6 +836,32 @@ void deregister_mtd_parser(struct mtd_pa
|
@@ -834,6 +835,37 @@ void deregister_mtd_parser(struct mtd_pa
|
||||||
|
}
|
||||||
EXPORT_SYMBOL_GPL(deregister_mtd_parser);
|
EXPORT_SYMBOL_GPL(deregister_mtd_parser);
|
||||||
|
|
||||||
/*
|
+#include <linux/version.h>
|
||||||
|
+
|
||||||
|
+/*
|
||||||
+ * Parses the linux,part-probe device tree property.
|
+ * Parses the linux,part-probe device tree property.
|
||||||
+ * When a non null value is returned it has to be freed with kfree() by
|
+ * When a non null value is returned it has to be freed with kfree() by
|
||||||
+ * the caller.
|
+ * the caller.
|
||||||
|
@ -130,14 +139,16 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||||
+ if (count < 0)
|
+ if (count < 0)
|
||||||
+ return NULL;
|
+ return NULL;
|
||||||
+
|
+
|
||||||
|
+ pr_warn("Support for the generic \"linux,part-probe\" has been deprecated and will be removed soon");
|
||||||
|
+ BUILD_BUG_ON(LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0));
|
||||||
|
+
|
||||||
+ return res;
|
+ return res;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+/*
|
/*
|
||||||
* Do not forget to update 'parse_mtd_partitions()' kerneldoc comment if you
|
* Do not forget to update 'parse_mtd_partitions()' kerneldoc comment if you
|
||||||
* are changing this array!
|
* are changing this array!
|
||||||
*/
|
@@ -983,6 +1015,13 @@ int parse_mtd_partitions(struct mtd_info
|
||||||
@@ -983,6 +1010,13 @@ int parse_mtd_partitions(struct mtd_info
|
|
||||||
struct mtd_partitions pparts = { };
|
struct mtd_partitions pparts = { };
|
||||||
struct mtd_part_parser *parser;
|
struct mtd_part_parser *parser;
|
||||||
int ret, err = 0;
|
int ret, err = 0;
|
||||||
|
@ -151,7 +162,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||||
|
|
||||||
if (!types)
|
if (!types)
|
||||||
types = mtd_is_partition(master) ? default_subpartition_types :
|
types = mtd_is_partition(master) ? default_subpartition_types :
|
||||||
@@ -1024,6 +1058,7 @@ int parse_mtd_partitions(struct mtd_info
|
@@ -1024,6 +1063,7 @@ int parse_mtd_partitions(struct mtd_info
|
||||||
if (ret < 0 && !err)
|
if (ret < 0 && !err)
|
||||||
err = ret;
|
err = ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||||
|
|
||||||
--- a/drivers/mtd/mtdpart.c
|
--- a/drivers/mtd/mtdpart.c
|
||||||
+++ b/drivers/mtd/mtdpart.c
|
+++ b/drivers/mtd/mtdpart.c
|
||||||
@@ -1113,6 +1113,62 @@ void mtd_part_parser_cleanup(struct mtd_
|
@@ -1118,6 +1118,62 @@ void mtd_part_parser_cleanup(struct mtd_
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||||
#ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME
|
#ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME
|
||||||
#define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME
|
#define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME
|
||||||
#else
|
#else
|
||||||
@@ -1223,6 +1234,24 @@ int mtd_is_partition(const struct mtd_in
|
@@ -1228,6 +1239,24 @@ int mtd_is_partition(const struct mtd_in
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(mtd_is_partition);
|
EXPORT_SYMBOL_GPL(mtd_is_partition);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue