[PATCH 2/3] mtd: ofpart: do not fail probe when no partitions exist
Brian Norris
computersforpeace at gmail.com
Mon Jul 27 13:39:24 PDT 2015
On Mon, Jul 27, 2015 at 08:30:43PM -0000, Michal Suchanek wrote:
...
> The controller-data node contains no partition information and no other
> subnodes with partition information exist.
>
> The ofpart code returns an error when there are subnodes of the flash DT
> node but no partitions are found. This error is then propagated to
> mtdpart which propagetes it to MTD probe which fails probing the flash
> device.
>
> Change this condition to a warning so that flash without partitions can
> be accessed on Exynos with ofpart support compiled in.
You never replied to my suggestion here:
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-June/352206.html
Particularly, "just define a proper compatibile property for [the
'controller-data'] subnode, and ofpart.c will naturally handle this".
> Signed-off-by: Michal Suchanek <hramrach at gmail.com>
>
> --
> - add more verbose explanation
> ---
> drivers/mtd/ofpart.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/ofpart.c b/drivers/mtd/ofpart.c
> index aa26c32..a29d29f 100644
> --- a/drivers/mtd/ofpart.c
> +++ b/drivers/mtd/ofpart.c
> @@ -94,10 +94,10 @@ static int parse_ofpart_partitions(struct mtd_info *master,
>
> if (!i) {
> of_node_put(pp);
> - pr_err("No valid partition found on %s\n", node->full_name);
> + pr_warn("No valid partition found on %s\n", node->full_name);
> kfree(*pparts);
> *pparts = NULL;
> - return -EINVAL;
> + return 0;
I don't really like this, since it can turn other invalid device trees
into a silent fallback. I'd really prefer we make it easy to tell the
difference between a MTD partition subnode and another foo-bar subnode.
> }
>
> return nr_parts;
Brian
More information about the linux-mtd
mailing list