2018-01-30 13:54:06

by Geert Uytterhoeven

[permalink] [raw]
Subject: [PATCH] mtd: nand: MTD_NAND_MARVELL should depend on HAS_DMA

If NO_DMA=y:

ERROR: "bad_dma_ops" [drivers/mtd/nand/marvell_nand.ko] undefined!

Add a dependency on HAS_DMA to fix this.

Fixes: 02f26ecf8c772751 ("mtd: nand: add reworked Marvell NAND controller driver")
Signed-off-by: Geert Uytterhoeven <[email protected]>
---
drivers/mtd/nand/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index e6b8c59f2c0da7c0..736ac887303c88ba 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -328,7 +328,7 @@ config MTD_NAND_MARVELL
tristate "NAND controller support on Marvell boards"
depends on PXA3xx || ARCH_MMP || PLAT_ORION || ARCH_MVEBU || \
COMPILE_TEST
- depends on HAS_IOMEM
+ depends on HAS_IOMEM && HAS_DMA
help
This enables the NAND flash controller driver for Marvell boards,
including:
--
2.7.4



2018-01-30 14:02:12

by Miquel Raynal

[permalink] [raw]
Subject: Re: [PATCH] mtd: nand: MTD_NAND_MARVELL should depend on HAS_DMA

Hi Geert,

On Tue, 30 Jan 2018 14:23:21 +0100
Geert Uytterhoeven <[email protected]> wrote:

> If NO_DMA=y:
>
> ERROR: "bad_dma_ops" [drivers/mtd/nand/marvell_nand.ko] undefined!
>
> Add a dependency on HAS_DMA to fix this.
>
> Fixes: 02f26ecf8c772751 ("mtd: nand: add reworked Marvell NAND controller driver")
> Signed-off-by: Geert Uytterhoeven <[email protected]>
> ---
> drivers/mtd/nand/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
> index e6b8c59f2c0da7c0..736ac887303c88ba 100644
> --- a/drivers/mtd/nand/Kconfig
> +++ b/drivers/mtd/nand/Kconfig
> @@ -328,7 +328,7 @@ config MTD_NAND_MARVELL
> tristate "NAND controller support on Marvell boards"
> depends on PXA3xx || ARCH_MMP || PLAT_ORION || ARCH_MVEBU || \
> COMPILE_TEST
> - depends on HAS_IOMEM
> + depends on HAS_IOMEM && HAS_DMA

I think this is more a coding issue than a Kconfig issue. AFAIR, none
of the ARCH_MVEBU SoCs use DMA in conjunction with the NAND controller.
PXA SoCs may use DMA (NFCv1 only) but this is not a hard requirement and
the driver is supposed to support PIO mode in all situations.

Can you please share your setup, the SoC, the configuration,
maybe also the DT?


Thanks,
Miquèl


2018-01-30 14:05:50

by Boris Brezillon

[permalink] [raw]
Subject: Re: [PATCH] mtd: nand: MTD_NAND_MARVELL should depend on HAS_DMA

On Tue, 30 Jan 2018 14:46:47 +0100
Miquel Raynal <[email protected]> wrote:

> Hi Geert,
>
> On Tue, 30 Jan 2018 14:23:21 +0100
> Geert Uytterhoeven <[email protected]> wrote:
>
> > If NO_DMA=y:
> >
> > ERROR: "bad_dma_ops" [drivers/mtd/nand/marvell_nand.ko] undefined!
> >
> > Add a dependency on HAS_DMA to fix this.
> >
> > Fixes: 02f26ecf8c772751 ("mtd: nand: add reworked Marvell NAND controller driver")
> > Signed-off-by: Geert Uytterhoeven <[email protected]>
> > ---
> > drivers/mtd/nand/Kconfig | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
> > index e6b8c59f2c0da7c0..736ac887303c88ba 100644
> > --- a/drivers/mtd/nand/Kconfig
> > +++ b/drivers/mtd/nand/Kconfig
> > @@ -328,7 +328,7 @@ config MTD_NAND_MARVELL
> > tristate "NAND controller support on Marvell boards"
> > depends on PXA3xx || ARCH_MMP || PLAT_ORION || ARCH_MVEBU || \
> > COMPILE_TEST
> > - depends on HAS_IOMEM
> > + depends on HAS_IOMEM && HAS_DMA
>
> I think this is more a coding issue than a Kconfig issue. AFAIR, none
> of the ARCH_MVEBU SoCs use DMA in conjunction with the NAND controller.
> PXA SoCs may use DMA (NFCv1 only) but this is not a hard requirement and
> the driver is supposed to support PIO mode in all situations.
>
> Can you please share your setup, the SoC, the configuration,
> maybe also the DT?

I don't think Geert is testing on a real board. He's just enabling
COMPILE_TEST and can then select your driver. Which means you really
need this depends on HAS_DMA.

2018-01-30 14:06:51

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] mtd: nand: MTD_NAND_MARVELL should depend on HAS_DMA

