From 4b755ce06abe6f7a58325e77e1711a755c1bcbcc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Tue, 6 Aug 2019 06:35:23 +0200 Subject: [PATCH] Revert "kernel: generic: fix fonfxc uimage parser" MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- .../drivers/mtd/mtdsplit/mtdsplit_uimage.c | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c b/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c index 2ac559a3f3..091403ae91 100644 --- a/target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c +++ b/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", -- 2.25.1