Re: [PATCH] [RFC] mtd: fixup CFI on ixp4xx

From: Miquel Raynal
Date: Mon Sep 27 2021 - 12:33:35 EST


Hi Arnd,

arnd@xxxxxxxxxx wrote on Mon, 27 Sep 2021 16:10:37 +0200:

> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> drivers/mtd/maps/ixp4xx.c requires MTD_CFI_BE_BYTE_SWAP to be set
> in order to compile.
>
> drivers/mtd/maps/ixp4xx.c:57:4: error: #error CONFIG_MTD_CFI_BE_BYTE_SWAP required
>
> This patch avoids the #error output by enforcing the policy in
> Kconfig. Not sure if this is the right approach, but it helps doing
> randconfig builds.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> Any other ideas for how to address it?

I am fine with the approach. Should I wait for someone else's Ack?

Thanks,
Miquèl

> ---
> drivers/mtd/chips/Kconfig | 2 ++
> drivers/mtd/maps/Kconfig | 2 +-
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/chips/Kconfig b/drivers/mtd/chips/Kconfig
> index aef14990e5f7..19726ebd973d 100644
> --- a/drivers/mtd/chips/Kconfig
> +++ b/drivers/mtd/chips/Kconfig
> @@ -55,12 +55,14 @@ choice
> LITTLE_ENDIAN_BYTE, if the bytes are reversed.
>
> config MTD_CFI_NOSWAP
> + depends on !ARCH_IXP4XX || CPU_BIG_ENDIAN
> bool "NO"
>
> config MTD_CFI_BE_BYTE_SWAP
> bool "BIG_ENDIAN_BYTE"
>
> config MTD_CFI_LE_BYTE_SWAP
> + depends on !ARCH_IXP4XX
> bool "LITTLE_ENDIAN_BYTE"
>
> endchoice
> diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig
> index aaa164b977fe..4945caa88345 100644
> --- a/drivers/mtd/maps/Kconfig
> +++ b/drivers/mtd/maps/Kconfig
> @@ -302,7 +302,7 @@ config MTD_DC21285
>
> config MTD_IXP4XX
> tristate "CFI Flash device mapped on Intel IXP4xx based systems"
> - depends on MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP4XX
> + depends on MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP4XX && MTD_CFI_ADV_OPTIONS
> help
> This enables MTD access to flash devices on platforms based
> on Intel's IXP4xx family of network processors such as the