Browse Source

Revert "kernel: generic: fix fonfxc uimage parser"

This reverts commit e92a14709d37f64dcba8c81fa51e61e5f10f439a.

mtdsplit_uimage_parse_fonfxc() gets called in two situations:
1) It was /requested/ from DT using "fonfxc,uimage" compatible string
2) It was called by parsing code after finding "firmware"
   (MTD_SPLIT_FIRMWARE_NAME) due to the parser's type

Code added in the /fix/ commit basically just disabled the second case.
If that's the real goal it could be achieved by simply dropping type
MTD_PARSER_TYPE_FIRMWARE. It may however require another solution as
it's possible that some non-DT target actually needs fonfxc uImage
parsing.

Signed-off-by: Rafał Miłecki <[email protected]>
Rafał Miłecki 6 years ago
parent
commit
4b755ce06a
1 changed files with 7 additions and 14 deletions
  1. 7 14
      target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c

+ 7 - 14
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c

@@ -398,29 +398,22 @@ static ssize_t uimage_find_fonfxc(u_char *buf, size_t len, int *extralen)
 	return 0;
 }
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
-static const struct of_device_id mtdsplit_uimage_fonfxc_of_match_table[] = {
-	{ .compatible = "fonfxc,uimage" },
-	{},
-};
-#endif
-
 static int
 mtdsplit_uimage_parse_fonfxc(struct mtd_info *master,
 			      const struct mtd_partition **pparts,
 			      struct mtd_part_parser_data *data)
 {
-	struct device_node *np_mtd;
-
-	np_mtd = mtd_get_of_node(master);
-	if (!np_mtd ||
-	    !of_match_node(mtdsplit_uimage_fonfxc_of_match_table, np_mtd))
-		return -ENODEV;
-
 	return __mtdsplit_parse_uimage(master, pparts, data,
 				       uimage_find_fonfxc);
 }
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
+static const struct of_device_id mtdsplit_uimage_fonfxc_of_match_table[] = {
+	{ .compatible = "fonfxc,uimage" },
+	{},
+};
+#endif
+
 static struct mtd_part_parser uimage_fonfxc_parser = {
 	.owner = THIS_MODULE,
 	.name = "fonfxc-fw",