Просмотр исходного кода

powerpc: select MEMORY for FSL_IFC to not break existing .config files

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@freescale.com>
Cc: Scott Wood <scottwood@freescale.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Paul Gortmaker 11 лет назад
Родитель
Сommit
42d87b184f
3 измененных файлов с 5 добавлено и 4 удалено
  1. 0 4
      arch/powerpc/Kconfig
  2. 4 0
      drivers/memory/Kconfig
  3. 1 0
      drivers/mtd/nand/Kconfig

+ 0 - 4
arch/powerpc/Kconfig

@@ -736,10 +736,6 @@ config FSL_LBC
 	  controller.  Also contains some common code used by
 	  controller.  Also contains some common code used by
 	  drivers for specific local bus peripherals.
 	  drivers for specific local bus peripherals.
 
 
-config FSL_IFC
-	bool
-        depends on FSL_SOC
-
 config FSL_GTM
 config FSL_GTM
 	bool
 	bool
 	depends on PPC_83xx || QUICC_ENGINE || CPM2
 	depends on PPC_83xx || QUICC_ENGINE || CPM2

+ 4 - 0
drivers/memory/Kconfig

@@ -50,4 +50,8 @@ config TEGRA30_MC
 	  analysis, especially for IOMMU/SMMU(System Memory Management
 	  analysis, especially for IOMMU/SMMU(System Memory Management
 	  Unit) module.
 	  Unit) module.
 
 
+config FSL_IFC
+	bool
+	depends on FSL_SOC
+
 endif
 endif

+ 1 - 0
drivers/mtd/nand/Kconfig

@@ -428,6 +428,7 @@ config MTD_NAND_FSL_IFC
 	tristate "NAND support for Freescale IFC controller"
 	tristate "NAND support for Freescale IFC controller"
 	depends on MTD_NAND && FSL_SOC
 	depends on MTD_NAND && FSL_SOC
 	select FSL_IFC
 	select FSL_IFC
+	select MEMORY
 	help
 	help
 	  Various Freescale chips e.g P1010, include a NAND Flash machine
 	  Various Freescale chips e.g P1010, include a NAND Flash machine
 	  with built-in hardware ECC capabilities.
 	  with built-in hardware ECC capabilities.