|
@@ -170,6 +170,7 @@ static int __devinit of_flash_probe(struct platform_device *dev)
|
|
|
resource_size_t res_size;
|
|
|
struct mtd_part_parser_data ppdata;
|
|
|
bool map_indirect;
|
|
|
+ const char *mtd_name;
|
|
|
|
|
|
match = of_match_device(of_flash_match, &dev->dev);
|
|
|
if (!match)
|
|
@@ -178,6 +179,8 @@ static int __devinit of_flash_probe(struct platform_device *dev)
|
|
|
|
|
|
reg_tuple_size = (of_n_addr_cells(dp) + of_n_size_cells(dp)) * sizeof(u32);
|
|
|
|
|
|
+ of_property_read_string(dp, "linux,mtd-name", &mtd_name);
|
|
|
+
|
|
|
/*
|
|
|
* Get number of "reg" tuples. Scan for MTD devices on area's
|
|
|
* described by each "reg" region. This makes it possible (including
|
|
@@ -234,7 +237,7 @@ static int __devinit of_flash_probe(struct platform_device *dev)
|
|
|
goto err_out;
|
|
|
}
|
|
|
|
|
|
- info->list[i].map.name = dev_name(&dev->dev);
|
|
|
+ info->list[i].map.name = mtd_name ?: dev_name(&dev->dev);
|
|
|
info->list[i].map.phys = res.start;
|
|
|
info->list[i].map.size = res_size;
|
|
|
info->list[i].map.bankwidth = be32_to_cpup(width);
|