From 9261e7447ea7b8d33b70ff6ea008f2041a88e255 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Thu, 1 Nov 2018 18:01:44 +0100 Subject: kernel: Make the patches apply on top of 4.19 This makes the patches which were just copied in the previous commit apply on top of kernel 4.19. The patches in the backports-4.19 folder were checked if they are really in kernel 4.19 based on the title and only removed if they were found in the upstream kernel. The following additional patches form the pending folder went into upstream Linux 4.19: pending-4.19/171-usb-dwc2-Fix-inefficient-copy-of-unaligned-buffers.patch pending-4.19/190-2-5-e1000e-Fix-wrong-comment-related-to-link-detection.patch pending-4.19/478-mtd-spi-nor-Add-support-for-XM25QH64A-and-XM25QH128A.patch pending-4.19/479-mtd-spi-nor-add-eon-en25qh32.patch pending-4.19/950-tty-serial-exar-generalize-rs485-setup.patch pending-4.19/340-MIPS-mm-remove-mips_dma_mapping_error.patch Bigger changes were introduced to the m25p80 spi nor driver, as far as I saw it in the new code, it now has the functionality provided in this patch: pending-4.19/450-mtd-m25p80-allow-fallback-from-spi_flash_read-to-reg.patch Part of this patch went upstream independent of OpenWrt: hack-4.19/220-gc_sections.patch This patch was reworked to match the changes done upstream. The MIPS DMA API changed a lot, this patch was rewritten to match the new DMA handling: pending-4.19/341-MIPS-mm-remove-no-op-dma_map_ops-where-possible.patch I did bigger manual changes to the following patches and I am not 100% sure if they are all correct: pending-4.19/0931-w1-gpio-fix-problem-with-platfom-data-in-w1-gpio.patch pending-4.19/411-mtd-partial_eraseblock_write.patch pending-4.19/600-netfilter_conntrack_flush.patch pending-4.19/611-netfilter_match_bypass_default_table.patch pending-4.19/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch hack-4.19/211-host_tools_portability.patch hack-4.19/221-module_exports.patch hack-4.19/321-powerpc_crtsavres_prereq.patch hack-4.19/902-debloat_proc.patch This is based on patchset from Marko Ratkaj Signed-off-by: Hauke Mehrtens --- ...-get-rid-of-the-mtd_add_device_partitions.patch | 93 ---------------------- 1 file changed, 93 deletions(-) delete mode 100644 target/linux/generic/backport-4.19/040-v4.17-0002-mtd-get-rid-of-the-mtd_add_device_partitions.patch (limited to 'target/linux/generic/backport-4.19/040-v4.17-0002-mtd-get-rid-of-the-mtd_add_device_partitions.patch') 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?= -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 -Signed-off-by: Boris Brezillon ---- - 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; - -- cgit v1.2.3