diff --git a/debian/changelog b/debian/changelog index d604ce6dd..2b58f8547 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +linux-2.6 (2.6.21-5) UNRELEASED; urgency=low + + * [m68k] Add atari isa and scsi fixes + + -- Christian T. Steigies Sun, 27 May 2007 23:00:17 +0200 + linux-2.6 (2.6.21-4) unstable; urgency=low * [powerpc] Fix mkvmlinuz support. diff --git a/debian/patches/bugfix/m68k/m68k-undefined-module_fixup.diff b/debian/patches/bugfix/m68k/m68k-undefined-module_fixup.diff new file mode 100644 index 000000000..64f34ece2 --- /dev/null +++ b/debian/patches/bugfix/m68k/m68k-undefined-module_fixup.diff @@ -0,0 +1,60 @@ +Subject: m68k: module_fixup() is needed by non-modular kernels, too + +m68k: Fix linking of non-modular kernels by moving module_fixup() from +arch/m68k/kernel/module.c to arch/m68k/kernel/setup.c + +Signed-off-by: Geert Uytterhoeven +--- + arch/m68k/kernel/module.c | 17 ----------------- + arch/m68k/kernel/setup.c | 17 +++++++++++++++++ + 2 files changed, 17 insertions(+), 17 deletions(-) + +--- a/arch/m68k/kernel/module.c ++++ b/arch/m68k/kernel/module.c +@@ -122,23 +122,6 @@ int apply_relocate_add(Elf32_Shdr *sechd + return 0; + } + +-void module_fixup(struct module *mod, struct m68k_fixup_info *start, +- struct m68k_fixup_info *end) +-{ +- struct m68k_fixup_info *fixup; +- +- for (fixup = start; fixup < end; fixup++) { +- switch (fixup->type) { +- case m68k_fixup_memoffset: +- *(u32 *)fixup->addr = m68k_memoffset; +- break; +- case m68k_fixup_vnode_shift: +- *(u16 *)fixup->addr += m68k_virt_to_node_shift; +- break; +- } +- } +-} +- + int module_finalize(const Elf_Ehdr *hdr, + const Elf_Shdr *sechdrs, + struct module *mod) +--- a/arch/m68k/kernel/setup.c ++++ b/arch/m68k/kernel/setup.c +@@ -505,3 +505,20 @@ static int __init adb_probe_sync_enable + + __setup("adb_sync", adb_probe_sync_enable); + #endif /* CONFIG_ADB */ ++ ++void module_fixup(struct module *mod, struct m68k_fixup_info *start, ++ struct m68k_fixup_info *end) ++{ ++ struct m68k_fixup_info *fixup; ++ ++ for (fixup = start; fixup < end; fixup++) { ++ switch (fixup->type) { ++ case m68k_fixup_memoffset: ++ *(u32 *)fixup->addr = m68k_memoffset; ++ break; ++ case m68k_fixup_vnode_shift: ++ *(u16 *)fixup->addr += m68k_virt_to_node_shift; ++ break; ++ } ++ } ++} diff --git a/debian/patches/series/5-extra b/debian/patches/series/5-extra new file mode 100644 index 000000000..021d67a96 --- /dev/null +++ b/debian/patches/series/5-extra @@ -0,0 +1,3 @@ ++ bugfix/m68k/debian-2.6.21-2-atari-scsi.diff m68k ++ bugfix/m68k/debian-2.6.21-2-rom-isa.diff m68k ++ bugfix/m68k/m68k-undefined-module_fixup.diff m68k