From f2ffa5ab74f4dfd598860f96ca37a71c4d0a28a8 Mon Sep 17 00:00:00 2001 From: Dezhong Diao Date: Wed, 13 Oct 2010 00:52:46 -0600 Subject: of/mips: Add device tree support to MIPS Add the ability to enable CONFIG_OF on the MIPS architecture. Signed-off-by: Dezhong Diao [grant.likely@secretlab.ca: cleared out obsolete hooks, removed ARCH_HAS_DEVTREE_MEM, remove __init tags from header file, removed debugfs support hunk] [ddaney@linux-mips.org: backed out over aggressive trimming of hooks] Acked-by: Ralf Baechle Tested-by: David Daney Signed-off-by: Grant Likely --- arch/mips/include/asm/prom.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 arch/mips/include/asm/prom.h (limited to 'arch/mips/include/asm/prom.h') diff --git a/arch/mips/include/asm/prom.h b/arch/mips/include/asm/prom.h new file mode 100644 index 00000000000..23f8237e18b --- /dev/null +++ b/arch/mips/include/asm/prom.h @@ -0,0 +1,35 @@ +/* + * arch/mips/include/asm/prom.h + * + * Copyright (C) 2010 Cisco Systems Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + */ +#ifndef __ASM_MIPS_PROM_H +#define __ASM_MIPS_PROM_H + +#ifdef CONFIG_OF +#include + +#include +#include +#include + +/* which is compatible with the flattened device tree (FDT) */ +#define cmd_line arcs_cmdline + +extern int early_init_dt_scan_memory_arch(unsigned long node, + const char *uname, int depth, void *data); + +extern int reserve_mem_mach(unsigned long addr, unsigned long size); +extern void free_mem_mach(unsigned long addr, unsigned long size); + +extern void __init device_tree_init(void); +#else /* CONFIG_OF */ +static inline void __init device_tree_init(void) { } +#endif /* CONFIG_OF */ + +#endif /* _ASM_MIPS_PROM_H */ -- cgit v1.2.3-70-g09d2 From 4c60071c1ea3e204b9dc25c7519f7beef355d47f Mon Sep 17 00:00:00 2001 From: David Daney Date: Tue, 19 Oct 2010 15:50:31 -0700 Subject: of/mips: Cleanup some include directives/files. The __init directives should go on the definitions of things, not the declaration, also __init is meaningless for inline functions, so remove it from prom.h. This allows us to get rid of a useless #include, but most of the rest of them are useless too, so kill them as well. If of_i2c.c needs irq definitions, it should include linux/irq.h directly, not assume indirect inclusion via asm/prom.h. Signed-off-by: David Daney Acked-by: Ralf Baechle Signed-off-by: Grant Likely --- arch/mips/include/asm/prom.h | 8 ++------ drivers/of/of_i2c.c | 1 + 2 files changed, 3 insertions(+), 6 deletions(-) (limited to 'arch/mips/include/asm/prom.h') diff --git a/arch/mips/include/asm/prom.h b/arch/mips/include/asm/prom.h index 23f8237e18b..f29b862d9db 100644 --- a/arch/mips/include/asm/prom.h +++ b/arch/mips/include/asm/prom.h @@ -12,10 +12,6 @@ #define __ASM_MIPS_PROM_H #ifdef CONFIG_OF -#include - -#include -#include #include /* which is compatible with the flattened device tree (FDT) */ @@ -27,9 +23,9 @@ extern int early_init_dt_scan_memory_arch(unsigned long node, extern int reserve_mem_mach(unsigned long addr, unsigned long size); extern void free_mem_mach(unsigned long addr, unsigned long size); -extern void __init device_tree_init(void); +extern void device_tree_init(void); #else /* CONFIG_OF */ -static inline void __init device_tree_init(void) { } +static inline void device_tree_init(void) { } #endif /* CONFIG_OF */ #endif /* _ASM_MIPS_PROM_H */ diff --git a/drivers/of/of_i2c.c b/drivers/of/of_i2c.c index 0a694debd22..c85d3c7421f 100644 --- a/drivers/of/of_i2c.c +++ b/drivers/of/of_i2c.c @@ -12,6 +12,7 @@ */ #include +#include #include #include #include -- cgit v1.2.3-70-g09d2