]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.25/patches.kernel.org/arch-include-asm-fixes
Updated xen patches taken from suse.
[people/teissler/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.kernel.org / arch-include-asm-fixes
diff --git a/src/patches/suse-2.6.27.25/patches.kernel.org/arch-include-asm-fixes b/src/patches/suse-2.6.27.25/patches.kernel.org/arch-include-asm-fixes
new file mode 100644 (file)
index 0000000..d1a3af1
--- /dev/null
@@ -0,0 +1,98 @@
+From: Jeff Mahoney <jeffm@suse.com>
+Subject: [PATCH] kbuild: Properly handle arch/$arch/include/asm
+References: bnc#427473
+
+ Some architectures have moved include/asm-$arch to arch/$arch/include/asm,
+ but were still placing new files in include/asm-$arch. This causes build
+ problems with out-of-tree modules.
+
+ This patch properly handles the new locations.
+
+Signed-off-by: Jeff Mahoney <jeffm@suse.com>
+---
+ Makefile                    |   23 +++++++++++++++--------
+ arch/ia64/Makefile          |    2 +-
+ arch/ia64/include/asm/irq.h |    2 +-
+ arch/ia64/kernel/Makefile   |    6 +++---
+ 4 files changed, 20 insertions(+), 13 deletions(-)
+
+--- a/arch/ia64/include/asm/irq.h
++++ b/arch/ia64/include/asm/irq.h
+@@ -13,7 +13,7 @@
+ #include <linux/types.h>
+ #include <linux/cpumask.h>
+-#include <asm-ia64/nr-irqs.h>
++#include <asm/nr-irqs.h>
+ static __inline__ int
+ irq_canonicalize (int irq)
+--- a/arch/ia64/kernel/Makefile
++++ b/arch/ia64/kernel/Makefile
+@@ -96,15 +96,15 @@ endef
+ # We use internal kbuild rules to avoid the "is up to date" message from make
+ arch/$(SRCARCH)/kernel/nr-irqs.s: $(srctree)/arch/$(SRCARCH)/kernel/nr-irqs.c \
+-                              $(wildcard $(srctree)/include/asm-ia64/*/irq.h)
++                              $(wildcard $(srctree)/arch/ia64/include/asm/*/irq.h)
+       $(Q)mkdir -p $(dir $@)
+       $(call if_changed_dep,cc_s_c)
+-include/asm-ia64/nr-irqs.h: arch/$(SRCARCH)/kernel/nr-irqs.s
++arch/ia64/include/asm/nr-irqs.h: arch/$(SRCARCH)/kernel/nr-irqs.s
+       $(Q)mkdir -p $(dir $@)
+       $(call cmd,nr_irqs)
+-clean-files += $(objtree)/include/asm-ia64/nr-irqs.h
++clean-files += $(objtree)/arch/ia64/include/asm/nr-irqs.h
+ #
+ # native ivt.S and entry.S
+--- a/arch/ia64/Makefile
++++ b/arch/ia64/Makefile
+@@ -105,4 +105,4 @@ archprepare: make_nr_irqs_h FORCE
+ PHONY += make_nr_irqs_h FORCE
+ make_nr_irqs_h: FORCE
+-      $(Q)$(MAKE) $(build)=arch/ia64/kernel include/asm-ia64/nr-irqs.h
++      $(Q)$(MAKE) $(build)=arch/ia64/kernel arch/ia64/include/asm/nr-irqs.h
+--- a/Makefile
++++ b/Makefile
+@@ -968,8 +968,10 @@ define check-symlink
+       set -e;                                                            \
+       if [ -L include/asm ]; then                                        \
+               asmlink=`readlink include/asm | cut -d '-' -f 2`;          \
+-              if [ "$$asmlink" != "$(SRCARCH)" ]; then                   \
+-                      echo "ERROR: the symlink $@ points to asm-$$asmlink but asm-$(SRCARCH) was expected"; \
++              archlink=`readlink include/asm | cut -d '/' -f 3`;         \
++              if [ "$$asmlink" != "$(SRCARCH)" -a                        \
++                   "$$archlink" != "$(SRCARCH)" ]; then                  \
++                      echo "ERROR: the symlink $@ points to asm-$$asmlink but asm-$(SRCARCH) or ../arch/$(SRCARCH)/include/asm was expected"; \
+                       echo "       set ARCH or save .config and run 'make mrproper' to fix it";             \
+                       exit 1;                                            \
+               fi;                                                        \
+@@ -980,12 +982,18 @@ endef
+ # not exist so the test in chack-symlink works and we have a
+ # directory for generated filesas used by some architectures.
+ define create-symlink
+-      if [ ! -L include/asm ]; then                                      \
+-                      echo '  SYMLINK $@ -> include/asm-$(SRCARCH)';     \
+-                      if [ ! -d include/asm-$(SRCARCH) ]; then           \
+-                              mkdir -p include/asm-$(SRCARCH);           \
+-                      fi;                                                \
+-                      ln -fsn asm-$(SRCARCH) $@;                         \
++      if [ ! -L include/asm ]; then                                       \
++              if [ -d $(srctree)/arch/$(SRCARCH)/include/asm ]; then      \
++                      echo '  SYMLINK $@ -> arch/$(SRCARCH)/include/asm'; \
++                      mkdir -p arch/$(SRCARCH)/include/asm;               \
++                      ln -fsn ../arch/$(SRCARCH)/include/asm $@;          \
++              else                                                        \
++                      echo '  SYMLINK $@ -> include/asm-$(SRCARCH)';      \
++                      if [ ! -d include/asm-$(SRCARCH) ]; then            \
++                              mkdir -p include/asm-$(SRCARCH);            \
++                      fi;                                                 \
++                      ln -fsn asm-$(SRCARCH) $@;                          \
++              fi;                                                         \
+       fi
+ endef