[v2,04/24] mtd: rawnand: s3c2410: Allow selection of this driver when COMPILE_TEST=y

Message ID 20180709200945.30116-5-boris.brezillon@bootlin.com
State Changes Requested
Delegated to: Miquel Raynal
Headers show
Series
  • mtd: rawnand: Improve compile-test coverage
Related show

Commit Message

Boris Brezillon July 9, 2018, 8:09 p.m.
It just makes NAND maintainers' life easier by allowing them to
compile-test this driver without having ARCH_S3C24XX or ARCH_S3C64XX
enabled.

We add a dependency on HAS_IOMEM to make sure the driver compiles
correctly, and a dependency on !IA64 because the {read,write}s{bwl}()
accessors are not defined for this architecture.

Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
---
 drivers/mtd/nand/raw/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Boris Brezillon July 11, 2018, 11:16 a.m. | #1
On Mon,  9 Jul 2018 22:09:25 +0200
Boris Brezillon <boris.brezillon@bootlin.com> wrote:

> It just makes NAND maintainers' life easier by allowing them to
> compile-test this driver without having ARCH_S3C24XX or ARCH_S3C64XX
> enabled.
> 
> We add a dependency on HAS_IOMEM to make sure the driver compiles
> correctly, and a dependency on !IA64 because the {read,write}s{bwl}()
> accessors are not defined for this architecture.

I see that SPARC does not define those accessors either. So I guess we
should add depends on !SPARC.

Arnd, any other way to know when the platform implements
{read,write}s{bwl}() accessors?

> 
> Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
> ---
>  drivers/mtd/nand/raw/Kconfig | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
> index 1488ad0a0199..e01b3da726c0 100644
> --- a/drivers/mtd/nand/raw/Kconfig
> +++ b/drivers/mtd/nand/raw/Kconfig
> @@ -119,7 +119,8 @@ config MTD_NAND_AU1550
>  
>  config MTD_NAND_S3C2410
>  	tristate "NAND Flash support for Samsung S3C SoCs"
> -	depends on ARCH_S3C24XX || ARCH_S3C64XX
> +	depends on ARCH_S3C24XX || ARCH_S3C64XX || COMPILE_TEST
> +	depends on HAS_IOMEM && !IA64
>  	help
>  	  This enables the NAND flash controller on the S3C24xx and S3C64xx
>  	  SoCs
Arnd Bergmann July 11, 2018, 11:27 a.m. | #2
On Wed, Jul 11, 2018 at 1:16 PM, Boris Brezillon
<boris.brezillon@bootlin.com> wrote:
> On Mon,  9 Jul 2018 22:09:25 +0200
> Boris Brezillon <boris.brezillon@bootlin.com> wrote:
>
>> It just makes NAND maintainers' life easier by allowing them to
>> compile-test this driver without having ARCH_S3C24XX or ARCH_S3C64XX
>> enabled.
>>
>> We add a dependency on HAS_IOMEM to make sure the driver compiles
>> correctly, and a dependency on !IA64 because the {read,write}s{bwl}()
>> accessors are not defined for this architecture.
>
> I see that SPARC does not define those accessors either. So I guess we
> should add depends on !SPARC.
>
> Arnd, any other way to know when the platform implements
> {read,write}s{bwl}() accessors?

I'd just consider that a bug, and send a patch to fix sparc64 if it's broken.
sparc32 appears to have these, and when Thierry sent the patch
to implement them everywhere[1], he said that he tested sparc64 as
well, so either something regressed since then, or his testing
was incomplete. Either way, the correct answer IMHO would be to
make it work rather than to add infrastructure around the broken
configurations.

      Arnd

[1] https://lwn.net/Articles/604819/
Boris Brezillon July 11, 2018, 11:32 a.m. | #3
On Wed, 11 Jul 2018 13:27:53 +0200
Arnd Bergmann <arnd@arndb.de> wrote:

> On Wed, Jul 11, 2018 at 1:16 PM, Boris Brezillon
> <boris.brezillon@bootlin.com> wrote:
> > On Mon,  9 Jul 2018 22:09:25 +0200
> > Boris Brezillon <boris.brezillon@bootlin.com> wrote:
> >  
> >> It just makes NAND maintainers' life easier by allowing them to
> >> compile-test this driver without having ARCH_S3C24XX or ARCH_S3C64XX
> >> enabled.
> >>
> >> We add a dependency on HAS_IOMEM to make sure the driver compiles
> >> correctly, and a dependency on !IA64 because the {read,write}s{bwl}()
> >> accessors are not defined for this architecture.  
> >
> > I see that SPARC does not define those accessors either. So I guess we
> > should add depends on !SPARC.
> >
> > Arnd, any other way to know when the platform implements
> > {read,write}s{bwl}() accessors?  
> 
> I'd just consider that a bug, and send a patch to fix sparc64 if it's broken.
> sparc32 appears to have these, and when Thierry sent the patch
> to implement them everywhere[1], he said that he tested sparc64 as
> well, so either something regressed since then, or his testing
> was incomplete. Either way, the correct answer IMHO would be to
> make it work rather than to add infrastructure around the broken
> configurations.

