Skip to contentSkip to conversation

mtdoops: allow MTD selection by name

PATCH In review Adrian Hunter 3 participants 4 messages Feb 16, 2009 – Mar 5, 2009 Memory technology devices (MTD)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mtdoops: allow MTD selection by name

MTD's have both an index number and a name. Formerly, the MTD selected for mtdoops was done only by index number. With this patch, a name can be used instead.

For example, the kernel command line:

console=ttyMTD5

selects MTD 5 for mtdoops. But now this is also possible:

console=ttyMTD,log

which selects the MTD named "log" for mtdoops.

This has the advantage that partitions can be added or removed that would affect the MTD index number but not the name, without having to then change the kernel command line.

---
drivers/mtd/mtdoops.c | 11 ++++++++++-

1 files changed, 10 insertions(+), 1 deletions(-)
drivers/mtd/mtdoops.c +0 -0
index 1a6b3be..fdf504f 100644
@@ -44,6 +44,7 @@ static struct mtdoops_context {
	int oops_pages;
	int nextpage;
	int nextcount;

+ char *name;

	void *oops_buf;

@@ -273,6 +274,9 @@ static void mtdoops_notify_add(struct mtd_info *mtd)

{
	struct mtdoops_context *cxt = &oops_cxt;

+ if (cxt->name && !strcmp(mtd->name, cxt->name))
+ cxt->mtd_index = mtd->index;
+

	if ((mtd->index != cxt->mtd_index) || cxt->mtd_index < 0)
		return;

@@ -383,8 +387,12 @@ static int __init mtdoops_console_setup(struct console *co, char *options)

{
	struct mtdoops_context *cxt = co->data;

- if (cxt->mtd_index != -1)
+ if (cxt->mtd_index != -1 || cxt->name)

		return -EBUSY;

+ if (options) {
+ cxt->name = kstrdup(options, GFP_KERNEL);
+ return 0;
+ }

	if (co->index == -1)
		return -EINVAL;

@@ -432,6 +440,7 @@ static void __exit mtdoops_console_exit(void)

	unregister_mtd_user(&mtdoops_notifier);
	unregister_console(&mtdoops_console);
+	kfree(cxt->name);
	vfree(cxt->oops_buf);
}
Signature · 1 line
1.5.6.3
Acked-by on v1 1/1
#1 lore raw
Quoted 12 lines · Adrian Hunter

MTD's have both an index number and a name. Formerly, the MTD selected for mtdoops was done only by index number. With this patch, a name can be used instead.

For example, the kernel command line:

console=ttyMTD5

selects MTD 5 for mtdoops. But now this is also possible:

console=ttyMTD,log

Quoted 7 lines

which selects the MTD named "log" for mtdoops.

This has the advantage that partitions can be added or removed that would affect the MTD index number but not the name, without having to then change the kernel command line.

Signature · 2 lines
Best regards,
Artem Bityutskiy (Битюцкий Артём)
#2 lore raw
Quoted 15 lines · Artem Bityutskiy
Quoted 14 lines · Adrian Hunter

MTD's have both an index number and a name. Formerly, the MTD selected for mtdoops was done only by index number. With this patch, a name can be used instead.

For example, the kernel command line:

console=ttyMTD5

selects MTD 5 for mtdoops. But now this is also possible:

console=ttyMTD,log

which selects the MTD named "log" for mtdoops.

Quoted 7 lines
Quoted 5 lines

This has the advantage that partitions can be added or removed that would affect the MTD index number but not the name, without having to then change the kernel command line.

David, would you please push this patch ?

Signature · 2 lines
Best regards,
Artem Bityutskiy (Битюцкий Артём)
Acked-by on v1 1/1
#3 lore raw
In reply to Adrian Hunter
Quoted 12 lines · Adrian Hunter

MTD's have both an index number and a name. Formerly, the MTD selected for mtdoops was done only by index number. With this patch, a name can be used instead.

For example, the kernel command line:

console=ttyMTD5

selects MTD 5 for mtdoops. But now this is also possible:

console=ttyMTD,log

Quoted 7 lines

which selects the MTD named "log" for mtdoops.

This has the advantage that partitions can be added or removed that would affect the MTD index number but not the name, without having to then change the kernel command line.

Signature · 2 lines
Richard Purdie
Intel Open Source Technology Centre