Subject: Re: [PATCH v2] powerpc: select MEMORY for FSL_IFC to not break existing .config files

From: Prabhakar Kushwaha <[email-masked]>
Date: Thu, 20 Feb 2014 11:35:59 +0530

On 2/20/2014 4:16 AM, Paul Gortmaker wrote:
> commit d2ae2e20fbdde5a65f3a5a153044ab1e5c53f7cc ("driver/memory:Move
> Freescale IFC driver to a common driver") introduces this build
> regression into the mpc85xx_defconfig:
>
>   drivers/built-in.o: In function `fsl_ifc_nand_remove':
>   drivers/mtd/nand/fsl_ifc_nand.c:1147: undefined reference to `fsl_ifc_ctrl_dev'
>   drivers/mtd/nand/fsl_ifc_nand.c:1147: undefined reference to `fsl_ifc_ctrl_dev'
>   drivers/built-in.o: In function `fsl_ifc_nand_probe':
>   drivers/mtd/nand/fsl_ifc_nand.c:1031: undefined reference to `fsl_ifc_ctrl_dev'
>   drivers/mtd/nand/fsl_ifc_nand.c:1031: undefined reference to `fsl_ifc_ctrl_dev'
>   drivers/built-in.o: In function `match_bank':
>   drivers/mtd/nand/fsl_ifc_nand.c:1013: undefined reference to `convert_ifc_address'
>   drivers/built-in.o: In function `fsl_ifc_nand_probe':
>   drivers/mtd/nand/fsl_ifc_nand.c:1059: undefined reference to `fsl_ifc_ctrl_dev'
>   drivers/mtd/nand/fsl_ifc_nand.c:1080: undefined reference to `fsl_ifc_ctrl_dev'
>   drivers/mtd/nand/fsl_ifc_nand.c:1069: undefined reference to `fsl_ifc_ctrl_dev'
>   drivers/mtd/nand/fsl_ifc_nand.c:1069: undefined reference to `fsl_ifc_ctrl_dev'
>   make: *** [vmlinux] Error 1
>
> This happens because there is nothing to descend us into the
> drivers/memory directory in the mpc85xx_defconfig.  It wasn't
> selecting CONFIG_MEMORY.  So we never built drivers/memory/fsl_ifc.o
> and so we have nothing to link the above symbols against.
>
> Since the goal of the original commit was to relocate the driver to
> an arch independent location, it only makes sense to relocate the
> Kconfig setting there as well.  But that alone won't fix the build
> failure; for that we ensure whoever selects FSL_IFC also selects MEMORY.
>
> Cc: Prabhakar Kushwaha <[email-masked]>
> Cc: Scott Wood <[email-masked]>
> Cc: Arnd Bergmann <[email-masked]>
> Cc: David Woodhouse <[email-masked]>
> Cc: Greg Kroah-Hartman <[email-masked]>
> Signed-off-by: Paul Gortmaker <[email-masked]>
> ---
>
> [v2: fix the mislocated FSL_IFC as per Scott's comment.  It still
>   probably makes sense to go in via Greg's char-misc/char-misc-next
>   (vs. powerpc-next) since that is where the regression was introduced.]
>
>   arch/powerpc/Kconfig     | 4 ----
>   drivers/memory/Kconfig   | 4 ++++
>   drivers/mtd/nand/Kconfig | 1 +
>   3 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 957bf344c0f5..b9fcecc706ab 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -736,10 +736,6 @@ config FSL_LBC
>   	  controller.  Also contains some common code used by
>   	  drivers for specific local bus peripherals.
>   
> -config FSL_IFC
> -	bool
> -        depends on FSL_SOC
> -
>   config FSL_GTM
>   	bool
>   	depends on PPC_83xx || QUICC_ENGINE || CPM2
> diff --git a/drivers/memory/Kconfig b/drivers/memory/Kconfig
> index 29a11db365bc..a3640fe9852f 100644
> --- a/drivers/memory/Kconfig
> +++ b/drivers/memory/Kconfig
> @@ -50,4 +50,8 @@ config TEGRA30_MC
>   	  analysis, especially for IOMMU/SMMU(System Memory Management
>   	  Unit) module.
>   
> +config FSL_IFC
> +	bool
> +	depends on FSL_SOC
> +
>   endif
> diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
> index 90ff447bf043..a4bee41ad5cb 100644
> --- a/drivers/mtd/nand/Kconfig
> +++ b/drivers/mtd/nand/Kconfig
> @@ -428,6 +428,7 @@ config MTD_NAND_FSL_IFC
>   	tristate "NAND support for Freescale IFC controller"
>   	depends on MTD_NAND && FSL_SOC
>   	select FSL_IFC
> +	select MEMORY
>   	help
>   	  Various Freescale chips e.g P1010, include a NAND Flash machine
>   	  with built-in hardware ECC capabilities.

Hi All,

I am not sure which version of patch is being picked here.

Latest version is v8 and it is a "patch set" and it do enable 
CONFIG_MEMORY in powerpc/configs

1.  driver/memory:Move Freescale IFC driver to a common driver
http://patchwork.ozlabs.org/patch/315531/

2. powerpc/config: Enable memory driver
http://patchwork.ozlabs.org/patch/315532/

Regards,
Prabhakar