aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/sh/Makefile88
-rw-r--r--include/asm-sh/machvec_init.h2
2 files changed, 51 insertions, 39 deletions
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index 883b03b040c4..c7323e7dce67 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -87,39 +87,39 @@ core-y += arch/sh/kernel/ arch/sh/mm/
87core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/ 87core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/
88 88
89# Boards 89# Boards
90machdir-$(CONFIG_SH_SOLUTION_ENGINE) := se/770x 90machdir-$(CONFIG_SH_SOLUTION_ENGINE) += se/770x
91machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE) := se/7722 91machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE) += se/7722
92machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) := se/7751 92machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) += se/7751
93machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) := se/7780 93machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) += se/7780
94machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) := se/7300 94machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) += se/7300
95machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) := se/7343 95machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) += se/7343
96machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) := se/73180 96machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) += se/73180
97machdir-$(CONFIG_SH_HP6XX) := hp6xx 97machdir-$(CONFIG_SH_HP6XX) += hp6xx
98machdir-$(CONFIG_SH_SATURN) := saturn 98machdir-$(CONFIG_SH_SATURN) += saturn
99machdir-$(CONFIG_SH_DREAMCAST) := dreamcast 99machdir-$(CONFIG_SH_DREAMCAST) += dreamcast
100machdir-$(CONFIG_SH_MPC1211) := mpc1211 100machdir-$(CONFIG_SH_MPC1211) += mpc1211
101machdir-$(CONFIG_SH_SH03) := sh03 101machdir-$(CONFIG_SH_SH03) += sh03
102machdir-$(CONFIG_SH_SECUREEDGE5410) := snapgear 102machdir-$(CONFIG_SH_SECUREEDGE5410) += snapgear
103machdir-$(CONFIG_SH_HS7751RVOIP) := renesas/hs7751rvoip 103machdir-$(CONFIG_SH_HS7751RVOIP) += renesas/hs7751rvoip
104machdir-$(CONFIG_SH_RTS7751R2D) := renesas/rts7751r2d 104machdir-$(CONFIG_SH_RTS7751R2D) += renesas/rts7751r2d
105machdir-$(CONFIG_SH_7751_SYSTEMH) := renesas/systemh 105machdir-$(CONFIG_SH_7751_SYSTEMH) += renesas/systemh
106machdir-$(CONFIG_SH_EDOSK7705) := renesas/edosk7705 106machdir-$(CONFIG_SH_EDOSK7705) += renesas/edosk7705
107machdir-$(CONFIG_SH_HIGHLANDER) := renesas/r7780rp 107machdir-$(CONFIG_SH_HIGHLANDER) += renesas/r7780rp
108machdir-$(CONFIG_SH_7710VOIPGW) := renesas/sh7710voipgw 108machdir-$(CONFIG_SH_7710VOIPGW) += renesas/sh7710voipgw
109machdir-$(CONFIG_SH_SH4202_MICRODEV) := superh/microdev 109machdir-$(CONFIG_SH_SH4202_MICRODEV) += superh/microdev
110machdir-$(CONFIG_SH_LANDISK) := landisk 110machdir-$(CONFIG_SH_LANDISK) += landisk
111machdir-$(CONFIG_SH_TITAN) := titan 111machdir-$(CONFIG_SH_TITAN) += titan
112machdir-$(CONFIG_SH_SHMIN) := shmin 112machdir-$(CONFIG_SH_SHMIN) += shmin
113machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) := se/7206 113machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) += se/7206
114machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE) := se/7619 114machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE) += se/7619
115machdir-$(CONFIG_SH_LBOX_RE2) := lboxre2 115machdir-$(CONFIG_SH_LBOX_RE2) += lboxre2
116machdir-$(CONFIG_SH_UNKNOWN) := unknown 116machdir-$(CONFIG_SH_UNKNOWN) += unknown
117 117
118incdir-y := $(notdir $(machdir-y)) 118incdir-y := $(notdir $(machdir-y))
119incdir-$(CONFIG_SH_HP6XX) := hp6xx
120 119
121ifneq ($(machdir-y),) 120ifneq ($(machdir-y),)
122core-y += arch/sh/boards/$(machdir-y)/ 121core-y += $(addprefix arch/sh/boards/, \
122 $(filter-out ., $(patsubst %,%/,$(machdir-y))))
123endif 123endif
124 124
125# Companion chips 125# Companion chips
@@ -157,19 +157,31 @@ include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) \
157# Most boards have their own mach directories. For the ones that 157# Most boards have their own mach directories. For the ones that
158# don't, just reference the parent directory so the semantics are 158# don't, just reference the parent directory so the semantics are
159# kept roughly the same. 159# kept roughly the same.
160#
161# When multiple boards are compiled in at the same time, preference
162# for the mach link is given to whichever has a directory for its
163# headers. However, this is only a workaround until platforms that
164# can live in the same kernel image back away from relying on the
165# mach link.
160 166
161include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \ 167include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \
162 include/config/auto.conf FORCE 168 include/config/auto.conf FORCE
163 @echo -n ' SYMLINK include/asm-sh/mach -> '
164 $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi 169 $(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
165 $(Q)if [ -d $(incdir-prefix)$(incdir-y) ]; then \ 170 $(Q)rm -f include/asm-sh/mach
166 echo -e 'include/asm-sh/$(incdir-y)'; \ 171 $(Q)for i in $(incdir-y); do \
167 ln -fsn $(incdir-prefix)$(incdir-y) \ 172 if [ -d $(incdir-prefix)$$i ]; then \
173 echo -n ' SYMLINK include/asm-sh/mach -> '; \
174 echo -e "include/asm-sh/$$i"; \
175 ln -fsn $(incdir-prefix)$$i \
168 include/asm-sh/mach; \ 176 include/asm-sh/mach; \
169 else \ 177 else \
170 echo -e 'include/asm-sh'; \ 178 if [ ! -d include/asm-sh/mach ]; then \
171 ln -fsn $(incdir-prefix) include/asm-sh/mach; \ 179 echo -n ' SYMLINK include/asm-sh/mach -> '; \
172 fi 180 echo -e 'include/asm-sh'; \
181 ln -fsn $(incdir-prefix) include/asm-sh/mach; \
182 fi; \
183 fi; \
184 done
173 @touch $@ 185 @touch $@
174 186
175archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools 187archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools
diff --git a/include/asm-sh/machvec_init.h b/include/asm-sh/machvec_init.h
index 88a973edcf15..cb015b8bb365 100644
--- a/include/asm-sh/machvec_init.h
+++ b/include/asm-sh/machvec_init.h
@@ -14,6 +14,6 @@
14 14
15#define __initmv __attribute__((unused,__section__ (".machvec.init"))) 15#define __initmv __attribute__((unused,__section__ (".machvec.init")))
16#define ALIAS_MV(system) \ 16#define ALIAS_MV(system) \
17 asm(".global sh_mv\nsh_mv = mv_"#system ); 17 asm(".weak sh_mv\nsh_mv = mv_"#system );
18 18
19#endif /* __SH_MACHVEC_INIT_H */ 19#endif /* __SH_MACHVEC_INIT_H */