mtd-rw: fix build failure with kernel 5.10
authorDavid Bauer <mail@david-bauer.net>
Fri, 26 Feb 2021 14:38:15 +0000 (15:38 +0100)
committerRosen Penev <rosenp@gmail.com>
Tue, 6 Apr 2021 23:02:22 +0000 (16:02 -0700)
When building mtd-rw for a target based on Kernel 5.10 which has
CONFIG_MTD disabled the build fails with

ERROR: "put_mtd_device" [../mtd-rw.ko] undefined!
ERROR: "get_mtd_device" [../mtd-rw.ko] undefined!

Omit building the package for such a target.

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit c6b3d949295e687c54a6d87f60f49f7ccc4bdcdf)

kernel/mtd-rw/Makefile
kernel/mtd-rw/patches/0001-mtd-disabled.patch [new file with mode: 0644]

index bcf60926f38129c76a4358f4a0a9a9ca8d4e8181..5cf1e5f42171a1a6a755d0d2d9ac8787996c8273 100644 (file)
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=mtd-rw
 PKG_VERSION:=git-20160214
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_MIRROR_HASH:=c44db17c3e05079116a1704f277642c9ce6f5ca4fa380c60f7e6d44509dc16be
@@ -29,6 +29,7 @@ define KernelPackage/mtd-rw
        SUBMENU:=Other modules
        TITLE:=Write-enabler for MTD partitions
        FILES:=$(PKG_BUILD_DIR)/mtd-rw.ko
+       DEPENDS:=@!(TARGET_x86||TARGET_bcm27xx||TARGET_octeontx)
 endef
 
 define KernelPackage/mtd-rw/description
diff --git a/kernel/mtd-rw/patches/0001-mtd-disabled.patch b/kernel/mtd-rw/patches/0001-mtd-disabled.patch
new file mode 100644 (file)
index 0000000..b21d956
--- /dev/null
@@ -0,0 +1,24 @@
+--- a/mtd-rw.c
++++ b/mtd-rw.c
+@@ -54,7 +54,11 @@ MODULE_PARM_DESC(i_want_a_brick, "Make a
+ static int set_writeable(unsigned n, bool w)
+ {
++#ifndef CONFIG_MTD
++      struct mtd_info *mtd = -ENOSYS;
++#else
+       struct mtd_info *mtd = get_mtd_device(NULL, n);
++#endif
+       int err;
+       if (IS_ERR(mtd)) {
+@@ -76,7 +80,9 @@ static int set_writeable(unsigned n, boo
+               err = 0;
+       }
++#ifdef CONFIG_MTD
+       put_mtd_device(mtd);
++#endif
+       return err;
+ }