Lines Matching +full:mtd +full:- +full:name
1 // SPDX-License-Identifier: GPL-2.0-only
8 #include <linux/mtd/mtd.h>
9 #include <linux/mtd/partitions.h>
21 static void *mtd_parser_tplink_safeloader_read_table(struct mtd_info *mtd) in mtd_parser_tplink_safeloader_read_table() argument
31 np = mtd_get_of_node(mtd); in mtd_parser_tplink_safeloader_read_table()
32 if (mtd_is_partition(mtd)) in mtd_parser_tplink_safeloader_read_table()
37 if (of_property_read_u32(np, "partitions-table-offset", &offset)) { in mtd_parser_tplink_safeloader_read_table()
42 err = mtd_read(mtd, offset, sizeof(hdr), &bytes_read, (uint8_t *)&hdr); in mtd_parser_tplink_safeloader_read_table()
44 pr_err("Failed to read from %s at 0x%x\n", mtd->name, offset); in mtd_parser_tplink_safeloader_read_table()
54 err = mtd_read(mtd, offset + sizeof(hdr), size, &bytes_read, buf); in mtd_parser_tplink_safeloader_read_table()
56 pr_err("Failed to read from %s at 0x%zx\n", mtd->name, offset + sizeof(hdr)); in mtd_parser_tplink_safeloader_read_table()
73 static int mtd_parser_tplink_safeloader_parse(struct mtd_info *mtd, in mtd_parser_tplink_safeloader_parse() argument
78 char name[65]; in mtd_parser_tplink_safeloader_parse() local
87 err = -ENOMEM; in mtd_parser_tplink_safeloader_parse()
91 buf = mtd_parser_tplink_safeloader_read_table(mtd); in mtd_parser_tplink_safeloader_parse()
93 err = -ENOENT; in mtd_parser_tplink_safeloader_parse()
100 name, &parts[idx].offset, &parts[idx].size, &bytes) == 3; in mtd_parser_tplink_safeloader_parse()
102 parts[idx].name = kstrdup(name, GFP_KERNEL); in mtd_parser_tplink_safeloader_parse()
103 if (!parts[idx].name) { in mtd_parser_tplink_safeloader_parse()
104 err = -ENOMEM; in mtd_parser_tplink_safeloader_parse()
119 for (idx -= 1; idx >= 0; idx--) in mtd_parser_tplink_safeloader_parse()
120 kfree(parts[idx].name); in mtd_parser_tplink_safeloader_parse()
133 kfree(pparts[i].name); in mtd_parser_tplink_safeloader_cleanup()
139 { .compatible = "tplink,safeloader-partitions" },
147 .name = "tplink-safeloader",
152 MODULE_DESCRIPTION("TP-Link Safeloader partitions parser");