From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Tue, 02 Apr 2024 22:55:01 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1rrl9p-004Luy-2a for lore@lore.pengutronix.de; Tue, 02 Apr 2024 22:55:01 +0200 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1rrl9p-0005M5-Ig; Tue, 02 Apr 2024 22:55:01 +0200 Received: from mail-am7eur03on2117.outbound.protection.outlook.com ([40.107.105.117] helo=EUR03-AM7-obe.outbound.protection.outlook.com) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rrl9M-0004S6-OW for ptxdist@pengutronix.de; Tue, 02 Apr 2024 22:54:33 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nBZ4F+qoEaDzCohL34UxAhmLpyM5rD9h799LZi8O/+hMAycjs2MuXWAj0+XPh0meArV0RoMjPzdkri8tTgXxNp6mDeMcHviaFfo1sw2wfMJYcqK42x9TWdGBQ/kabDjUSwjK6Dy+sMz36+Lv9WvGFAFY2JDfVugYKLzLHx3eo+X5pkm7kC62twn6/87dQN1EtwSIu83Q6Q8dHN68CNo2jv5h9+Tj6/qEdPIKBasx+EV+QlMqGqhiLEdcVmaQrYt/tQED97kezpkoipvKElm3/mxE/Mo2W8/3ZZhJ6+cVlM6NhtBCPOP1orBOKPRbWPiOb5/E5rD+WZ3GPuLCiJRncw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jO+9PRdtrIPSJvU2tG3KJxf7nEOG4XHxfyXQq93zDkk=; b=iOU6uARp0kT1RSLmIjNGChjgjkIeCMsSai476e3d1ayC5EhyvrPMDomD8nSbE7/z6k60nUxo1dK+E7ZRl68JbKyHMXp8lapN2T+sZTA6lIGJKWS/eZMS85W5amVsIFIbbcZOB/Hy7Be2nvpyWDU2fSc5zuFI1qwRo48rdm3QGETINOnGD1bZCEbfliP/aEdZGc+bdjEVTYwXbp0FI/koZWg3LOnmBiXpuZyRqJDktvPkL5YBOxhbJiSArif2WGrYAUozFcHBETEkcSZmzDYBW3RPGcwnt818A+tNUTfT13gR/c4KCbnMmaW1vpIwkBM7PgoWFmt3zsXg2HhO3YoR3Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=t2data.com; dmarc=pass action=none header.from=t2data.com; dkim=pass header.d=t2data.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=t2datacom.onmicrosoft.com; s=selector1-t2datacom-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jO+9PRdtrIPSJvU2tG3KJxf7nEOG4XHxfyXQq93zDkk=; b=fdNQFj4acsRSXo0Wr8ujrRvwMjS7JMv6lpPS729ozF8pzEPyH4Pi1Kam/J5zWhnua7TgFpijifHFdBQZ0uvRW3kkDRBsDqmskfO59Ilyoe9yvlbaa7QOUUWo0WfE0mbeNPu35zmSqAx4X5Ds2J+U87u4i/OOR5/569OJTjrLLtU= Received: from DB9P251MB0618.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:334::22) by DU0P251MB0803.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:3bd::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 2 Apr 2024 20:54:26 +0000 Received: from DB9P251MB0618.EURP251.PROD.OUTLOOK.COM ([fe80::ba8c:3db:3a02:7ce4]) by DB9P251MB0618.EURP251.PROD.OUTLOOK.COM ([fe80::ba8c:3db:3a02:7ce4%6]) with mapi id 15.20.7409.042; Tue, 2 Apr 2024 20:54:26 +0000 From: Christian Melki To: ptxdist@pengutronix.de Date: Tue, 2 Apr 2024 22:54:06 +0200 Message-Id: <20240402205407.144018-1-christian.melki@t2data.com> X-Mailer: git-send-email 2.34.1 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: GVX0EPF00014AEB.SWEP280.PROD.OUTLOOK.COM (2603:10a6:158:401::304) To DB9P251MB0618.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:334::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9P251MB0618:EE_|DU0P251MB0803:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: J39Yaa8FISWBRA9XkXhVrAgOsSWBnCVNqemvupcq96grS2uAhBAMQFqH2e1njneFjfRnUR5+QG1GbPSKxW83xFYt6TXDiHJEa+UwKjumovzdV3hwc1DBhXTXvI9GT1yRoHIt5aLvn7+vEMgazav4MEAhzfUoaJGgBwjlpLAfM0NA6bYiaSZslbMRGUcnPqC3QZUetg6DBTQqLaTSo6Lk9+Wdbthdzdoj66C6vXqWS4wgfT2vBm9gsCWBpMtWsxwrRLl9o3q+WKNQuxlVMiPeNRzvDmcqGjheJFOgPALnOycPQjnsRikTdQqayUgVPDYtLkhGM4x/JppAiWIP0NpXctPtaiZTBMt5SYQk4eKNC9ipwIdE49/ZoBmgZGD2SlKrRuRQckPUZIy/znXlrqWNbaZqgFmHEIwLHOYECiPFnOZhZYVrQMMQHIENuk+AreFgpMYScCP7QCk0+Y96ospzD+IDsK7yDe7R0dCIswbYCbt+XdWULHhhOD7sXxvitH93eEv1CViviSoCTLUAjgsvsk14sR1OyFSPh0i4KH1FD1vJkOPqXPHtieTGpU7ZByeihqIcN108y6HzA4ox02DguX01YHg7VcgvmdrQtQ4t5bMFXymG2Uet+54eyEqKSjGKkXu8Cf8L4Nt6Fuwk4gcgibTzKvIuUxUMD1YpskxyOsI= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9P251MB0618.EURP251.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(366007)(52116005)(376005)(1800799015)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?f22iuNJwT4rLzIk78/gdBsKGiUEkBREHxL1QRWhs+nLa3tHbTEgqjOR+g3wd?= =?us-ascii?Q?T5OcQew9l0vHRBRoeuRAe/NSfp03dG4RwrjtBEvsp1LzdSVXFXcpice+Yzmo?= =?us-ascii?Q?bKy/wZQ6JYi6aPYwG6UY8XjvLvb2zIIPLE33XRUxS02F6YkHoocLgpzxOZk5?= =?us-ascii?Q?5Qj9kkgsTdGrTam7J9u2zXdGhGihX0cbLdr5BqOfjFr8nADrUYEHcLAB1MPo?= =?us-ascii?Q?BK4/9AOKCbm0jKZjw2ChOHAsw8C3iFnN8dESYGy2ZTpEhlCnwPkyov7w8Ld4?= =?us-ascii?Q?7m0OVLtw0ZvefBPwzvd5F8BtcMtord/ALi8+/1jOgJ6NltP+27gMwaVdTRuf?= =?us-ascii?Q?YsTKDGBOKb5xy4Zueq3fkZAdOTKYK3G7Zi1RI/XkfvC6KhvfzPqFasxCT3hS?= =?us-ascii?Q?re1plSyFH8Jm8r8mZt+VfwCb2JGD1MEUzd1ia8kvzed5qdLxseXIrm1Vz0JP?= =?us-ascii?Q?HsIsnjB5vKkC6l1htIRBIEZYLZQ7UlSY90ESBCa9YD8huABi4TL0soc5o9NK?= =?us-ascii?Q?SRVGhVSJ/G962BvBYovdwLfW0kA3wXS7H85P9XBkWyq+GzVQqSsSq/mANH8W?= =?us-ascii?Q?Ych6lk4G87SU8nIsOVRGtCC2X3xf3UwcdNXUY1VXr/o3irzVEKlYw4PER1go?= =?us-ascii?Q?5+fwXcYuBG++FB6FvUh+fNg4AX9qqdhSFwNx9gTH/FSbw5w2avhMmStEVO1s?= =?us-ascii?Q?QpBHvTSKTibjVYk/27+e+e9rxbyF5/CQ7vSm4b5V9175yZOzZ7yL6gD66pVn?= =?us-ascii?Q?ZMJtw2c2Jk/lJ6MpwvyaQA30zwONzFhhO7dYAxgjhXBV5m5PCsjJvr6l5v5c?= =?us-ascii?Q?xrf01SBGN2ZfrAPwZxTrYlBOlnz7+ZEvU3yejgzj/aj7eSRia1wUv5I93bIU?= =?us-ascii?Q?iIK10inYKRe46kmm0dedJwWt8Jf+DCps635K/ak5VlSAO/F5J0o9Yg6MdqDu?= =?us-ascii?Q?uTofk9g8tHZtvZuExWh/QU2EprlfK6Wbphe7gWH4yuvRWKSgWhAheqB8HuZz?= =?us-ascii?Q?IoGIkHYGMWrNmy3Te8Hp4oA49ShSKzSjGWBARjNvh1lMDfSc6kTb+M87okEL?= =?us-ascii?Q?JNWfzXhN7lTxBo4ecKXO1WJE2FtLr5XJQhpsqeC9SnxX/bH8dYC38KTNO322?= =?us-ascii?Q?Ws4EdvF5ihAMVFOvnafK15psxIbLBAbSvHLIhC8UqBk2Zg7L6P8nmn4efyT3?= =?us-ascii?Q?+U8h8kPM9eRuRTb8BjzRcrJ22cH79moKStmdFllO+G9wfVVBXz6NHgIjVTd/?= =?us-ascii?Q?dIyIx1RBFcLy2YpgmFck8RKzxuSWYNquk2PCfIIQyfvwwDIjkK3/gPQcqtQY?= =?us-ascii?Q?3hhXapCbsniZ8LmzTg0tGUNeZQ7R3zbBpFT4DxoCXIYGj8zbghGwJp6dEbje?= =?us-ascii?Q?V89DIYXtTy98mBRqyXtffUxoRCKvaBby0aFUD8XY1ABZcHC0TmAqE6J8d8jU?= =?us-ascii?Q?pDMLRDZQxtcMCjnVp6cSXJ/TGu80t16nfJg9WGfgGWQPs9lXPQvSPhoj3YIb?= =?us-ascii?Q?3v1TDbCXCBSBbA2UwzVoaSHy0EYbCZG/bRDYHnWVJpznpFamCJDixMqI0KoB?= =?us-ascii?Q?v4reHqlc5w3ZjO3xztpYM2MH4PpxLHw9wFrtO+gF3shNJQrNU6m/9oIlLomH?= =?us-ascii?Q?Lw=3D=3D?= X-OriginatorOrg: t2data.com X-MS-Exchange-CrossTenant-Network-Message-Id: d5a73b8f-bf84-44c5-6d05-08dc5357152c X-MS-Exchange-CrossTenant-AuthSource: DB9P251MB0618.EURP251.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Apr 2024 20:54:26.3819 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 27928da5-aacd-4ba1-9566-c748a6863e6c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: puDor9Q62jrVL82doU4ndcQPreaO1xwHDMEhxb35UfBhQVzUQ0e0mXSWxUWu7/jMcWAbTMik2dne4eyZQLWIERitQm72jFHKd4QtEo1KDr4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0P251MB0803 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Subject: [ptxdist] [PATCH 1/2] mtd-utils: Version bump. 2.1.6 -> 2.2.0 X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false Not overly exciting. https://lists.infradead.org/pipermail/linux-mtd/2024-March/104058.html * Fix options that changed from endis to wwo. * Forward patchset, applies cleanly. Signed-off-by: Christian Melki --- ...rkbad-new-util-to-mark-blocks-as-bad.patch | 158 ++++++++++++++++++ patches/mtd-utils-2.2.0/autogen.sh | 1 + patches/mtd-utils-2.2.0/series | 4 + rules/mtd-utils.make | 8 +- 4 files changed, 167 insertions(+), 4 deletions(-) create mode 100644 patches/mtd-utils-2.2.0/0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch create mode 120000 patches/mtd-utils-2.2.0/autogen.sh create mode 100644 patches/mtd-utils-2.2.0/series diff --git a/patches/mtd-utils-2.2.0/0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch b/patches/mtd-utils-2.2.0/0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch new file mode 100644 index 000000000..e6ff202a7 --- /dev/null +++ b/patches/mtd-utils-2.2.0/0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch @@ -0,0 +1,158 @@ +From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= +Date: Wed, 30 Aug 2017 13:31:46 +0200 +Subject: [PATCH] nandmarkbad: new util to mark blocks as bad + +--- + nand-utils/Makemodule.am | 5 +- + nand-utils/nandmarkbad.c | 119 +++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 123 insertions(+), 1 deletion(-) + create mode 100644 nand-utils/nandmarkbad.c + +diff --git a/nand-utils/Makemodule.am b/nand-utils/Makemodule.am +index cee677783e7a..7fd1de5aa9ae 100644 +--- a/nand-utils/Makemodule.am ++++ b/nand-utils/Makemodule.am +@@ -7,6 +7,9 @@ nandwrite_LDADD = libmtd.a + nandtest_SOURCES = nand-utils/nandtest.c + nandtest_LDADD = libmtd.a + ++nandmarkbad_SOURCES = nand-utils/nandmarkbad.c ++nandmarkbad_LDADD = libmtd.a ++ + nftldump_SOURCES = nand-utils/nftldump.c include/mtd_swab.h + nftldump_SOURCES += include/mtd/nftl-user.h include/mtd/ftl-user.h + nftldump_LDADD = libmtd.a +@@ -23,7 +26,7 @@ NAND_SH = \ + + EXTRA_DIST += $(NAND_SH) + +-sbin_PROGRAMS += nanddump nandwrite nandtest nftldump nftl_format nandflipbits ++sbin_PROGRAMS += nanddump nandwrite nandtest nandmarkbad nftldump nftl_format nandflipbits + + if BUILD_TESTS + test_SCRIPTS += $(NAND_SH) +diff --git a/nand-utils/nandmarkbad.c b/nand-utils/nandmarkbad.c +new file mode 100644 +index 000000000000..cf05698c3609 +--- /dev/null ++++ b/nand-utils/nandmarkbad.c +@@ -0,0 +1,119 @@ ++#define PROGRAM_NAME "nandmarkbad" ++ ++#include ++#include ++#include ++#include ++ ++#include "common.h" ++#include ++ ++static void usage(int status) ++{ ++ fprintf(status ? stderr : stdout, ++ "usage: %s [OPTIONS] \n\n" ++ " -b, --markbad=blockno Mark block bad\n" ++ " -h, --help Display this help and exit\n" ++ " -V, --version Output version information and exit\n" ++ " -y, --i-know-what-i-do really do mark blocks as bad\n", ++ PROGRAM_NAME); ++ exit(status); ++} ++ ++/* ++ * Main program ++ */ ++int main(int argc, char **argv) ++{ ++ loff_t mark_bad[32]; ++ unsigned cnt_bad = 0; ++ struct mtd_dev_info mtd; ++ libmtd_t mtd_desc; ++ int fd; ++ int error = 0; ++ int ret; ++ unsigned int i; ++ int iknowwhatido = 0; ++ ++ for (;;) { ++ static const char short_options[] = "b:hVy"; ++ static const struct option long_options[] = { ++ { "help", no_argument, 0, 'h' }, ++ { "markbad", required_argument, 0, 'b' }, ++ { "version", no_argument, 0, 'V'}, ++ { "i-know-what-i-do", no_argument, 0, 'y' }, ++ {0, 0, 0, 0}, ++ }; ++ int option_index = 0; ++ int c = getopt_long(argc, argv, short_options, long_options, ++ &option_index); ++ if (c == EOF) ++ break; ++ ++ switch (c) { ++ case '?': ++ usage(EXIT_FAILURE); ++ break; ++ ++ case 'b': ++ if (cnt_bad < ARRAY_SIZE(mark_bad)) { ++ mark_bad[cnt_bad] = ++ simple_strtoll(optarg, &error); ++ ++cnt_bad; ++ } else { ++ errmsg_die("Can't handle so many bad blocks\n"); ++ } ++ ++ break; ++ ++ case 'h': ++ usage(EXIT_SUCCESS); ++ break; ++ ++ case 'V': ++ common_print_version(); ++ return EXIT_SUCCESS; ++ ++ case 'y': ++ iknowwhatido = 1; ++ break; ++ } ++ } ++ ++ argc -= optind; ++ argv += optind; ++ ++ if (error) ++ usage(EXIT_FAILURE); ++ ++ if (argc != 1) ++ errmsg_die("You must specify a device to operate on\n"); ++ ++ if (!cnt_bad) ++ errmsg_die("You must specify at least one block to mark bad\n"); ++ ++ if (!iknowwhatido) ++ errmsg_die(PROGRAM_NAME " does things that are hard to undo.\n" ++ "\tPlease convince yourself you understand the risks,\n" ++ "\tthen add --i-know-what-i-do to the options.\n"); ++ ++ fd = open(argv[0], O_RDWR); ++ if (fd < 0) ++ sys_errmsg_die("Failed to open mtd device\n"); ++ ++ mtd_desc = libmtd_open(); ++ if (!mtd_desc) ++ errmsg_die("Can't initialize libmtd"); ++ ++ if (mtd_get_dev_info(mtd_desc, argv[0], &mtd) < 0) ++ errmsg_die("mtd_get_dev_info failed"); ++ ++ for (i = 0; i < cnt_bad; ++i) { ++ ret = mtd_mark_bad(&mtd, fd, mark_bad[i]); ++ if (ret) ++ sys_errmsg_die("%s: MTD Mark bad block failure", ++ argv[0]); ++ } ++ ++ return EXIT_SUCCESS; ++} diff --git a/patches/mtd-utils-2.2.0/autogen.sh b/patches/mtd-utils-2.2.0/autogen.sh new file mode 120000 index 000000000..9f8a4cb7d --- /dev/null +++ b/patches/mtd-utils-2.2.0/autogen.sh @@ -0,0 +1 @@ +../autogen.sh \ No newline at end of file diff --git a/patches/mtd-utils-2.2.0/series b/patches/mtd-utils-2.2.0/series new file mode 100644 index 000000000..92dc1b94f --- /dev/null +++ b/patches/mtd-utils-2.2.0/series @@ -0,0 +1,4 @@ +# generated by git-ptx-patches +#tag:base --start-number 1 +0001-nandmarkbad-new-util-to-mark-blocks-as-bad.patch +# 407ded52b82ffa3ff91d50cf6b2388e0 - git-ptx-patches magic diff --git a/rules/mtd-utils.make b/rules/mtd-utils.make index bef25b9ab..9722c20a5 100644 --- a/rules/mtd-utils.make +++ b/rules/mtd-utils.make @@ -15,8 +15,8 @@ PACKAGES-$(PTXCONF_MTD_UTILS) += mtd-utils # # Paths and names # -MTD_UTILS_VERSION := 2.1.6 -MTD_UTILS_MD5 := 2851d4b13e5c1cf9415f76102a34d623 +MTD_UTILS_VERSION := 2.2.0 +MTD_UTILS_MD5 := 35d71328107c54068c8df5a3b980c06e MTD_UTILS := mtd-utils-$(MTD_UTILS_VERSION) MTD_UTILS_SUFFIX := tar.bz2 MTD_UTILS_URL := https://infraroot.at/pub/mtd/$(MTD_UTILS).$(MTD_UTILS_SUFFIX) @@ -35,9 +35,9 @@ MTD_UTILS_CONF_OPT := \ $(CROSS_AUTOCONF_USR) \ --disable-unit-tests \ $(GLOBAL_LARGE_FILE_OPTION) \ - --$(call ptx/endis,PTXCONF_MTD_UTILS_TESTS)-tests \ + --$(call ptx/wwo,PTXCONF_MTD_UTILS_TESTS)-tests \ --$(call ptx/endis,PTXCONF_MTD_UTILS_UBIHEALTHD)-ubihealthd \ - --$(call ptx/endis, PTXCONF_MTD_UTILS_LSMTD)-lsmtd \ + --$(call ptx/wwo, PTXCONF_MTD_UTILS_LSMTD)-lsmtd \ --$(call ptx/wwo, PTXCONF_MTD_UTILS_JFFS)-jffs \ --$(call ptx/wwo, PTXCONF_MTD_UTILS_UBIFS)-ubifs \ --without-xattr \ -- 2.34.1