Skip to content

Commit

Permalink
linux/generic/pending-5.15: add missing patch headers
Browse files Browse the repository at this point in the history
This patches does not have a valid patch headers and does not apply on
an external git tree with 'git am'. To fix this add the missing headers.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
  • Loading branch information
feckert authored and Ansuel committed Jul 14, 2022
1 parent a9573a0 commit 2ed7f6c
Show file tree
Hide file tree
Showing 7 changed files with 173 additions and 44 deletions.
@@ -1,3 +1,16 @@
From d3c5b26768dbe990c4e1bd79e420c11ce7491d51 Mon Sep 17 00:00:00 2001
From: OpenWrt community <openwrt-devel@lists.openwrt.org>
Date: Wed, 13 Jul 2022 11:36:00 +0200
Subject: [PATCH] swab: use stddefs.h instead of compiler.h

Fix an issue with kernel headers that broke perf.

---
include/uapi/linux/swab.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/uapi/linux/swab.h b/include/uapi/linux/swab.h
index 7272f85d6d6a..3736f2fe1541 100644
--- a/include/uapi/linux/swab.h
+++ b/include/uapi/linux/swab.h
@@ -3,7 +3,7 @@
Expand All @@ -9,3 +22,5 @@
#include <asm/bitsperlong.h>
#include <asm/swab.h>

--

105 changes: 65 additions & 40 deletions target/linux/generic/pending-5.15/400-mtd-mtdsplit-support.patch
@@ -1,3 +1,18 @@
From 39717277d5c87bdb183cf2f258957b44ba99b4df Mon Sep 17 00:00:00 2001
From: OpenWrt community <openwrt-devel@lists.openwrt.org>
Date: Wed, 13 Jul 2022 11:47:35 +0200
Subject: [PATCH] mtd: mtdsplit support

---
drivers/mtd/Kconfig | 19 ++++
drivers/mtd/Makefile | 2 +
drivers/mtd/mtdpart.c | 169 ++++++++++++++++++++++++++++-----
include/linux/mtd/mtd.h | 25 +++++
include/linux/mtd/partitions.h | 7 ++
5 files changed, 197 insertions(+), 25 deletions(-)

diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
index 796a2eccbef0..f9ed93c4cf0f 100644
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -12,6 +12,25 @@ menuconfig MTD
Expand Down Expand Up @@ -26,6 +41,21 @@
config MTD_TESTS
tristate "MTD tests support (DANGEROUS)"
depends on m
diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
index 593d0593a038..b14b7fe0f597 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -9,6 +9,8 @@ mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o

obj-y += parsers/

+obj-$(CONFIG_MTD_SPLIT) += mtdsplit/
+
# 'Users' - code which presents functionality to userspace.
obj-$(CONFIG_MTD_BLKDEVS) += mtd_blkdevs.o
obj-$(CONFIG_MTD_BLOCK) += mtdblock.o
diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
index d442fa94c872..f1ed12aae1fe 100644
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -15,11 +15,13 @@
Expand All @@ -42,7 +72,7 @@

/*
* MTD methods which simply translate the effective address and pass through
@@ -236,6 +238,146 @@ static int mtd_add_partition_attrs(struc
@@ -236,6 +238,146 @@ static int mtd_add_partition_attrs(struct mtd_info *new)
return ret;
}

Expand Down Expand Up @@ -189,23 +219,23 @@
int mtd_add_partition(struct mtd_info *parent, const char *name,
long long offset, long long length)
{
@@ -274,6 +416,7 @@ int mtd_add_partition(struct mtd_info *p
@@ -274,6 +416,7 @@ int mtd_add_partition(struct mtd_info *parent, const char *name,
if (ret)
goto err_remove_part;

+ mtd_partition_split(parent, child);
mtd_add_partition_attrs(child);

return 0;
@@ -422,6 +565,7 @@ int add_mtd_partitions(struct mtd_info *
@@ -422,6 +565,7 @@ int add_mtd_partitions(struct mtd_info *parent,
goto err_del_partitions;
}

+ mtd_partition_split(master, child);
mtd_add_partition_attrs(child);

/* Look for subpartitions */
@@ -438,31 +582,6 @@ err_del_partitions:
@@ -438,31 +582,6 @@ int add_mtd_partitions(struct mtd_info *parent,
return ret;
}

Expand Down Expand Up @@ -237,43 +267,11 @@
/*
* Many partition parsers just expected the core to kfree() all their data in
* one chunk. Do that by default.
--- a/include/linux/mtd/partitions.h
+++ b/include/linux/mtd/partitions.h
@@ -75,6 +75,12 @@ struct mtd_part_parser_data {
* Functions dealing with the various ways of partitioning the space
*/

