[PATCH] mtd/powernv_flash: Enable partition support

Rafał Miłecki zajec5 at gmail.com
Wed Mar 28 22:29:43 PDT 2018


Hi Tomthy,

On 25 March 2018 at 22:05, Timothy Pearson
<tpearson at raptorengineering.com> wrote:
> On certain systems, such as the Talos II, skiboot emits a partition
> table for the main PNOR MTD device in the generated device tree.
>
> Allow this partition table to be parsed and the partitions to be
> exposed via MTD device partition nodes.

Your commit is missing a Signed-off-by


> ---
>  drivers/mtd/devices/powernv_flash.c | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/devices/powernv_flash.c b/drivers/mtd/devices/powernv_flash.c
> index 26f9feaa5d17..f76045f78221 100644
> --- a/drivers/mtd/devices/powernv_flash.c
> +++ b/drivers/mtd/devices/powernv_flash.c
> @@ -2,6 +2,7 @@
>   * OPAL PNOR flash MTD abstraction
>   *
>   * Copyright IBM 2015
> + * Copyright Raptor Engineering, LLC 2018
>   *
>   * This program is free software; you can redistribute it and/or modify
>   * it under the terms of the GNU General Public License as published by
> @@ -47,6 +48,8 @@ enum flash_op {
>         FLASH_OP_ERASE,
>  };
>
> +static char const * const part_probes[] = { "ofpart", NULL };
> +
>  /*
>   * Don't return -ERESTARTSYS if we can't get a token, the MTD core
>   * might have split up the call from userspace and called into the
> @@ -267,9 +270,14 @@ static int powernv_flash_probe(struct platform_device *pdev)
>         /*
>          * The current flash that skiboot exposes is one contiguous flash chip
>          * with an ffs partition at the start, it should prove easier for users
> -        * to deal with partitions or not as they see fit
> +        * to deal with partitions or not as they see fit.  skitboot places this
> +        * on the first MTD partition.
> +        *
> +        * Certain partitions may also be exposed to the host, such as the boot
> +        * kernel firmware partition.
>          */
> -       return mtd_device_register(&data->mtd, NULL, 0);
> +       mtd_set_of_node(&data->mtd, dev->of_node);
> +       return mtd_device_parse_register(&data->mtd, part_probes, NULL, NULL, 0);

It seems the only change introduced by this patch is passing a list of
parsers. That way you override a default list of parsers:
"cmdlinepart", "ofpart", NULL
with a custom one:
"ofpart", NULL

I don't see how it really changes anything/much. Can you explain it
please? It seems that the only purpose of your change is to don't
probe "cmdlinepart" parser which reads "mtdparts=" from the cmd line.

Which parser exactly is supposed to detect partitions on your device?
"fixed-partitions"? "ofoldpart"? Does your DTB contains "compatible"
property for flash node? Please paste the relevant part of your DTB if
applicable.


>  }
>
>  /**

-- 
Rafał



More information about the linux-mtd mailing list