mtd: be silent when mtd partition parser cannot be found
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Tue, 17 May 2011 08:13:17 +0000 (11:13 +0300)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Wed, 25 May 2011 01:05:35 +0000 (02:05 +0100)
Currently when we register partitions in 'parse_mtd_partitions()' we accept the
list of parsers we should try. And if one of the parsers was not found we print
a message. Well, first of all this whole idea is bad - look at how many
'part_probes' and 'part_probe_types' variables we have - nearly every driver
defines one. Instead, we should just go through all registered parsers all the
time. But this needs to be worked on separately.

This patch makes life of MTD partitions' users a bit simpler and allows them to
safely request parsers which have not been registered -
'parse_mtd_partitions()' will not print a "not available" message in this
case.

The point is that drivers do not have to do things like this any longer:

static const char *part_probe_types[] = { "cmdlinepart", "RedBoot",
                                         "afs",
                                         NULL };

but can simply do like this:

static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", "afs", NULL };

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/mtdpart.c

index 0a476017478277a925014d36f13ea0ea77c872ee..cd631e773a7b44b431b48ffd9caf0b1387c5f2db 100644 (file)
@@ -722,11 +722,8 @@ int parse_mtd_partitions(struct mtd_info *master, const char **types,
                parser = get_partition_parser(*types);
                if (!parser && !request_module("%s", *types))
                                parser = get_partition_parser(*types);
-               if (!parser) {
-                       printk(KERN_NOTICE "%s partition parsing not available\n",
-                              *types);
+               if (!parser)
                        continue;
-               }
                ret = (*parser->parse_fn)(master, pparts, origin);
                if (ret > 0) {
                        printk(KERN_NOTICE "%d %s partitions found on MTD device %s\n",