]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: use module_mtd_part_parser for mtdsplit 23893/head
authorRosen Penev <rosenp@gmail.com>
Sat, 20 Jun 2026 21:13:12 +0000 (14:13 -0700)
committerJonas Jelonek <jelonek.jonas@gmail.com>
Tue, 23 Jun 2026 07:00:59 +0000 (09:00 +0200)
Remove boilerplate.

Also added deregister for bcm_wifi for consistency. Not needed as it's
builtin but still good to have.

There's a slight change from subsys_initcall to module_init. Not really
an issue for mtd drivers. No driver in linux upstream's drivers/mtd uses
subsys_initcall.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23893
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
18 files changed:
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_bcm63xx.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_bcm_wfi.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_brnimage.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_elf.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_eva.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_fit.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_jimage.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_lzma.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_minor.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_owrt_prolog.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_seama.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_squashfs.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_tplink.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_trx.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_uimage.c
target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_wrgg.c
target/linux/generic/pending-6.12/430-mtd-add-myloader-partition-parser.patch
target/linux/generic/pending-6.18/430-mtd-add-myloader-partition-parser.patch

index cdb9bf0d7718e9c8205fb87867c7e5ac2524d592..e66e7309910e5a1fdf3785f06beea2bcf0e526e9 100644 (file)
@@ -176,11 +176,4 @@ static struct mtd_part_parser mtdsplit_bcm63xx_parser = {
        .type = MTD_PARSER_TYPE_FIRMWARE,
 };
 
-static int __init mtdsplit_bcm63xx_init(void)
-{
-       register_mtd_parser(&mtdsplit_bcm63xx_parser);
-
-       return 0;
-}
-
-module_init(mtdsplit_bcm63xx_init);
+module_mtd_part_parser(mtdsplit_bcm63xx_parser);
index d8bcfb7f6e5f3fc651284c43525785c216f3a0f2..41e87e3b5c52fe11b46606966fba9d6b2636365c 100644 (file)
@@ -532,4 +532,12 @@ static int __init mtdsplit_bcm_wfi_init(void)
        return 0;
 }
 
+static void __exit mtdsplit_bcm_wfi_exit(void)
+{
+       deregister_mtd_parser(&mtdsplit_bcm_wfi_parser);
+       deregister_mtd_parser(&mtdsplit_bcm_wfi_split_parser);
+       deregister_mtd_parser(&mtdsplit_ser_wfi_parser);
+}
+
 module_init(mtdsplit_bcm_wfi_init);
+module_exit(mtdsplit_bcm_wfi_exit);
index 4cb5d90aa71113c1bf304b4ca6e07cab84f1422c..f029f726de5e11c9fc31638c78e564c6efc388b7 100644 (file)
@@ -94,11 +94,4 @@ static struct mtd_part_parser mtdsplit_brnimage_parser = {
        .type = MTD_PARSER_TYPE_FIRMWARE,
 };
 
-static int __init mtdsplit_brnimage_init(void)
-{
-       register_mtd_parser(&mtdsplit_brnimage_parser);
-
-       return 0;
-}
-
-subsys_initcall(mtdsplit_brnimage_init);
+module_mtd_part_parser(mtdsplit_brnimage_parser);
index 68e85cc9bf695e1a17f17696e392ce2bd7ad05ac..ca85ea8e5df7299d7a5fce228df9b13ba243108b 100644 (file)
@@ -277,11 +277,4 @@ static struct mtd_part_parser mtdsplit_elf_parser = {
        .type = MTD_PARSER_TYPE_FIRMWARE,
 };
 
-static int __init mtdsplit_elf_init(void)
-{
-       register_mtd_parser(&mtdsplit_elf_parser);
-
-       return 0;
-}
-
-subsys_initcall(mtdsplit_elf_init);
+module_mtd_part_parser(mtdsplit_elf_parser);
index e6a61d78116adddd3c14906e199f6bcaa7f2b81e..93fe5b5e74e97a10efaae5cc24ef732d15f16134 100644 (file)
@@ -93,11 +93,4 @@ static struct mtd_part_parser mtdsplit_eva_parser = {
        .type = MTD_PARSER_TYPE_FIRMWARE,
 };
 
-static int __init mtdsplit_eva_init(void)
-{
-       register_mtd_parser(&mtdsplit_eva_parser);
-
-       return 0;
-}
-
-subsys_initcall(mtdsplit_eva_init);
+module_mtd_part_parser(mtdsplit_eva_parser);
index 7f38e6d30c29eadb8601cd0026dbed674af93e2b..2afc19d09f4262cabec7eca3a3d9a6120a0d9c6f 100644 (file)
@@ -351,15 +351,4 @@ static struct mtd_part_parser uimage_parser = {
        .type = MTD_PARSER_TYPE_FIRMWARE,
 };
 