On Tue, Jan 30, 2018 at 2:56 PM, Boris Brezillon
<[email protected]> wrote:
> On Tue, 30 Jan 2018 14:46:47 +0100
> Miquel Raynal <[email protected]> wrote:
>> On Tue, 30 Jan 2018 14:23:21 +0100
>> Geert Uytterhoeven <[email protected]> wrote:
>>
>> > If NO_DMA=y:
>> >
>> > ERROR: "bad_dma_ops" [drivers/mtd/nand/marvell_nand.ko] undefined!
>> >
>> > Add a dependency on HAS_DMA to fix this.
>> >
>> > Fixes: 02f26ecf8c772751 ("mtd: nand: add reworked Marvell NAND controller driver")
>> > Signed-off-by: Geert Uytterhoeven <[email protected]>
>> > ---
>> > drivers/mtd/nand/Kconfig | 2 +-
>> > 1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
>> > index e6b8c59f2c0da7c0..736ac887303c88ba 100644
>> > --- a/drivers/mtd/nand/Kconfig
>> > +++ b/drivers/mtd/nand/Kconfig
>> > @@ -328,7 +328,7 @@ config MTD_NAND_MARVELL
>> > tristate "NAND controller support on Marvell boards"
>> > depends on PXA3xx || ARCH_MMP || PLAT_ORION || ARCH_MVEBU || \
>> > COMPILE_TEST
>> > - depends on HAS_IOMEM
>> > + depends on HAS_IOMEM && HAS_DMA
>>
>> I think this is more a coding issue than a Kconfig issue. AFAIR, none
>> of the ARCH_MVEBU SoCs use DMA in conjunction with the NAND controller.
>> PXA SoCs may use DMA (NFCv1 only) but this is not a hard requirement and
>> the driver is supposed to support PIO mode in all situations.
>>
>> Can you please share your setup, the SoC, the configuration,
>> maybe also the DT?
>
> I don't think Geert is testing on a real board. He's just enabling
> COMPILE_TEST and can then select your driver. Which means you really
> need this depends on HAS_DMA.

Correct.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2018-01-30 14:28:10

by Miquel Raynal

[permalink] [raw]
Subject: Re: [PATCH] mtd: nand: MTD_NAND_MARVELL should depend on HAS_DMA

On Tue, 30 Jan 2018 14:59:37 +0100
Geert Uytterhoeven <[email protected]> wrote:

> On Tue, Jan 30, 2018 at 2:56 PM, Boris Brezillon
> <[email protected]> wrote:
> > On Tue, 30 Jan 2018 14:46:47 +0100
> > Miquel Raynal <[email protected]> wrote:
> >> On Tue, 30 Jan 2018 14:23:21 +0100
> >> Geert Uytterhoeven <[email protected]> wrote:
> >>
> >> > If NO_DMA=y:
> >> >
> >> > ERROR: "bad_dma_ops" [drivers/mtd/nand/marvell_nand.ko] undefined!
> >> >
> >> > Add a dependency on HAS_DMA to fix this.
> >> >
> >> > Fixes: 02f26ecf8c772751 ("mtd: nand: add reworked Marvell NAND controller driver")
> >> > Signed-off-by: Geert Uytterhoeven <[email protected]>
> >> > ---
> >> > drivers/mtd/nand/Kconfig | 2 +-
> >> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >> >
> >> > diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
> >> > index e6b8c59f2c0da7c0..736ac887303c88ba 100644
> >> > --- a/drivers/mtd/nand/Kconfig
> >> > +++ b/drivers/mtd/nand/Kconfig
> >> > @@ -328,7 +328,7 @@ config MTD_NAND_MARVELL
> >> > tristate "NAND controller support on Marvell boards"
> >> > depends on PXA3xx || ARCH_MMP || PLAT_ORION || ARCH_MVEBU || \
> >> > COMPILE_TEST
> >> > - depends on HAS_IOMEM
> >> > + depends on HAS_IOMEM && HAS_DMA
> >>
> >> I think this is more a coding issue than a Kconfig issue. AFAIR, none
> >> of the ARCH_MVEBU SoCs use DMA in conjunction with the NAND controller.
> >> PXA SoCs may use DMA (NFCv1 only) but this is not a hard requirement and
> >> the driver is supposed to support PIO mode in all situations.
> >>
> >> Can you please share your setup, the SoC, the configuration,
> >> maybe also the DT?
> >
> > I don't think Geert is testing on a real board. He's just enabling
> > COMPILE_TEST and can then select your driver. Which means you really
> > need this depends on HAS_DMA.
>
> Correct.

My bad.

Ok then, it looks like this is the right fix.

Thanks Geert for reporting it.
Miquèl

>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds



--
Miquel Raynal, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

2018-02-12 21:24:26

by Boris Brezillon

[permalink] [raw]
Subject: Re: [PATCH] mtd: nand: MTD_NAND_MARVELL should depend on HAS_DMA

On Tue, 30 Jan 2018 14:23:21 +0100
Geert Uytterhoeven <[email protected]> wrote:

> If NO_DMA=y:
>
> ERROR: "bad_dma_ops" [drivers/mtd/nand/marvell_nand.ko] undefined!
>
> Add a dependency on HAS_DMA to fix this.

Applied.

Thanks,

Boris

>
> Fixes: 02f26ecf8c772751 ("mtd: nand: add reworked Marvell NAND controller driver")
> Signed-off-by: Geert Uytterhoeven <[email protected]>
> ---
> drivers/mtd/nand/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
> index e6b8c59f2c0da7c0..736ac887303c88ba 100644
> --- a/drivers/mtd/nand/Kconfig
> +++ b/drivers/mtd/nand/Kconfig
> @@ -328,7 +328,7 @@ config MTD_NAND_MARVELL
> tristate "NAND controller support on Marvell boards"
> depends on PXA3xx || ARCH_MMP || PLAT_ORION || ARCH_MVEBU || \
> COMPILE_TEST
> - depends on HAS_IOMEM
> + depends on HAS_IOMEM && HAS_DMA
> help
> This enables the NAND flash controller driver for Marvell boards,
> including:



--
Boris Brezillon, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
http://bootlin.com