[PATCH V2 1/4] mtd: bcm47xxpart.c: NVRAM partition handling

Rafał Miłecki zajec5 at gmail.com
Sun Jul 26 00:01:50 PDT 2015


On 25 July 2015 at 16:37, Joseph East <eastyjr at gmail.com> wrote:
> ---

You didn't describe your change, you didn't signed off the patch.


>  drivers/mtd/bcm47xxpart.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>
> diff --git a/drivers/mtd/bcm47xxpart.c b/drivers/mtd/bcm47xxpart.c
> index c0720c1..55a1462 100644
> --- a/drivers/mtd/bcm47xxpart.c
> +++ b/drivers/mtd/bcm47xxpart.c
> @@ -95,6 +95,7 @@ static int bcm47xxpart_parse(struct mtd_info *master,
>         int trx_part = -1;
>         int last_trx_part = -1;
>         int possible_nvram_sizes[] = { 0x8000, 0xF000, 0x10000, };
> +       bool found_nvram = false;
>
>         /*
>          * Some really old flashes (like AT45DB*) had smaller erasesize-s, but
> @@ -288,12 +289,23 @@ static int bcm47xxpart_parse(struct mtd_info *master,
>                 if (buf[0] == NVRAM_HEADER) {
>                         bcm47xxpart_add_part(&parts[curr_part++], "nvram",
>                                              master->size - blocksize, 0);
> +                       found_nvram = true;
>                         break;
>                 }
>         }
>
>         kfree(buf);
>
> +       if (!found_nvram) {
> +               pr_warning("Cannot find a nvram partition, reserving last two blocks\n");
> +               bcm47xxpart_add_part(&parts[curr_part++], "nvram_guess",
> +                                    master->size - blocksize * 2, MTD_WRITEABLE);
> +               for (i = 0; i < curr_part; i++) {
> +                       if (parts[i].size + parts[i].offset == master->size)
> +                               parts[i].offset -= blocksize * 2;
> +               }
> +       }
> +

I'm not asking "what for", because it should be in a commit message.
Waiting for it.

One problem I can see: it won't work well on devices with multiple
flashes. Is it expected for NVRAM to be located only on a one flash
memory.

-- 
Rafał



More information about the linux-mtd mailing list