From: Varadarajan Narayanan Date: Tue, 1 Apr 2025 10:09:58 +0000 (+0530) Subject: dm: blk: Add 'erase' generic block device commands X-Git-Tag: v2025.07-rc1~83 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6a5177a58cd481792a652bc7b5c34ed5e76381e0;p=pandora-u-boot.git dm: blk: Add 'erase' generic block device commands Add support for doing 'erase' using the generic block commands framework. Signed-off-by: Varadarajan Narayanan --- diff --git a/cmd/blk_common.c b/cmd/blk_common.c index 4c05a4e0610..56529702a47 100644 --- a/cmd/blk_common.c +++ b/cmd/blk_common.c @@ -107,6 +107,23 @@ int blk_common_cmd(int argc, char *const argv[], enum uclass_id uclass_id, printf("%ld blocks written: %s\n", n, n == cnt ? "OK" : "ERROR"); return n == cnt ? CMD_RET_SUCCESS : CMD_RET_FAILURE; + } else if (strcmp(argv[1], "erase") == 0) { + lbaint_t blk = hextoul(argv[2], NULL); + ulong cnt = hextoul(argv[3], NULL); + struct blk_desc *desc; + ulong n; + + printf("\n%s erase: device %d block # "LBAFU", count %lu ... ", + if_name, *cur_devnump, blk, cnt); + + if (blk_get_desc(uclass_id, *cur_devnump, &desc)) + return CMD_RET_FAILURE; + + n = blk_derase(desc, blk, cnt); + + printf("%ld blocks erased: %s\n", n, + n == cnt ? "OK" : "ERROR"); + return n == cnt ? CMD_RET_SUCCESS : CMD_RET_FAILURE; } else { return CMD_RET_USAGE; }