| From: Randy Dunlap <rdunlap@infradead.org> |
| Subject: sh: fix multiple function definition build errors |
| |
| Many of the sh CPU-types have their own plat_irq_setup() and |
| arch_init_clk_ops() functions, so these same (empty) functions in |
| arch/sh/boards/of-generic.c are not needed and cause build errors. If |
| there is some case where these empty functions are needed, they can be |
| retained by marking them as "__weak" while at the same time making builds |
| that do not need them succeed. |
| |
| Fixes these build errors: |
| |
| arch/sh/boards/of-generic.o: In function `plat_irq_setup': |
| (.init.text+0x134): multiple definition of `plat_irq_setup' |
| arch/sh/kernel/cpu/sh2/setup-sh7619.o:(.init.text+0x30): first defined here |
| arch/sh/boards/of-generic.o: In function `arch_init_clk_ops': |
| (.init.text+0x118): multiple definition of `arch_init_clk_ops' |
| arch/sh/kernel/cpu/sh2/clock-sh7619.o:(.init.text+0x0): first defined here |
| |
| Link: http://lkml.kernel.org/r/9ee4e0c5-f100-86a2-bd4d-1d3287ceab31@infradead.org |
| Signed-off-by: Randy Dunlap <rdunlap@infradead.org> |
| Reported-by: kbuild test robot <lkp@intel.com> |
| Cc: Takashi Iwai <tiwai@suse.de> |
| Cc: Yoshinori Sato <ysato@users.sourceforge.jp> |
| Cc: Rich Felker <dalias@libc.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| arch/sh/boards/of-generic.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/arch/sh/boards/of-generic.c~sh-fix-multiple-function-definition-build-errors |
| +++ a/arch/sh/boards/of-generic.c |
| @@ -164,10 +164,10 @@ static struct sh_machine_vector __initmv |
| |
| struct sh_clk_ops; |
| |
| -void __init arch_init_clk_ops(struct sh_clk_ops **ops, int idx) |
| +void __init __weak arch_init_clk_ops(struct sh_clk_ops **ops, int idx) |
| { |
| } |
| |
| -void __init plat_irq_setup(void) |
| +void __init __weak plat_irq_setup(void) |
| { |
| } |
| _ |