-/**************************************************
- * Init
- **************************************************/
-
-static int __init mtdsplit_fit_init(void)
-{
-       register_mtd_parser(&uimage_parser);
-
-       return 0;
-}
-
-module_init(mtdsplit_fit_init);
+module_mtd_part_parser(uimage_parser);
index 19a5e1a57159e5803cea7efaf7b62758a15e0479..c921593b98116c81d56c7211d8001fed882d5b9e 100644 (file)
@@ -270,15 +270,4 @@ static struct mtd_part_parser jimage_generic_parser = {
        .type = MTD_PARSER_TYPE_FIRMWARE,
 };
 
-/**************************************************
- * Init
- **************************************************/
-
-static int __init mtdsplit_jimage_init(void)
-{
-       register_mtd_parser(&jimage_generic_parser);
-
-       return 0;
-}
-
-module_init(mtdsplit_jimage_init);
+module_mtd_part_parser(jimage_generic_parser);
index 44672242700b1ab4a5c2e03080dee1908af76a67..71e01ac7ea4e23cb870005859d1e9111bd427c62 100644 (file)
@@ -99,11 +99,4 @@ static struct mtd_part_parser mtdsplit_lzma_parser = {
        .type = MTD_PARSER_TYPE_FIRMWARE,
 };
 
-static int __init mtdsplit_lzma_init(void)
-{
-       register_mtd_parser(&mtdsplit_lzma_parser);
-
-       return 0;
-}
-
-subsys_initcall(mtdsplit_lzma_init);
+module_mtd_part_parser(mtdsplit_lzma_parser);
index 71c937868a2d17605005edae211f042db833c307..55cb9ce25babb82e59469a9116cee76c3e471dec 100644 (file)
@@ -118,11 +118,4 @@ static struct mtd_part_parser mtdsplit_minor_parser = {
        .type = MTD_PARSER_TYPE_FIRMWARE,
 };
 
-static int __init mtdsplit_minor_init(void)
-{
-       register_mtd_parser(&mtdsplit_minor_parser);
-
-       return 0;
-}
-
-subsys_initcall(mtdsplit_minor_init);
+module_mtd_part_parser(mtdsplit_minor_parser);
index 846652137dbfe53ffda2d15ce7e5f3c4f4a1f578..c675aff9f3871993e4ee5072534eea428be2b727 100644 (file)
@@ -124,11 +124,4 @@ static struct mtd_part_parser mtdsplit_owrt_prolog_parser = {
        .type = MTD_PARSER_TYPE_FIRMWARE,
 };
 
-static int __init mtdsplit_owrt_prolog_init(void)
-{
-       register_mtd_parser(&mtdsplit_owrt_prolog_parser);
-
-       return 0;
-}
-
-subsys_initcall(mtdsplit_owrt_prolog_init);
+module_mtd_part_parser(mtdsplit_owrt_prolog_parser);
index 9f7063fa233bdc7e0f72bff5edb2ec0aa9491a52..5c39397730b0f3f135130d628feec72b7d8ad30f 100644 (file)
@@ -108,11 +108,4 @@ static struct mtd_part_parser mtdsplit_seama_parser = {
        .type = MTD_PARSER_TYPE_FIRMWARE,
 };
 
-static int __init mtdsplit_seama_init(void)
-{
-       register_mtd_parser(&mtdsplit_seama_parser);
-
-       return 0;
-}
-
-subsys_initcall(mtdsplit_seama_init);
+module_mtd_part_parser(mtdsplit_seama_parser);
index f6353da65b0e44a126453e86ee9dc8e4b97e950f..ba929c5e38e1fff285e814a0ae8ef888739584cd 100644 (file)
@@ -62,11 +62,4 @@ static struct mtd_part_parser mtdsplit_squashfs_parser = {
        .type = MTD_PARSER_TYPE_ROOTFS,
 };
 
-static int __init mtdsplit_squashfs_init(void)
-{
-       register_mtd_parser(&mtdsplit_squashfs_parser);
-
-       return 0;
-}
-
-subsys_initcall(mtdsplit_squashfs_init);
+module_mtd_part_parser(mtdsplit_squashfs_parser);
index ba446be30077487c5244464093e3a1ac2eedfb24..03cc7dd2f399da6137d61ecbac6c0a4476346c7e 100644 (file)
@@ -166,11 +166,4 @@ static struct mtd_part_parser mtdsplit_tplink_parser = {
        .type = MTD_PARSER_TYPE_FIRMWARE,
 };
 
