[PATCH v2] powerpc: select MEMORY for FSL_IFC to not break existing .config files
Prabhakar Kushwaha
prabhakar at freescale.com
Fri Feb 21 15:00:09 EST 2014
On 2/20/2014 8:10 PM, Paul Gortmaker wrote:
> On 14-02-20 01:05 AM, Prabhakar Kushwaha wrote:
>> 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 <prabhakar at freescale.com>
>>> Cc: Scott Wood <scottwood at freescale.com>
>>> Cc: Arnd Bergmann <arnd at arndb.de>
>>> Cc: David Woodhouse <dwmw2 at infradead.org>
>>> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
>>> Signed-off-by: Paul Gortmaker <paul.gortmaker at windriver.com>
>>> ---
>>>
>>> [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
> It really doesn't matter what the latest version is, if the
> maintainer has already taken an earlier version and merged it.
> In that case one needs to work with the maintainer to determine
> whether they want a new version, or a delta/fixup commit on the
> old one.
I think, I got the reason of this issue.
I thought this patch will be picked by powerpc.git and updated version
were sent on linuxppc-dev mail list after initial version review on both
powerpc and linux-kernel mailing list. It should have sent on both the
list "always". A learning for future :)
I am OK with the current patch and modification because it full fill
my requirements.
I will sent separate patch to fix other things.
>> 1. driver/memory:Move Freescale IFC driver to a common driver
>> http://patchwork.ozlabs.org/patch/315531/
> So, this has the Kconfig move part, but the one currently in
> char-misc does not. And it still needs the "select".
>
>> 2. powerpc/config: Enable memory driver
>> http://patchwork.ozlabs.org/patch/315532/
> Updating the defconfigs is fine, but incomplete in itself. You
> still need the IFC users to select MEMORY, otherwise you still
> introduce build failures for anyone else who chooses IFC but
> does not choose MEMORY.
>
> In short, the char-misc tree still needs the v2 patch above.
>
>
Yes, this patch still required.
Thanks,
Prabhakar
More information about the Linuxppc-dev
mailing list