diff options
Diffstat (limited to 'target/linux/generic/backport-4.19/040-v4.17-0002-mtd-get-rid-of-the-mtd_add_device_partitions.patch')
-rw-r--r-- | target/linux/generic/backport-4.19/040-v4.17-0002-mtd-get-rid-of-the-mtd_add_device_partitions.patch | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/target/linux/generic/backport-4.19/040-v4.17-0002-mtd-get-rid-of-the-mtd_add_device_partitions.patch b/target/linux/generic/backport-4.19/040-v4.17-0002-mtd-get-rid-of-the-mtd_add_device_partitions.patch deleted file mode 100644 index 1042e674c3..0000000000 --- a/target/linux/generic/backport-4.19/040-v4.17-0002-mtd-get-rid-of-the-mtd_add_device_partitions.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 0dbe4ea78d69756efeb0bba0764f6bd4a9ee9567 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> -Date: Tue, 16 Jan 2018 16:45:42 +0100 -Subject: [PATCH] mtd: get rid of the mtd_add_device_partitions() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This simplifies code a bit by: -1) Avoiding an extra (tiny) function -2) Checking for amount of parsed (found) partitions just once -3) Avoiding clearing/filling struct mtd_partitions manually - -With this commit proper functions are called directly from the -mtd_device_parse_register(). It doesn't need to use minor tricks like -memsetting struct to 0 to trigger an expected -mtd_add_device_partitions() behavior. - -Signed-off-by: Rafał Miłecki <rafal@milecki.pl> -Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> ---- - drivers/mtd/mtdcore.c | 43 ++++++++++++------------------------------- - 1 file changed, 12 insertions(+), 31 deletions(-) - ---- a/drivers/mtd/mtdcore.c -+++ b/drivers/mtd/mtdcore.c -@@ -636,21 +636,6 @@ out_error: - return ret; - } - --static int mtd_add_device_partitions(struct mtd_info *mtd, -- struct mtd_partitions *parts) --{ -- const struct mtd_partition *real_parts = parts->parts; -- int nbparts = parts->nr_parts; -- -- if (!nbparts && !device_is_registered(&mtd->dev)) -- return add_mtd_device(mtd); -- -- if (nbparts > 0) -- return add_mtd_partitions(mtd, real_parts, nbparts); -- -- return 0; --} -- - /* - * Set a few defaults based on the parent devices, if not provided by the - * driver -@@ -701,7 +686,7 @@ int mtd_device_parse_register(struct mtd - const struct mtd_partition *parts, - int nr_parts) - { -- struct mtd_partitions parsed; -+ struct mtd_partitions parsed = { }; - int ret; - - mtd_set_dev_defaults(mtd); -@@ -712,24 +697,20 @@ int mtd_device_parse_register(struct mtd - return ret; - } - -- memset(&parsed, 0, sizeof(parsed)); -- -+ /* Prefer parsed partitions over driver-provided fallback */ - ret = parse_mtd_partitions(mtd, types, &parsed, parser_data); -- if ((ret < 0 || parsed.nr_parts == 0) && parts && nr_parts) { -- /* Fall back to driver-provided partitions */ -- parsed = (struct mtd_partitions){ -- .parts = parts, -- .nr_parts = nr_parts, -- }; -- } else if (ret < 0) { -- /* Didn't come up with parsed OR fallback partitions */ -- pr_info("mtd: failed to find partitions; one or more parsers reports errors (%d)\n", -- ret); -- /* Don't abort on errors; we can still use unpartitioned MTD */ -- memset(&parsed, 0, sizeof(parsed)); -+ if (!ret && parsed.nr_parts) { -+ parts = parsed.parts; -+ nr_parts = parsed.nr_parts; - } - -- ret = mtd_add_device_partitions(mtd, &parsed); -+ if (nr_parts) -+ ret = add_mtd_partitions(mtd, parts, nr_parts); -+ else if (!device_is_registered(&mtd->dev)) -+ ret = add_mtd_device(mtd); -+ else -+ ret = 0; -+ - if (ret) - goto out; - |