-static int __init mtdsplit_tplink_init(void)
-{
-       register_mtd_parser(&mtdsplit_tplink_parser);
-
-       return 0;
-}
-
-subsys_initcall(mtdsplit_tplink_init);
+module_mtd_part_parser(mtdsplit_tplink_parser);
index 3621b53f7433b099eeb03b553b8fec7614baf41a..869b92cdf140f445126beeade17bb75eede9a7f3 100644 (file)
@@ -145,11 +145,4 @@ static struct mtd_part_parser trx_parser = {
        .type = MTD_PARSER_TYPE_FIRMWARE,
 };
 
-static int __init mtdsplit_trx_init(void)
-{
-       register_mtd_parser(&trx_parser);
-
-       return 0;
-}
-
-module_init(mtdsplit_trx_init);
+module_mtd_part_parser(trx_parser);
index f693cef3ad750fb4fc2cded1d340b3a2d4584da4..a2d2ba1622f0d22e047b0996d7db4de3de1126d4 100644 (file)
@@ -269,15 +269,4 @@ static struct mtd_part_parser uimage_generic_parser = {
        .type = MTD_PARSER_TYPE_FIRMWARE,
 };
 
-/**************************************************
- * Init
- **************************************************/
-
-static int __init mtdsplit_uimage_init(void)
-{
-       register_mtd_parser(&uimage_generic_parser);
-
-       return 0;
-}
-
-module_init(mtdsplit_uimage_init);
+module_mtd_part_parser(uimage_generic_parser);
index 84c8b97e93d5ddfcacfbc8159bbf2125a64891cf..319990a876b236fa42e8b5441b428e1f490329cf 100644 (file)
@@ -132,11 +132,4 @@ static struct mtd_part_parser mtdsplit_wrgg_parser = {
        .type = MTD_PARSER_TYPE_FIRMWARE,
 };
 
-static int __init mtdsplit_wrgg_init(void)
-{
-       register_mtd_parser(&mtdsplit_wrgg_parser);
-
-       return 0;
-}
-
-subsys_initcall(mtdsplit_wrgg_init);
+module_mtd_part_parser(mtdsplit_wrgg_parser);
index 8d308c989e3cc2ec8b8864c278199e448ed88d7f..a6b1c613f3784ee81945bc45ab145fecb202b8b6 100644 (file)
@@ -45,7 +45,7 @@ Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
  ofpart-$(CONFIG_MTD_OF_PARTS_BCM4908) += ofpart_bcm4908.o
 --- /dev/null
 +++ b/drivers/mtd/parsers/myloader.c
-@@ -0,0 +1,181 @@
+@@ -0,0 +1,168 @@
 +/*
 + *  Parse MyLoader-style flash partition tables and produce a Linux partition
 + *  array to match.
@@ -209,20 +209,7 @@ Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
 +      .name           = "MyLoader",
 +};
 +
-+static int __init myloader_mtd_parser_init(void)
-+{
-+      register_mtd_parser(&myloader_mtd_parser);
-+
-+      return 0;
-+}
-+
-+static void __exit myloader_mtd_parser_exit(void)
-+{
-+      deregister_mtd_parser(&myloader_mtd_parser);
-+}
-+
-+module_init(myloader_mtd_parser_init);
-+module_exit(myloader_mtd_parser_exit);
++module_mtd_part_parser(myloader_mtd_parser);
 +
 +MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
 +MODULE_DESCRIPTION("Parsing code for MyLoader partition tables");
index 8d308c989e3cc2ec8b8864c278199e448ed88d7f..a6b1c613f3784ee81945bc45ab145fecb202b8b6 100644 (file)
@@ -45,7 +45,7 @@ Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
  ofpart-$(CONFIG_MTD_OF_PARTS_BCM4908) += ofpart_bcm4908.o
 --- /dev/null
 +++ b/drivers/mtd/parsers/myloader.c
-@@ -0,0 +1,181 @@
+@@ -0,0 +1,168 @@
 +/*
 + *  Parse MyLoader-style flash partition tables and produce a Linux partition
 + *  array to match.
@@ -209,20 +209,7 @@ Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
 +      .name           = "MyLoader",
 +};
 +
-+static int __init myloader_mtd_parser_init(void)
-+{
-+      register_mtd_parser(&myloader_mtd_parser);
-+
-+      return 0;
-+}
-+
-+static void __exit myloader_mtd_parser_exit(void)
-+{
-+      deregister_mtd_parser(&myloader_mtd_parser);
-+}
-+
-+module_init(myloader_mtd_parser_init);
-+module_exit(myloader_mtd_parser_exit);
++module_mtd_part_parser(myloader_mtd_parser);
 +
 +MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
 +MODULE_DESCRIPTION("Parsing code for MyLoader partition tables");