+enum mtd_parser_type {
+ MTD_PARSER_TYPE_DEVICE = 0,
+ MTD_PARSER_TYPE_ROOTFS,
+ MTD_PARSER_TYPE_FIRMWARE,
+};
+
struct mtd_part_parser {
struct list_head list;
struct module *owner;
@@ -83,6 +89,7 @@ struct mtd_part_parser {
int (*parse_fn)(struct mtd_info *, const struct mtd_partition **,
struct mtd_part_parser_data *);
void (*cleanup)(const struct mtd_partition *pparts, int nr_parts);
+ enum mtd_parser_type type;
};

/* Container for passing around a set of parsed partitions */
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -9,6 +9,8 @@ mtd-y := mtdcore.o mtdsuper.o mtdconc

obj-y += parsers/

+obj-$(CONFIG_MTD_SPLIT) += mtdsplit/
+
# 'Users' - code which presents functionality to userspace.
obj-$(CONFIG_MTD_BLKDEVS) += mtd_blkdevs.o
obj-$(CONFIG_MTD_BLOCK) += mtdblock.o
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
index 8a2c60235ebb..b092bf6ff97d 100644
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
@@ -613,6 +613,24 @@ static inline void mtd_align_erase_req(s
@@ -613,6 +613,24 @@ static inline void mtd_align_erase_req(struct mtd_info *mtd,
req->len += mtd->erasesize - mod;
}

Expand All @@ -298,7 +296,7 @@
static inline uint32_t mtd_div_by_ws(uint64_t sz, struct mtd_info *mtd)
{
if (mtd->writesize_shift)
@@ -685,6 +703,13 @@ extern void __put_mtd_device(struct mtd_
@@ -685,6 +703,13 @@ extern void __put_mtd_device(struct mtd_info *mtd);
extern struct mtd_info *get_mtd_device_nm(const char *name);
extern void put_mtd_device(struct mtd_info *mtd);

Expand All @@ -312,3 +310,30 @@

struct mtd_notifier {
void (*add)(struct mtd_info *mtd);
diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h
index b74a539ec581..65ba0dbf961d 100644
--- a/include/linux/mtd/partitions.h
+++ b/include/linux/mtd/partitions.h
@@ -75,6 +75,12 @@ struct mtd_part_parser_data {
* Functions dealing with the various ways of partitioning the space
*/

+enum mtd_parser_type {
+ MTD_PARSER_TYPE_DEVICE = 0,
+ MTD_PARSER_TYPE_ROOTFS,
+ MTD_PARSER_TYPE_FIRMWARE,
+};
+
struct mtd_part_parser {
struct list_head list;
struct module *owner;
@@ -83,6 +89,7 @@ struct mtd_part_parser {
int (*parse_fn)(struct mtd_info *, const struct mtd_partition **,
struct mtd_part_parser_data *);
void (*cleanup)(const struct mtd_partition *pparts, int nr_parts);
+ enum mtd_parser_type type;
};

/* Container for passing around a set of parsed partitions */
--

@@ -1,6 +1,17 @@
From f8943df3beb0d3f9754bb35320c3a378727175a8 Mon Sep 17 00:00:00 2001
From: OpenWrt community <openwrt-devel@lists.openwrt.org>
Date: Thu, 14 Jul 2022 08:38:07 +0200
Subject: [PATCH] spi-nor/gigadevic: add gd25q512

---
drivers/mtd/spi-nor/gigadevice.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/mtd/spi-nor/gigadevice.c b/drivers/mtd/spi-nor/gigadevice.c
index e52ed19d864f..d25292ec1eb9 100644
--- a/drivers/mtd/spi-nor/gigadevice.c
+++ b/drivers/mtd/spi-nor/gigadevice.c
@@ -53,6 +53,9 @@ static const struct flash_info gigadevic
@@ -53,6 +53,9 @@ static const struct flash_info gigadevice_parts[] = {
SPI_NOR_4B_OPCODES | SPI_NOR_HAS_LOCK |
SPI_NOR_HAS_TB | SPI_NOR_TB_SR_BIT6)
.fixups = &gd25q256_fixups },
Expand All @@ -10,3 +21,5 @@
};

const struct spi_nor_manufacturer spi_nor_gigadevice = {
--

@@ -1,3 +1,17 @@
From 87363cc0e522de3294ea6ae10fb468d2a8d6fb2f Mon Sep 17 00:00:00 2001
From: OpenWrt community <openwrt-devel@lists.openwrt.org>
Date: Wed, 13 Jul 2022 12:17:21 +0200
Subject: [PATCH] spi-nor/esmt.c: add esmt f25l16pa

This fixes support for Dongwon T&I DW02-412H which uses F25L16PA(2S)
flash.

---
drivers/mtd/spi-nor/esmt.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/mtd/spi-nor/esmt.c b/drivers/mtd/spi-nor/esmt.c
index cfc9218c1053..d1750807f005 100644
--- a/drivers/mtd/spi-nor/esmt.c
+++ b/drivers/mtd/spi-nor/esmt.c
@@ -10,6 +10,8 @@
Expand All @@ -9,3 +23,5 @@
{ "f25l32pa", INFO(0x8c2016, 0, 64 * 1024, 64,
SECT_4K | SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE) },
{ "f25l32qa", INFO(0x8c4116, 0, 64 * 1024, 64,
--

@@ -1,6 +1,21 @@
From f6b33d850f7f12555df2fa0e3349b33427bf5890 Mon Sep 17 00:00:00 2001
From: OpenWrt community <openwrt-devel@lists.openwrt.org>
Date: Wed, 13 Jul 2022 12:19:01 +0200
Subject: [PATCH] spi-nor/xmc.c: add xm25qh128c

The XMC XM25QH128C is a 16MB SPI NOR chip. The patch is verified on
Ruijie RG-EW3200GX PRO.
Datasheet available at https://www.xmcwh.com/uploads/435/XM25QH128C.pdf

---
drivers/mtd/spi-nor/xmc.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/mtd/spi-nor/xmc.c b/drivers/mtd/spi-nor/xmc.c
index 2c7773b68993..99ee43a654c4 100644
--- a/drivers/mtd/spi-nor/xmc.c
+++ b/drivers/mtd/spi-nor/xmc.c
@@ -14,6 +14,8 @@ static const struct flash_info xmc_parts
@@ -14,6 +14,8 @@ static const struct flash_info xmc_parts[] = {
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ "XM25QH128A", INFO(0x207018, 0, 64 * 1024, 256,
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
Expand All @@ -9,3 +24,5 @@
};

const struct spi_nor_manufacturer spi_nor_xmc = {
--

22 changes: 22 additions & 0 deletions target/linux/generic/pending-5.15/500-fs_cdrom_dependencies.patch
@@ -1,3 +1,17 @@
From af7b91bcecce0eae24e90acd35d96ecee73e1407 Mon Sep 17 00:00:00 2001
From: OpenWrt community <openwrt-devel@lists.openwrt.org>
Date: Wed, 13 Jul 2022 12:21:15 +0200
Subject: [PATCH] fs: add cdrom dependency

---
fs/hfs/Kconfig | 1 +
fs/hfsplus/Kconfig | 1 +
fs/isofs/Kconfig | 1 +
fs/udf/Kconfig | 1 +
4 files changed, 4 insertions(+)

diff --git a/fs/hfs/Kconfig b/fs/hfs/Kconfig
index 129926b5142d..e0d2c647aa07 100644
--- a/fs/hfs/Kconfig
+++ b/fs/hfs/Kconfig
@@ -2,6 +2,7 @@
Expand All @@ -8,6 +22,8 @@
select NLS
help
If you say Y here, you will be able to mount Macintosh-formatted
diff --git a/fs/hfsplus/Kconfig b/fs/hfsplus/Kconfig
index 7d4229aecec0..648d91d1881f 100644
--- a/fs/hfsplus/Kconfig
+++ b/fs/hfsplus/Kconfig
@@ -2,6 +2,7 @@
Expand All @@ -18,6 +34,8 @@
select NLS
select NLS_UTF8
help
diff --git a/fs/isofs/Kconfig b/fs/isofs/Kconfig
index 08ffd37b9bb8..f74680379207 100644
--- a/fs/isofs/Kconfig
+++ b/fs/isofs/Kconfig
@@ -1,6 +1,7 @@
Expand All @@ -28,6 +46,8 @@
help
This is the standard file system used on CD-ROMs. It was previously
known as "High Sierra File System" and is called "hsfs" on other
diff --git a/fs/udf/Kconfig b/fs/udf/Kconfig
index 26e1a49f3ba7..3f85a084d2b5 100644
--- a/fs/udf/Kconfig
+++ b/fs/udf/Kconfig
@@ -1,6 +1,7 @@
Expand All @@ -38,3 +58,5 @@
select CRC_ITU_T
select NLS
help
--

@@ -1,6 +1,25 @@
From 8585756342caa6d27008d1ad0c18023e4211a40a Mon Sep 17 00:00:00 2001
From: OpenWrt community <openwrt-devel@lists.openwrt.org>
Date: Wed, 13 Jul 2022 12:22:48 +0200
Subject: [PATCH] of/of_net: write back netdev MAC-address to device-tree

The label-mac logic relies on the mac-address property of a netdev
devices of-node. However, the mac address can also be stored as a
different property or read from e.g. an mtd device.

Create this node when reading a mac-address from OF if it does not
already exist and copy the mac-address used for the device to this
property. This way, the MAC address can be accessed using procfs.

---
net/core/of_net.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

diff --git a/net/core/of_net.c b/net/core/of_net.c
index 71c38b532f72..43b28c8ddff9 100644
--- a/net/core/of_net.c
+++ b/net/core/of_net.c
@@ -95,6 +95,27 @@ static int of_get_mac_addr_nvmem(struct
@@ -95,6 +95,27 @@ static int of_get_mac_addr_nvmem(struct device_node *np, u8 *addr)
return 0;
}

Expand Down Expand Up @@ -28,11 +47,13 @@
/**
* of_get_mac_address()
* @np: Caller's Device Node
@@ -175,6 +196,7 @@ found:
@@ -175,6 +196,7 @@ int of_get_mac_address(struct device_node *np, u8 *addr)
addr[5] = (mac_val >> 0) & 0xff;
}

+ of_add_mac_address(np, addr);
return ret;
}
EXPORT_SYMBOL(of_get_mac_address);
--

0 comments on commit 2ed7f6c

Please sign in to comment.