@@ -435,7 +435,6 @@ static int physmap_flash_pdata_init(struct platform_device *dev)
static int physmap_flash_probe(struct platform_device *dev)
{
struct physmap_flash_info *info;
- const char * const *probe_type;
int err = 0;
int i;
@@ -516,14 +515,19 @@ static int physmap_flash_probe(struct platform_device *dev)
simple_map_init(&info->maps[i]);
}
- probe_type = rom_probe_types;
- if (!info->probe_type) {
- for (; !info->mtds[i] && *probe_type; probe_type++)
- info->mtds[i] = do_map_probe(*probe_type,
- &info->maps[i]);
- } else {
+ if (info->probe_type) {
info->mtds[i] = do_map_probe(info->probe_type,
&info->maps[i]);
+ } else {
+ int j;
+
+ for (j = 0; ARRAY_SIZE(rom_probe_types); j++) {
+ info->mtds[i] = do_map_probe(
+ rom_probe_types[j],
+ &info->maps[i]);
+ if (info->mtds[i])
+ break;
+ }
}
if (!info->mtds[i]) {
It is preferred to have the positive statement on an if/else. While we are at it we replace the way we access rom_probe_types. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> --- drivers/mtd/maps/physmap-core.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-)