mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	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 <swarren@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
		
	
			
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * OpenFirmware helpers for memory drivers
 | 
						|
 *
 | 
						|
 * Copyright (C) 2012 Texas Instruments, Inc.
 | 
						|
 *
 | 
						|
 * This program is free software; you can redistribute it and/or modify
 | 
						|
 * it under the terms of the GNU General Public License as published by
 | 
						|
 * the Free Software Foundation; either version 2 of the License, or
 | 
						|
 * (at your option) any later version.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef __LINUX_MEMORY_OF_REG_H
 | 
						|
#define __LINUX_MEMORY_OF_REG_H
 | 
						|
 | 
						|
#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
 | 
						|
	*of_get_ddr_timings(struct device_node *np_ddr, struct device *dev,
 | 
						|
	u32 device_type, u32 *nr_frequencies);
 | 
						|
#else
 | 
						|
static inline const struct lpddr2_min_tck
 | 
						|
	*of_get_min_tck(struct device_node *np, struct device *dev)
 | 
						|
{
 | 
						|
	return NULL;
 | 
						|
}
 | 
						|
 | 
						|
static inline const struct lpddr2_timings
 | 
						|
	*of_get_ddr_timings(struct device_node *np_ddr, struct device *dev,
 | 
						|
	u32 device_type, u32 *nr_frequencies)
 | 
						|
{
 | 
						|
	return NULL;
 | 
						|
}
 | 
						|
#endif /* CONFIG_OF && CONFIG_DDR */
 | 
						|
 | 
						|
#endif /* __LINUX_MEMORY_OF_REG_ */
 |