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>
This commit is contained in:
parent
1a73b2d089
commit
c7c4ae35d6
3 changed files with 19 additions and 8 deletions
|
@ -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
|
||||
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>
|
||||
---
|
||||
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/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);
|
||||
|
||||
/*
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+/*
|
||||
+ * Parses the linux,part-probe device tree property.
|
||||
+ * When a non null value is returned it has to be freed with kfree() by
|
||||
+ * the caller.
|
||||
|
@ -130,14 +139,16 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|||
+ if (count < 0)
|
||||
+ 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;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
/*
|
||||
* Do not forget to update 'parse_mtd_partitions()' kerneldoc comment if you
|
||||
* are changing this array!
|
||||
*/
|
||||
@@ -983,6 +1010,13 @@ int parse_mtd_partitions(struct mtd_info
|
||||
@@ -983,6 +1015,13 @@ int parse_mtd_partitions(struct mtd_info
|
||||
struct mtd_partitions pparts = { };
|
||||
struct mtd_part_parser *parser;
|
||||
int ret, err = 0;
|
||||
|
@ -151,7 +162,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|||
|
||||
if (!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)
|
||||
err = ret;
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
|||
|
||||
--- a/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
|
||||
#define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME
|
||||
#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);
|
||||
|
||||
|
|
Loading…
Reference in a new issue