From e6b42eb6a66c188642aeb447312938c6f6ebee86 Mon Sep 17 00:00:00 2001 From: Aneesh V Date: Fri, 17 Aug 2012 14:05:15 +0530 Subject: memory: emif: add device tree support to emif driver Device tree support for the EMIF driver. LPDDR2 generic timings extraction from device is managed using couple of helper functions which can be used by other memory controller drivers. Reviewed-by: Benoit Cousson Reviewed-by: Grant Likely Tested-by: Lokesh Vutla Signed-off-by: Aneesh V Signed-off-by: Santosh Shilimkar Cc: Greg Kroah-Hartman Signed-off-by: Greg Kroah-Hartman --- drivers/memory/Makefile | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers/memory/Makefile') diff --git a/drivers/memory/Makefile b/drivers/memory/Makefile index 42b3ce9d80f..cd8486b51f7 100644 --- a/drivers/memory/Makefile +++ b/drivers/memory/Makefile @@ -2,6 +2,7 @@ # Makefile for memory devices # +obj-$(CONFIG_OF) += of_memory.o obj-$(CONFIG_TI_EMIF) += emif.o obj-$(CONFIG_TEGRA20_MC) += tegra20-mc.o obj-$(CONFIG_TEGRA30_MC) += tegra30-mc.o -- cgit v1.2.3-70-g09d2 From 7c304d7e24fd4996a2b219312f739c4406b8e2e3 Mon Sep 17 00:00:00 2001 From: Stephen Warren Date: Wed, 5 Sep 2012 12:29:23 -0600 Subject: memory: fix build when CONFIG_OF && !CONFIG_DDR Commit e6b42eb "memory: emif: add device tree support to emif driver" added drivers/memory/of_memory.c, which references tables defined in lib/jedec_ddr_data.c. of_memory.c is compiled when CONFIG_OF, whereas jedec_ddr_data.c is compiled when CONFIG_DDR. This breaks the build when CONFIG_OF is defined but not CONFIG_DDR: drivers/built-in.o: In function `of_get_ddr_timings': drivers/memory/of_memory.c:138: undefined reference to `lpddr2_jedec_timings' drivers/built-in.o: In function `of_get_min_tck': drivers/memory/of_memory.c:62: undefined reference to `lpddr2_jedec_min_tck' make: *** [vmlinux] Error 1 To solve this, only compile of_memory.c when CONFIG_OF && CONFIG_DDR, otherwise, stub out the functions. Signed-off-by: Stephen Warren Signed-off-by: Greg Kroah-Hartman --- drivers/memory/Makefile | 2 ++ drivers/memory/of_memory.h | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'drivers/memory/Makefile') diff --git a/drivers/memory/Makefile b/drivers/memory/Makefile index cd8486b51f7..9cce5d70ed5 100644 --- a/drivers/memory/Makefile +++ b/drivers/memory/Makefile @@ -2,7 +2,9 @@ # Makefile for memory devices # +ifeq ($(CONFIG_DDR),y) obj-$(CONFIG_OF) += of_memory.o +endif obj-$(CONFIG_TI_EMIF) += emif.o obj-$(CONFIG_TEGRA20_MC) += tegra20-mc.o obj-$(CONFIG_TEGRA30_MC) += tegra30-mc.o diff --git a/drivers/memory/of_memory.h b/drivers/memory/of_memory.h index 20b496efed6..ef2514f553d 100644 --- a/drivers/memory/of_memory.h +++ b/drivers/memory/of_memory.h @@ -12,7 +12,7 @@ #ifndef __LINUX_MEMORY_OF_REG_H #define __LINUX_MEMORY_OF_REG_H -#ifdef CONFIG_OF +#if defined(CONFIG_OF) && defined(CONFIG_DDR) extern const struct lpddr2_min_tck *of_get_min_tck(struct device_node *np, struct device *dev); extern const struct lpddr2_timings @@ -31,6 +31,6 @@ static inline const struct lpddr2_timings { return NULL; } -#endif /* CONFIG_OF */ +#endif /* CONFIG_OF && CONFIG_DDR */ #endif /* __LINUX_MEMORY_OF_REG_ */ -- cgit v1.2.3-70-g09d2