2020-05-17 22:42:34

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the mtd-fixes tree

Hi all,

After merging the mtd-fixes tree, today's linux-next build (x86_64
allmodconfig) failed like this:

/home/sfr/next/next/drivers/mtd/nand/spi/core.c: In function 'spinand_init':
/home/sfr/next/next/drivers/mtd/nand/spi/core.c:1093:26: error: 'struct nand_device' has no member named 'ecc'
1093 | mtd->ecc_strength = nand->ecc.ctx.conf.strength;
| ^~
/home/sfr/next/next/drivers/mtd/nand/spi/core.c:1094:27: error: 'struct nand_device' has no member named 'ecc'
1094 | mtd->ecc_step_size = nand->ecc.ctx.conf.step_size;
| ^~

Caused by commit

d5baa0ec83de ("mtd: spinand: Propagate ECC information to the MTD structure")

"This fix depends on recent changes and should not be backported as-is." ?

I have reverted that commit for today.

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2020-05-17 23:04:59

by Richard Weinberger

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the mtd-fixes tree

On Mon, May 18, 2020 at 12:41 AM Stephen Rothwell <[email protected]> wrote:
>
> Hi all,
>
> After merging the mtd-fixes tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> /home/sfr/next/next/drivers/mtd/nand/spi/core.c: In function 'spinand_init':
> /home/sfr/next/next/drivers/mtd/nand/spi/core.c:1093:26: error: 'struct nand_device' has no member named 'ecc'
> 1093 | mtd->ecc_strength = nand->ecc.ctx.conf.strength;
> | ^~
> /home/sfr/next/next/drivers/mtd/nand/spi/core.c:1094:27: error: 'struct nand_device' has no member named 'ecc'
> 1094 | mtd->ecc_step_size = nand->ecc.ctx.conf.step_size;
> | ^~
>
> Caused by commit
>
> d5baa0ec83de ("mtd: spinand: Propagate ECC information to the MTD structure")
>
> "This fix depends on recent changes and should not be backported as-is." ?

Urgh, yes.
This patch slipped in.

Anyway, Miquel, the ready-to-backport diff would be this?

diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c
index 248c4d7a0cf4..e2c382ffc5b6 100644
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -1090,8 +1090,8 @@ static int spinand_init(struct spinand_device *spinand)
mtd->oobavail = ret;

/* Propagate ECC information to mtd_info */
- mtd->ecc_strength = nand->ecc.ctx.conf.strength;
- mtd->ecc_step_size = nand->ecc.ctx.conf.step_size;
+ mtd->ecc_strength = nand->eccreq.strength;
+ mtd->ecc_step_size = nand->eccreq.step_size;

return 0;

--
Thanks,
//richard

2020-05-18 07:49:44

by Miquel Raynal

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the mtd-fixes tree

Hi Richard,

Richard Weinberger <[email protected]> wrote on Mon, 18 May
2020 01:02:54 +0200:

> On Mon, May 18, 2020 at 12:41 AM Stephen Rothwell <[email protected]> wrote:
> >
> > Hi all,
> >
> > After merging the mtd-fixes tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> >
> > /home/sfr/next/next/drivers/mtd/nand/spi/core.c: In function 'spinand_init':
> > /home/sfr/next/next/drivers/mtd/nand/spi/core.c:1093:26: error: 'struct nand_device' has no member named 'ecc'
> > 1093 | mtd->ecc_strength = nand->ecc.ctx.conf.strength;
> > | ^~
> > /home/sfr/next/next/drivers/mtd/nand/spi/core.c:1094:27: error: 'struct nand_device' has no member named 'ecc'
> > 1094 | mtd->ecc_step_size = nand->ecc.ctx.conf.step_size;
> > | ^~
> >
> > Caused by commit
> >
> > d5baa0ec83de ("mtd: spinand: Propagate ECC information to the MTD structure")
> >
> > "This fix depends on recent changes and should not be backported as-is." ?
>
> Urgh, yes.
> This patch slipped in.
>
> Anyway, Miquel, the ready-to-backport diff would be this?
>
> diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c
> index 248c4d7a0cf4..e2c382ffc5b6 100644
> --- a/drivers/mtd/nand/spi/core.c
> +++ b/drivers/mtd/nand/spi/core.c
> @@ -1090,8 +1090,8 @@ static int spinand_init(struct spinand_device *spinand)
> mtd->oobavail = ret;
>
> /* Propagate ECC information to mtd_info */
> - mtd->ecc_strength = nand->ecc.ctx.conf.strength;
> - mtd->ecc_step_size = nand->ecc.ctx.conf.step_size;
> + mtd->ecc_strength = nand->eccreq.strength;
> + mtd->ecc_step_size = nand->eccreq.step_size;

Indeed, sorry for the confusion, this is fine.

Thanks,
Miquèl