I guess the same goes for IA64 then.
Arnd Bergmann July 11, 2018, 12:09 p.m. | #4
On Wed, Jul 11, 2018 at 1:32 PM, Boris Brezillon
<boris.brezillon@bootlin.com> wrote:
> On Wed, 11 Jul 2018 13:27:53 +0200
> Arnd Bergmann <arnd@arndb.de> wrote:
>
>> On Wed, Jul 11, 2018 at 1:16 PM, Boris Brezillon
>> <boris.brezillon@bootlin.com> wrote:
>> > On Mon,  9 Jul 2018 22:09:25 +0200
>> > Boris Brezillon <boris.brezillon@bootlin.com> wrote:
>> >
>> >> It just makes NAND maintainers' life easier by allowing them to
>> >> compile-test this driver without having ARCH_S3C24XX or ARCH_S3C64XX
>> >> enabled.
>> >>
>> >> We add a dependency on HAS_IOMEM to make sure the driver compiles
>> >> correctly, and a dependency on !IA64 because the {read,write}s{bwl}()
>> >> accessors are not defined for this architecture.
>> >
>> > I see that SPARC does not define those accessors either. So I guess we
>> > should add depends on !SPARC.
>> >
>> > Arnd, any other way to know when the platform implements
>> > {read,write}s{bwl}() accessors?
>>
>> I'd just consider that a bug, and send a patch to fix sparc64 if it's broken.
>> sparc32 appears to have these, and when Thierry sent the patch
>> to implement them everywhere[1], he said that he tested sparc64 as
>> well, so either something regressed since then, or his testing
>> was incomplete. Either way, the correct answer IMHO would be to
>> make it work rather than to add infrastructure around the broken
>> configurations.
>
> I guess the same goes for IA64 then.

Right. FWIW, I just tried it out and sent the respective arch patches.

      Arnd
Boris Brezillon July 11, 2018, 1:01 p.m. | #5
On Wed, 11 Jul 2018 14:09:19 +0200
Arnd Bergmann <arnd@arndb.de> wrote:

> On Wed, Jul 11, 2018 at 1:32 PM, Boris Brezillon
> <boris.brezillon@bootlin.com> wrote:
> > On Wed, 11 Jul 2018 13:27:53 +0200
> > Arnd Bergmann <arnd@arndb.de> wrote:
> >  
> >> On Wed, Jul 11, 2018 at 1:16 PM, Boris Brezillon
> >> <boris.brezillon@bootlin.com> wrote:  
> >> > On Mon,  9 Jul 2018 22:09:25 +0200
> >> > Boris Brezillon <boris.brezillon@bootlin.com> wrote:
> >> >  
> >> >> It just makes NAND maintainers' life easier by allowing them to
> >> >> compile-test this driver without having ARCH_S3C24XX or ARCH_S3C64XX
> >> >> enabled.
> >> >>
> >> >> We add a dependency on HAS_IOMEM to make sure the driver compiles
> >> >> correctly, and a dependency on !IA64 because the {read,write}s{bwl}()
> >> >> accessors are not defined for this architecture.  
> >> >
> >> > I see that SPARC does not define those accessors either. So I guess we
> >> > should add depends on !SPARC.
> >> >
> >> > Arnd, any other way to know when the platform implements
> >> > {read,write}s{bwl}() accessors?  
> >>
> >> I'd just consider that a bug, and send a patch to fix sparc64 if it's broken.
> >> sparc32 appears to have these, and when Thierry sent the patch
> >> to implement them everywhere[1], he said that he tested sparc64 as
> >> well, so either something regressed since then, or his testing
> >> was incomplete. Either way, the correct answer IMHO would be to
> >> make it work rather than to add infrastructure around the broken
> >> configurations.  
> >
> > I guess the same goes for IA64 then.  
> 
> Right. FWIW, I just tried it out and sent the respective arch patches.

Cool! Thanks for doing that.

Patch

diff --git a/drivers/mtd/nand/raw/Kconfig b/drivers/mtd/nand/raw/Kconfig
index 1488ad0a0199..e01b3da726c0 100644
--- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig
@@ -119,7 +119,8 @@  config MTD_NAND_AU1550
 
 config MTD_NAND_S3C2410
 	tristate "NAND Flash support for Samsung S3C SoCs"
-	depends on ARCH_S3C24XX || ARCH_S3C64XX
+	depends on ARCH_S3C24XX || ARCH_S3C64XX || COMPILE_TEST
+	depends on HAS_IOMEM && !IA64
 	help
 	  This enables the NAND flash controller on the S3C24xx and S3C64xx
 	  SoCs