Add 2.6.22 patches from linux-m68k CVS

svn path=/dists/trunk/linux-2.6/; revision=9136
This commit is contained in:
Christian T. Steigies 2007-07-15 13:01:35 +00:00
parent a4815da7f0
commit 6502789f15
16 changed files with 1839 additions and 5 deletions

5
debian/changelog vendored
View File

@ -16,7 +16,8 @@ linux-2.6 (2.6.22-1~experimental.1) UNRELEASED; urgency=low
[ Christian T. Steigies ]
* Add module.lds to kernel headers
* Re-enable atari-scsi and atari-rom-isa patches
* enable INPUT_UINPUT on mac
* Enable INPUT_UINPUT on mac
* Add 2.6.22 patches from linux-m68k CVS
[ Martin Michlmayr ]
* [mips] Add patch from Yoichi Yuasa to fix IDE on Cobalt.
@ -24,7 +25,7 @@ linux-2.6 (2.6.22-1~experimental.1) UNRELEASED; urgency=low
[ dann frazier ]
* Enable vserver flavour for ia64 (closes: #423232)
-- Christian T. Steigies <cts@debian.org> Fri, 13 Jul 2007 23:39:57 +0200
-- Christian T. Steigies <cts@debian.org> Sun, 15 Jul 2007 14:58:22 +0200
linux-2.6 (2.6.22~rc5-1~experimental.1) experimental; urgency=low

View File

@ -0,0 +1,26 @@
To: linus, akpm
Cc: lkml
Subject: [PATCH] m68k: Kill superfluous externs
Kill a few superfluous extern declarations.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
arch/m68k/mm/motorola.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
--- a/arch/m68k/mm/motorola.c
+++ b/arch/m68k/mm/motorola.c
@@ -210,11 +210,7 @@ void __init paging_init(void)
int i;
#ifdef DEBUG
- {
- extern unsigned long availmem;
- printk ("start of paging_init (%p, %lx)\n",
- kernel_pg_dir, availmem);
- }
+ printk ("start of paging_init (%p, %lx)\n", kernel_pg_dir, availmem);
#endif
/* Fix the cache mode in the page descriptors for the 680[46]0. */

View File

@ -0,0 +1,374 @@
From alan@lxorguk.ukuu.org.uk Wed May 23 21:55:17 2007
Date: Wed, 23 May 2007 20:56:45 +0100
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Roman Zippel <zippel@linux-m68k.org>, Linux Kernel Development <linux-kernel@vger.kernel.org>, akpm@osdl.org, rmk@arm.linux.kernel.org, spyro@f2s.com, starvik@axis.com, ysato@users.sourceforge.jp, "Luck, Tony" <tony.luck@intel.com>, takata@linux-m32r.org, chris@zankel.net, uclinux-v850@lsi.nec.co.jp, kyle@parisc-linux.org, linux-mips@linux-mips.org
Subject: Re: [PATCH] m68k: Enable arbitary speed tty support
> > +#define TCSETS2 _IOW('T',0x2B, struct termios2)
> > +#define TCSETSW2 _IOW('T',0x2C, struct termios2)
> > +#define TCSETSF2 _IOW('T',0x2D, struct termios2)
>
> Where is `struct termios2' defined? Right now it doesn't compile because
> of that.
>
Sorry, shortage of qualified gnomes: One of them forgot to post this diff first
Add the termios2 structure ready for enabling on most platforms. One or two like
Sparc are plain weird so have been left alone. Most can use the same structure as
ktermios for termios2 (ie the newer ioctl uses the structure matching the current
kernel structure)
(cc'd various maintainers who get stuff)
Signed-off-by: Alan Cox <alan@redhat.com>
ddiff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.22-rc1-mm1/include/asm-arm/termbits.h linux-2.6.22-rc1-mm1/include/asm-arm/termbits.h
---
include/asm-arm/termbits.h | 11 +++++++++++
include/asm-arm26/termbits.h | 12 +++++++++++-
include/asm-avr32/termbits.h | 11 +++++++++++
include/asm-blackfin/termbits.h | 11 +++++++++++
include/asm-cris/termbits.h | 11 +++++++++++
include/asm-frv/termbits.h | 11 +++++++++++
include/asm-h8300/termbits.h | 11 +++++++++++
include/asm-ia64/termbits.h | 11 +++++++++++
include/asm-m32r/termbits.h | 11 +++++++++++
include/asm-m68k/termbits.h | 11 +++++++++++
include/asm-mips/termbits.h | 11 +++++++++++
include/asm-parisc/termbits.h | 11 +++++++++++
include/asm-s390/termbits.h | 11 +++++++++++
include/asm-sh/termbits.h | 11 +++++++++++
include/asm-v850/termbits.h | 11 +++++++++++
include/asm-xtensa/termbits.h | 11 +++++++++++
16 files changed, 176 insertions(+), 1 deletion(-)
--- a/include/asm-arm/termbits.h
+++ b/include/asm-arm/termbits.h
@@ -26,6 +26,17 @@ struct termios2 {
speed_t c_ospeed; /* output speed */
};
+struct termios_2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
--- a/include/asm-arm26/termbits.h
+++ b/include/asm-arm26/termbits.h
@@ -15,7 +15,7 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
-struct ktermios {
+struct termios2 {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
tcflag_t c_cflag; /* control mode flags */
@@ -26,6 +26,16 @@ struct ktermios {
speed_t c_ospeed; /* output speed */
};
+struct ktermios {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
/* c_cc characters */
#define VINTR 0
--- a/include/asm-avr32/termbits.h
+++ b/include/asm-avr32/termbits.h
@@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
--- a/include/asm-blackfin/termbits.h
+++ b/include/asm-blackfin/termbits.h
@@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
--- a/include/asm-cris/termbits.h
+++ b/include/asm-cris/termbits.h
@@ -19,6 +19,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
--- a/include/asm-frv/termbits.h
+++ b/include/asm-frv/termbits.h
@@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
--- a/include/asm-h8300/termbits.h
+++ b/include/asm-h8300/termbits.h
@@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
--- a/include/asm-ia64/termbits.h
+++ b/include/asm-ia64/termbits.h
@@ -26,6 +26,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
--- a/include/asm-m32r/termbits.h
+++ b/include/asm-m32r/termbits.h
@@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
--- a/include/asm-m68k/termbits.h
+++ b/include/asm-m68k/termbits.h
@@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
--- a/include/asm-mips/termbits.h
+++ b/include/asm-mips/termbits.h
@@ -30,6 +30,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
--- a/include/asm-parisc/termbits.h
+++ b/include/asm-parisc/termbits.h
@@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
--- a/include/asm-s390/termbits.h
+++ b/include/asm-s390/termbits.h
@@ -25,6 +25,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
--- a/include/asm-sh/termbits.h
+++ b/include/asm-sh/termbits.h
@@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
--- a/include/asm-v850/termbits.h
+++ b/include/asm-v850/termbits.h
@@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
--- a/include/asm-xtensa/termbits.h
+++ b/include/asm-xtensa/termbits.h
@@ -30,6 +30,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */

View File

@ -0,0 +1,57 @@
--- build-m68k-none-atari/include/asm-m68k/io.h 2007-07-13 00:44:22.000000000 +0200
+++ build-m68k-none-atari/include/asm-m68k/io.h 2007-05-27 21:27:29.000000000 +0200
@@ -245,9 +245,16 @@
#if defined(CONFIG_ATARI_ROM_ISA)
#define isa_rom_inb(port) rom_in_8(isa_itb(port))
#define isa_rom_inw(port) (ISA_SEX ? rom_in_be16(isa_itw(port)) : rom_in_le16(isa_itw(port)))
+#define isa_rom_inl(port) (ISA_SEX ? rom_in_be32(isa_itw(port)) : rom_in_le32(isa_itw(port)))
#define isa_rom_outb(val,port) rom_out_8(isa_itb(port),(val))
#define isa_rom_outw(val,port) (ISA_SEX ? rom_out_be16(isa_itw(port),(val)) : rom_out_le16(isa_itw(port),(val)))
+#define isa_rom_outl(val,port) (ISA_SEX ? rom_out_be32(isa_itw(port),(val)) : rom_out_le32(isa_itw(port),(val)))
+
+#define isa_rom_readb(p) rom_in_8(isa_mtb((unsigned long)(p)))
+#define isa_rom_readw(p) \
+ (ISA_SEX ? rom_in_be16(isa_mtw((unsigned long)(p))) \
+ : rom_in_le16(isa_mtw((unsigned long)(p))))
#define isa_rom_writeb(val,p) rom_out_8(isa_mtb((unsigned long)(p)),(val))
#define isa_rom_writew(val,p) \
@@ -315,12 +322,20 @@
(ISA_SEX ? raw_rom_insw(isa_itw(port), (u16 *)(buf), (nr)) : \
raw_rom_insw_swapw(isa_itw(port), (u16 *)(buf), (nr)))
+#define isa_rom_insl(port, buf, nr) \
+ (ISA_SEX ? raw_rom_insl(isa_itw(port), (u32 *)(buf), (nr)) : \
+ raw_rom_insw_swapw(isa_itw(port), (u16 *)(buf), (nr)<<1))
+
#define isa_rom_outsb(port, buf, nr) raw_rom_outsb(isa_itb(port), (u8 *)(buf), (nr))
#define isa_rom_outsw(port, buf, nr) \
(ISA_SEX ? raw_rom_outsw(isa_itw(port), (u16 *)(buf), (nr)) : \
raw_rom_outsw_swapw(isa_itw(port), (u16 *)(buf), (nr)))
+#define isa_rom_outsl(port, buf, nr) \
+ (ISA_SEX ? raw_rom_outsl(isa_itw(port), (u32 *)(buf), (nr)) : \
+ raw_rom_outsw_swapw(isa_itw(port), (u16 *)(buf), (nr)<<1))
+
#endif
#endif /* CONFIG_ISA */
@@ -421,8 +436,16 @@
#define insb isa_rom_insb
#define insw isa_rom_insw
+#define insl isa_rom_insl
#define outsb isa_rom_outsb
#define outsw isa_rom_outsw
+#define outsl isa_rom_outsl
+
+#define readb isa_readb
+#define readw isa_readw
+#define writeb isa_writeb
+#define writew isa_writew
+
#endif
#if !defined(CONFIG_ISA) && !defined(CONFIG_PCI) && !defined(CONFIG_ATARI_ROM_ISA)

View File

@ -0,0 +1,22 @@
Subject: [PATCH] m68k: Ratelimit ide_release_lock bug messages
Ratelimit the annoying ide_release_lock bug messages as attempting to release
the already released lock does not appear to cause any harm in practice.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
include/asm-m68k/ide.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/include/asm-m68k/ide.h
+++ b/include/asm-m68k/ide.h
@@ -114,7 +114,8 @@ static __inline__ void ide_release_lock
{
if (MACH_IS_ATARI) {
if (falconide_intr_lock == 0) {
- printk("ide_release_lock: bug\n");
+ if (printk_ratelimit())
+ printk("ide_release_lock: bug\n");
return;
}
falconide_intr_lock = 0;

View File

@ -0,0 +1,186 @@
Subject: [PATCH] scsi: m68k 53c7xx codingstyle cleanups
scsi: m68k 53c7xx codingstyle cleanups, as suggested by Christoph Hellwig
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
drivers/scsi/amiga7xx.c | 29 +++++++++++++++++------------
drivers/scsi/bvme6000_scsi.c | 20 ++++++++++++--------
drivers/scsi/mvme16x_scsi.c | 20 ++++++++++++--------
3 files changed, 41 insertions(+), 28 deletions(-)
--- a/drivers/scsi/amiga7xx.c
+++ b/drivers/scsi/amiga7xx.c
@@ -101,7 +101,6 @@ static int __devinit amiga7xx_init_one(s
}
hostdata = kmalloc(sizeof(struct NCR_700_Host_Parameters), GFP_KERNEL);
-
if (hostdata == NULL) {
printk(KERN_ERR "amiga7xx: Failed to allocate host data\n");
goto out_release;
@@ -124,9 +123,11 @@ static int __devinit amiga7xx_init_one(s
amiga7xx_scsi_driver_template.name = zdd->name;
/* and register the chip */
- if ((host = NCR_700_detect(&amiga7xx_scsi_driver_template, hostdata, &z->dev))
- == NULL) {
- printk(KERN_ERR "amiga7xx-scsi: No host detected; board configuration problem?\n");
+ host = NCR_700_detect(&amiga7xx_scsi_driver_template,
+ hostdata, &z->dev);
+ if (!host) {
+ printk(KERN_ERR "amiga7xx-scsi: No host detected; "
+ "board configuration problem?\n");
goto out_free;
}
@@ -134,7 +135,8 @@ static int __devinit amiga7xx_init_one(s
host->base = ioaddr;
host->irq = IRQ_AMIGA_PORTS;
- if (request_irq(host->irq, NCR_700_intr, IRQF_SHARED, "amiga7xx-scsi", host)) {
+ if (request_irq(host->irq, NCR_700_intr, IRQF_SHARED,
+ "amiga7xx-scsi", host)) {
printk(KERN_ERR "amiga7xx-scsi: request_irq failed\n");
goto out_put_host;
}
@@ -188,7 +190,8 @@ static int __devinit a4000t_probe(struct
if (!(MACH_IS_AMIGA && AMIGAHW_PRESENT(A4000_SCSI)))
goto out;
- if (!request_mem_region(A4000T_SCSI_ADDR, 0x1000, "A4000T builtin SCSI"))
+ if (!request_mem_region(A4000T_SCSI_ADDR, 0x1000,
+ "A4000T builtin SCSI"))
goto out;
hostdata = kmalloc(sizeof(struct NCR_700_Host_Parameters), GFP_KERNEL);
@@ -206,9 +209,10 @@ static int __devinit a4000t_probe(struct
hostdata->dcntl_extra = EA_710;
/* and register the chip */
- if ((host = NCR_700_detect(&amiga7xx_scsi_driver_template, hostdata, dev))
- == NULL) {
- printk(KERN_ERR "a4000t-scsi: No host detected; board configuration problem?\n");
+ host = NCR_700_detect(&amiga7xx_scsi_driver_template, hostdata, dev);
+ if (!host) {
+ printk(KERN_ERR "a4000t-scsi: No host detected; "
+ "board configuration problem?\n");
goto out_free;
}
@@ -262,11 +266,12 @@ static int __init amiga7xx_scsi_init(voi
{
int err;
- if ((err = driver_register(&a4000t_scsi_driver)))
+ err = driver_register(&a4000t_scsi_driver);
+ if (err)
return err;
- a4000t_scsi_device = platform_device_register_simple("a4000t-scsi", -1, NULL, 0);
-
+ a4000t_scsi_device = platform_device_register_simple("a4000t-scsi",
+ -1, NULL, 0);
if (IS_ERR(a4000t_scsi_device)) {
driver_unregister(&a4000t_scsi_driver);
return PTR_ERR(a4000t_scsi_device);
--- a/drivers/scsi/bvme6000_scsi.c
+++ b/drivers/scsi/bvme6000_scsi.c
@@ -44,7 +44,8 @@ bvme6000_probe(struct device *dev)
hostdata = kmalloc(sizeof(struct NCR_700_Host_Parameters), GFP_KERNEL);
if (hostdata == NULL) {
- printk(KERN_ERR "bvme6000-scsi: Failed to allocate host data\n");
+ printk(KERN_ERR "bvme6000-scsi: "
+ "Failed to allocate host data\n");
goto out;
}
memset(hostdata, 0, sizeof(struct NCR_700_Host_Parameters));
@@ -58,15 +59,17 @@ bvme6000_probe(struct device *dev)
hostdata->ctest7_extra = CTEST7_TT1;
/* and register the chip */
- if ((host = NCR_700_detect(&bvme6000_scsi_driver_template, hostdata, dev))
- == NULL) {
- printk(KERN_ERR "bvme6000-scsi: No host detected; board configuration problem?\n");
+ host = NCR_700_detect(&bvme6000_scsi_driver_template, hostdata, dev);
+ if (!host) {
+ printk(KERN_ERR "bvme6000-scsi: No host detected; "
+ "board configuration problem?\n");
goto out_free;
}
host->base = BVME_NCR53C710_BASE;
host->this_id = 7;
host->irq = BVME_IRQ_SCSI;
- if (request_irq(BVME_IRQ_SCSI, NCR_700_intr, 0, "bvme6000-scsi", host)) {
+ if (request_irq(BVME_IRQ_SCSI, NCR_700_intr, 0, "bvme6000-scsi",
+ host)) {
printk(KERN_ERR "bvme6000-scsi: request_irq failed\n");
goto out_put_host;
}
@@ -109,11 +112,12 @@ static int __init bvme6000_scsi_init(voi
{
int err;
- if ((err = driver_register(&bvme6000_scsi_driver)))
+ err = driver_register(&bvme6000_scsi_driver);
+ if (err)
return err;
- bvme6000_scsi_device = platform_device_register_simple("bvme6000-scsi", -1, NULL, 0);
-
+ bvme6000_scsi_device = platform_device_register_simple("bvme6000-scsi",
+ -1, NULL, 0);
if (IS_ERR(bvme6000_scsi_device)) {
driver_unregister(&bvme6000_scsi_driver);
return PTR_ERR(bvme6000_scsi_device);
--- a/drivers/scsi/mvme16x_scsi.c
+++ b/drivers/scsi/mvme16x_scsi.c
@@ -43,13 +43,15 @@ mvme16x_probe(struct device *dev)
goto out;
if (mvme16x_config & MVME16x_CONFIG_NO_SCSICHIP) {
- printk(KERN_INFO "mvme16x-scsi: detection disabled, SCSI chip not present\n");
+ printk(KERN_INFO "mvme16x-scsi: detection disabled, "
+ "SCSI chip not present\n");
goto out;
}
hostdata = kmalloc(sizeof(struct NCR_700_Host_Parameters), GFP_KERNEL);
if (hostdata == NULL) {
- printk(KERN_ERR "mvme16x-scsi: Failed to allocate host data\n");
+ printk(KERN_ERR "mvme16x-scsi: "
+ "Failed to allocate host data\n");
goto out;
}
memset(hostdata, 0, sizeof(struct NCR_700_Host_Parameters));
@@ -63,9 +65,10 @@ mvme16x_probe(struct device *dev)
hostdata->ctest7_extra = CTEST7_TT1;
/* and register the chip */
- if ((host = NCR_700_detect(&mvme16x_scsi_driver_template, hostdata, dev))
- == NULL) {
- printk(KERN_ERR "mvme16x-scsi: No host detected; board configuration problem?\n");
+ host = NCR_700_detect(&mvme16x_scsi_driver_template, hostdata, dev);
+ if (!host) {
+ printk(KERN_ERR "mvme16x-scsi: No host detected; "
+ "board configuration problem?\n");
goto out_free;
}
host->this_id = 7;
@@ -132,11 +135,12 @@ static int __init mvme16x_scsi_init(void
{
int err;
- if ((err = driver_register(&mvme16x_scsi_driver)))
+ err = driver_register(&mvme16x_scsi_driver);
+ if (err)
return err;
- mvme16x_scsi_device = platform_device_register_simple("mvme16x-scsi", -1, NULL, 0);
-
+ mvme16x_scsi_device = platform_device_register_simple("mvme16x-scsi",
+ -1, NULL, 0);
if (IS_ERR(mvme16x_scsi_device)) {
driver_unregister(&mvme16x_scsi_driver);
return PTR_ERR(mvme16x_scsi_device);

View File

@ -0,0 +1,27 @@
Subject: [PATCH] drivers/block/z2ram: Remove TRUE/FALSE defines
Cc: Jens Axboe <jens.axboe@oracle.com>
From: Richard Knutsson <ricknu-0@student.ltu.se>
Remove defines of TRUE and FALSE
* not used in the file
* the file is not included somewhere else
Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
drivers/block/z2ram.c | 3 ---
1 file changed, 3 deletions(-)
--- a/drivers/block/z2ram.c
+++ b/drivers/block/z2ram.c
@@ -44,9 +44,6 @@
extern int m68k_realnum_memory;
extern struct mem_info m68k_memory[NUM_MEMINFO];
-#define TRUE (1)
-#define FALSE (0)
-
#define Z2MINOR_COMBINED (0)
#define Z2MINOR_Z2ONLY (1)
#define Z2MINOR_CHIPONLY (2)

View File

@ -0,0 +1,68 @@
From alan@lxorguk.ukuu.org.uk Wed May 23 18:43:50 2007
Date: Wed, 23 May 2007 17:44:46 +0100
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: geert@linux-m68k.org, zippel@linux-m68k.org
Subject: [PATCH] m68k: Enable arbitary speed tty support
Add the needed constants and defines to activate the existing code.
Signed-off-by: Alan Cox <alan@redhat.com>
---
include/asm-m68k/ioctls.h | 4 ++++
include/asm-m68k/termbits.h | 5 ++++-
include/asm-m68k/termios.h | 6 ++++--
3 files changed, 12 insertions(+), 3 deletions(-)
--- a/include/asm-m68k/ioctls.h
+++ b/include/asm-m68k/ioctls.h
@@ -46,6 +46,10 @@
#define TIOCSBRK 0x5427 /* BSD compatibility */
#define TIOCCBRK 0x5428 /* BSD compatibility */
#define TIOCGSID 0x5429 /* Return the session ID of FD */
+#define TCGETS2 _IOR('T',0x2A, struct termios2)
+#define TCSETS2 _IOW('T',0x2B, struct termios2)
+#define TCSETSW2 _IOW('T',0x2C, struct termios2)
+#define TCSETSF2 _IOW('T',0x2D, struct termios2)
#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
--- a/include/asm-m68k/termbits.h
+++ b/include/asm-m68k/termbits.h
@@ -141,6 +141,7 @@ struct ktermios {
#define HUPCL 0002000
#define CLOCAL 0004000
#define CBAUDEX 0010000
+#define BOTHER 0010000
#define B57600 0010001
#define B115200 0010002
#define B230400 0010003
@@ -156,10 +157,12 @@ struct ktermios {
#define B3000000 0010015
#define B3500000 0010016
#define B4000000 0010017
-#define CIBAUD 002003600000 /* input baud rate (not used) */
+#define CIBAUD 002003600000 /* input baud rate */
#define CMSPAR 010000000000 /* mark or space (stick) parity */
#define CRTSCTS 020000000000 /* flow control */
+#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
+
/* c_lflag bits */
#define ISIG 0000001
#define ICANON 0000002
--- a/include/asm-m68k/termios.h
+++ b/include/asm-m68k/termios.h
@@ -82,8 +82,10 @@ struct termio {
copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \
})
-#define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios))
-#define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios))
+#define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios2))
+#define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios2))
+#define user_termios_to_kernel_termios_1(k, u) copy_from_user(k, u, sizeof(struct termios))
+#define kernel_termios_to_user_termios_1(u, k) copy_to_user(u, k, sizeof(struct termios))
#endif /* __KERNEL__ */

View File

@ -0,0 +1,36 @@
Subject: [PATCH] m68k: Don't include RODATA into text segment
From: Roman Zippel <zippel@linux-m68k.org>
Don't include RODATA into text segment as it includes the kallsyms data
and can cause spurious link failures (layout differences can change the
number of symbols in kallsym, i.e. when a symbol is equal to _etext it's
not included).
Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
arch/m68k/kernel/vmlinux-std.lds | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/arch/m68k/kernel/vmlinux-std.lds
+++ b/arch/m68k/kernel/vmlinux-std.lds
@@ -18,6 +18,8 @@ SECTIONS
*(.gnu.warning)
} :text = 0x4e75
+ _etext = .; /* End of text section */
+
. = ALIGN(16); /* Exception table */
__start___ex_table = .;
__ex_table : { *(__ex_table) }
@@ -25,8 +27,6 @@ SECTIONS
RODATA
- _etext = .; /* End of text section */
-
.data : { /* Data */
DATA_DATA
CONSTRUCTORS

View File

@ -0,0 +1,20 @@
Subject: [PATCH] m68k: <asm/page.h> needs <linux/compiler.h>
m68k: <asm/page.h> needs <linux/compiler.h> because of __attribute_const__
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
include/asm-m68k/page.h | 2 ++
1 file changed, 2 insertions(+)
--- a/include/asm-m68k/page.h
+++ b/include/asm-m68k/page.h
@@ -27,6 +27,8 @@
#ifndef __ASSEMBLY__
+#include <linux/compiler.h>
+
#include <asm/module.h>
#define get_user_page(vaddr) __get_free_page(GFP_KERNEL)

View File

@ -0,0 +1,29 @@
Subject: m68k: Fix a few hickups in drivers/scsi/Kconfig
m68k: Fix a few hickups in drivers/scsi/Kconfig
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
drivers/scsi/Kconfig | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -1551,7 +1551,7 @@ config A3000_SCSI
built-in SCSI controller, say Y. Otherwise, say N.
To compile this driver as a module, choose M here: the
- module will be called wd33c93.
+ module will be called a3000.
config A2091_SCSI
tristate "A2091/A590 WD33C93A support"
@@ -1561,7 +1561,7 @@ config A2091_SCSI
say N.
To compile this driver as a module, choose M here: the
- module will be called wd33c93.
+ module will be called a2091.
config GVP11_SCSI
tristate "GVP Series II WD33C93A support"

View File

@ -0,0 +1,43 @@
Subject: m68k: Use _AC() instead of #ifdef __ASSEMBLY__
m68k: Use _AC() instead of #ifdef __ASSEMBLY__ hackery
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
include/asm-m68k/page.h | 8 +++-----
include/asm-m68k/processor.h | 1 +
2 files changed, 4 insertions(+), 5 deletions(-)
--- a/include/asm-m68k/page.h
+++ b/include/asm-m68k/page.h
@@ -4,17 +4,15 @@
#ifdef __KERNEL__
+#include <linux/const.h>
+
/* PAGE_SHIFT determines the page size */
#ifndef CONFIG_SUN3
#define PAGE_SHIFT (12)
#else
#define PAGE_SHIFT (13)
#endif
-#ifdef __ASSEMBLY__
-#define PAGE_SIZE (1 << PAGE_SHIFT)
-#else
-#define PAGE_SIZE (1UL << PAGE_SHIFT)
-#endif
+#define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1))
#include <asm/setup.h>
--- a/include/asm-m68k/processor.h
+++ b/include/asm-m68k/processor.h
@@ -39,6 +39,7 @@ static inline void wrusp(unsigned long u
#define TASK_SIZE (0xF0000000UL)
#else
#ifdef __ASSEMBLY__
+#error This cannot happen
#define TASK_SIZE (0x0E000000)
#else
#define TASK_SIZE (0x0E000000UL)

View File

@ -0,0 +1,709 @@
Subject: [PATCH] m68k: split amiga7xx.c into a4000t.c and zorro7xx.c
Split drivers/scsi/amiga7xx.c into drivers/scsi/a4000t.c (A4000T built-in)
and drivers/scsi/zorro7xx.c (Zorro boards)
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
drivers/scsi/Kconfig | 25 ++--
drivers/scsi/Makefile | 3
drivers/scsi/a4000t.c | 144 +++++++++++++++++++++++
drivers/scsi/amiga7xx.c | 297 ------------------------------------------------
drivers/scsi/zorro7xx.c | 181 +++++++++++++++++++++++++++++
5 files changed, 343 insertions(+), 307 deletions(-)
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -1008,7 +1008,7 @@ config SCSI_STEX
config 53C700_BE_BUS
bool
- depends on SCSI_AMIGA7XX || MVME16x_SCSI || BVME6000_SCSI
+ depends on SCSI_A4000T || SCSI_ZORRO7XX || MVME16x_SCSI || BVME6000_SCSI
default y
config SCSI_SYM53C8XX_2
@@ -1615,14 +1615,25 @@ config FASTLANE_SCSI
If you have the Phase5 Fastlane Z3 SCSI controller, or plan to use
one in the near future, say Y to this question. Otherwise, say N.
-config SCSI_AMIGA7XX
- tristate "Amiga NCR53c710 SCSI support (EXPERIMENTAL)"
+config SCSI_A4000T
+ tristate "A4000T NCR53c710 SCSI support (EXPERIMENTAL)"
depends on AMIGA && SCSI && EXPERIMENTAL
select SCSI_SPI_ATTRS
help
- Support for various NCR53c710-based SCSI controllers on the Amiga.
+ If you have an Amiga 4000T and have SCSI devices connected to the
+ built-in SCSI controller, say Y. Otherwise, say N.
+
+ To compile this driver as a module, choose M here: the
+ module will be called a4000t.
+
+config SCSI_ZORRO7XX
+ tristate "Zorro NCR53c710 SCSI support (EXPERIMENTAL)"
+ depends on ZORRO && SCSI && EXPERIMENTAL
+ select SCSI_SPI_ATTRS
+ help
+ Support for various NCR53c710-based SCSI controllers on Zorro
+ expansion boards for the Amiga.
This includes:
- - the builtin SCSI controller on the Amiga 4000T,
- the Amiga 4091 Zorro III SCSI-2 controller,
- the MacroSystem Development's WarpEngine Amiga SCSI-2 controller
(info at
@@ -1630,10 +1641,6 @@ config SCSI_AMIGA7XX
- the SCSI controller on the Phase5 Blizzard PowerUP 603e+
accelerator card for the Amiga 1200,
- the SCSI controller on the GVP Turbo 040/060 accelerator.
- Note that all of the above SCSI controllers, except for the builtin
- SCSI controller on the Amiga 4000T, reside on the Zorro expansion
- bus, so you also have to enable Zorro bus support if you want to use
- them.
config OKTAGON_SCSI
tristate "BSC Oktagon SCSI support (EXPERIMENTAL)"
--- a/drivers/scsi/Makefile
+++ b/drivers/scsi/Makefile
@@ -37,7 +37,8 @@ obj-$(CONFIG_SCSI_SAS_LIBSAS) += libsas/
obj-$(CONFIG_ISCSI_TCP) += libiscsi.o iscsi_tcp.o
obj-$(CONFIG_INFINIBAND_ISER) += libiscsi.o
-obj-$(CONFIG_SCSI_AMIGA7XX) += 53c700.o amiga7xx.o
+obj-$(CONFIG_SCSI_A4000T) += 53c700.o a4000t.o
+obj-$(CONFIG_SCSI_ZORRO7XX) += 53c700.o zorro7xx.o
obj-$(CONFIG_A3000_SCSI) += a3000.o wd33c93.o
obj-$(CONFIG_A2091_SCSI) += a2091.o wd33c93.o
obj-$(CONFIG_GVP11_SCSI) += gvp11.o wd33c93.o
--- /dev/null
+++ b/drivers/scsi/a4000t.c
@@ -0,0 +1,144 @@
+/*
+ * Detection routine for the NCR53c710 based Amiga SCSI Controllers for Linux.
+ * Amiga Technologies A4000T SCSI controller.
+ *
+ * Written 1997 by Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * plus modifications of the 53c7xx.c driver to support the Amiga.
+ *
+ * Rewritten to use 53c700.c by Kars de Jong <jongk@linux-m68k.org>
+ */
+
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/init.h>
+#include <linux/interrupt.h>
+#include <asm/amigahw.h>
+#include <asm/amigaints.h>
+#include <scsi/scsi_host.h>
+#include <scsi/scsi_transport_spi.h>
+
+#include "53c700.h"
+
+MODULE_AUTHOR("Alan Hourihane <alanh@fairlite.demon.co.uk> / Kars de Jong <jongk@linux-m68k.org>");
+MODULE_DESCRIPTION("Amiga A4000T NCR53C710 driver");
+MODULE_LICENSE("GPL");
+
+
+static struct scsi_host_template a4000t_scsi_driver_template = {
+ .name = "A4000T builtin SCSI",
+ .proc_name = "A4000t",
+ .this_id = 7,
+ .module = THIS_MODULE,
+};
+
+static struct platform_device *a4000t_scsi_device;
+
+#define A4000T_SCSI_ADDR 0xdd0040
+
+static int __devinit a4000t_probe(struct device *dev)
+{
+ struct Scsi_Host * host = NULL;
+ struct NCR_700_Host_Parameters *hostdata;
+
+ if (!(MACH_IS_AMIGA && AMIGAHW_PRESENT(A4000_SCSI)))
+ goto out;
+
+ if (!request_mem_region(A4000T_SCSI_ADDR, 0x1000,
+ "A4000T builtin SCSI"))
+ goto out;
+
+ hostdata = kmalloc(sizeof(struct NCR_700_Host_Parameters), GFP_KERNEL);
+ if (hostdata == NULL) {
+ printk(KERN_ERR "a4000t-scsi: Failed to allocate host data\n");
+ goto out_release;
+ }
+ memset(hostdata, 0, sizeof(struct NCR_700_Host_Parameters));
+
+ /* Fill in the required pieces of hostdata */
+ hostdata->base = (void __iomem *)ZTWO_VADDR(A4000T_SCSI_ADDR);
+ hostdata->clock = 50;
+ hostdata->chip710 = 1;
+ hostdata->dmode_extra = DMODE_FC2;
+ hostdata->dcntl_extra = EA_710;
+
+ /* and register the chip */
+ host = NCR_700_detect(&a4000t_scsi_driver_template, hostdata, dev);
+ if (!host) {
+ printk(KERN_ERR "a4000t-scsi: No host detected; "
+ "board configuration problem?\n");
+ goto out_free;
+ }
+
+ host->this_id = 7;
+ host->base = A4000T_SCSI_ADDR;
+ host->irq = IRQ_AMIGA_PORTS;
+
+ if (request_irq(host->irq, NCR_700_intr, IRQF_SHARED, "a4000t-scsi",
+ host)) {
+ printk(KERN_ERR "a4000t-scsi: request_irq failed\n");
+ goto out_put_host;
+ }
+
+ scsi_scan_host(host);
+
+ return 0;
+
+ out_put_host:
+ scsi_host_put(host);
+ out_free:
+ kfree(hostdata);
+ out_release:
+ release_mem_region(A4000T_SCSI_ADDR, 0x1000);
+ out:
+ return -ENODEV;
+}
+
+static __devexit int a4000t_device_remove(struct device *dev)
+{
+ struct Scsi_Host *host = dev_to_shost(dev);
+ struct NCR_700_Host_Parameters *hostdata =
+ (struct NCR_700_Host_Parameters *)host->hostdata[0];
+
+ scsi_remove_host(host);
+
+ NCR_700_release(host);
+ kfree(hostdata);
+ free_irq(host->irq, host);
+ release_mem_region(A4000T_SCSI_ADDR, 0x1000);
+
+ return 0;
+}
+
+static struct device_driver a4000t_scsi_driver = {
+ .name = "a4000t-scsi",
+ .bus = &platform_bus_type,
+ .probe = a4000t_probe,
+ .remove = __devexit_p(a4000t_device_remove),
+};
+
+static int __init a4000t_scsi_init(void)
+{
+ int err;
+
+ err = driver_register(&a4000t_scsi_driver);
+ if (err)
+ return err;
+
+ a4000t_scsi_device = platform_device_register_simple("a4000t-scsi",
+ -1, NULL, 0);
+ if (IS_ERR(a4000t_scsi_device)) {
+ driver_unregister(&a4000t_scsi_driver);
+ return PTR_ERR(a4000t_scsi_device);
+ }
+
+ return err;
+}
+
+static void __exit a4000t_scsi_exit(void)
+{
+ platform_device_unregister(a4000t_scsi_device);
+ driver_unregister(&a4000t_scsi_driver);
+}
+
+module_init(a4000t_scsi_init);
+module_exit(a4000t_scsi_exit);
--- a/drivers/scsi/amiga7xx.c
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * Detection routine for the NCR53c710 based Amiga SCSI Controllers for Linux.
- * Amiga MacroSystemUS WarpEngine SCSI controller.
- * Amiga Technologies A4000T SCSI controller.
- * Amiga Technologies/DKB A4091 SCSI controller.
- *
- * Written 1997 by Alan Hourihane <alanh@fairlite.demon.co.uk>
- * plus modifications of the 53c7xx.c driver to support the Amiga.
- *
- * Rewritten to use 53c700.c by Kars de Jong <jongk@linux-m68k.org>
- */
-
-#include <linux/module.h>
-#include <linux/blkdev.h>
-#include <linux/device.h>
-#include <linux/platform_device.h>
-#include <linux/init.h>
-#include <linux/interrupt.h>
-#include <linux/zorro.h>
-#include <asm/amigahw.h>
-#include <asm/amigaints.h>
-#include <scsi/scsi_host.h>
-#include <scsi/scsi_device.h>
-#include <scsi/scsi_transport.h>
-#include <scsi/scsi_transport_spi.h>
-
-#include "53c700.h"
-
-MODULE_AUTHOR("Alan Hourihane <alanh@fairlite.demon.co.uk> / Kars de Jong <jongk@linux-m68k.org>");
-MODULE_DESCRIPTION("Amiga NCR53C710 driver");
-MODULE_LICENSE("GPL");
-
-static struct scsi_host_template amiga7xx_scsi_driver_template = {
- .name = "A4000T builtin SCSI",
- .proc_name = "Amiga7xx",
- .this_id = 7,
- .module = THIS_MODULE,
-};
-
-static struct platform_device *a4000t_scsi_device;
-
-#ifdef CONFIG_ZORRO
-
-static struct zorro_driver_data {
- const char *name;
- unsigned long offset;
- int absolute; /* offset is absolute address */
-} amiga7xx_driver_data[] __devinitdata = {
- { .name = "PowerUP 603e+", .offset = 0xf40000, .absolute = 1 },
- { .name = "WarpEngine 40xx", .offset = 0x40000 },
- { .name = "A4091", .offset = 0x800000 },
- { .name = "GForce 040/060", .offset = 0x40000 },
- { 0 }
-};
-
-static struct zorro_device_id amiga7xx_zorro_tbl[] __devinitdata = {
- {
- .id = ZORRO_PROD_PHASE5_BLIZZARD_603E_PLUS,
- .driver_data = (unsigned long)&amiga7xx_driver_data[0],
- },
- {
- .id = ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE_40xx,
- .driver_data = (unsigned long)&amiga7xx_driver_data[1],
- },
- {
- .id = ZORRO_PROD_CBM_A4091_1,
- .driver_data = (unsigned long)&amiga7xx_driver_data[2],
- },
- {
- .id = ZORRO_PROD_CBM_A4091_2,
- .driver_data = (unsigned long)&amiga7xx_driver_data[2],
- },
- {
- .id = ZORRO_PROD_GVP_GFORCE_040_060,
- .driver_data = (unsigned long)&amiga7xx_driver_data[3],
- },
- { 0 }
-};
-
-static int __devinit amiga7xx_init_one(struct zorro_dev *z,
- const struct zorro_device_id *ent)
-{
- struct Scsi_Host * host = NULL;
- struct NCR_700_Host_Parameters *hostdata;
- struct zorro_driver_data *zdd;
- unsigned long board, ioaddr;
-
- board = zorro_resource_start(z);
- zdd = (struct zorro_driver_data *)ent->driver_data;
-
- if (zdd->absolute) {
- ioaddr = zdd->offset;
- } else {
- ioaddr = board + zdd->offset;
- }
-
- if (!zorro_request_device(z, zdd->name)) {
- printk(KERN_ERR "amiga7xx: cannot reserve region 0x%lx, abort\n",
- board);
- return -EBUSY;
- }
-
- hostdata = kmalloc(sizeof(struct NCR_700_Host_Parameters), GFP_KERNEL);
- if (hostdata == NULL) {
- printk(KERN_ERR "amiga7xx: Failed to allocate host data\n");
- goto out_release;
- }
-
- memset(hostdata, 0, sizeof(struct NCR_700_Host_Parameters));
-
- /* Fill in the required pieces of hostdata */
- if (ioaddr > 0x01000000)
- hostdata->base = ioremap(ioaddr, zorro_resource_len(z));
- else
- hostdata->base = (void __iomem *)ZTWO_VADDR(ioaddr);
-
- hostdata->clock = 50;
- hostdata->chip710 = 1;
-
- /* Settings for at least WarpEngine 40xx */
- hostdata->ctest7_extra = CTEST7_TT1;
-
- amiga7xx_scsi_driver_template.name = zdd->name;
-
- /* and register the chip */
- host = NCR_700_detect(&amiga7xx_scsi_driver_template,
- hostdata, &z->dev);
- if (!host) {
- printk(KERN_ERR "amiga7xx-scsi: No host detected; "
- "board configuration problem?\n");
- goto out_free;
- }
-
- host->this_id = 7;
- host->base = ioaddr;
- host->irq = IRQ_AMIGA_PORTS;
-
- if (request_irq(host->irq, NCR_700_intr, IRQF_SHARED,
- "amiga7xx-scsi", host)) {
- printk(KERN_ERR "amiga7xx-scsi: request_irq failed\n");
- goto out_put_host;
- }
-
- scsi_scan_host(host);
-
- return 0;
-
- out_put_host:
- scsi_host_put(host);
- out_free:
- if (ioaddr > 0x01000000)
- iounmap(hostdata->base);
- kfree(hostdata);
- out_release:
- zorro_release_device(z);
-
- return -ENODEV;
-}
-
-static __devexit void amiga7xx_remove_one(struct zorro_dev *z)
-{
- struct Scsi_Host *host = dev_to_shost(&z->dev);
- struct NCR_700_Host_Parameters *hostdata =
- (struct NCR_700_Host_Parameters *)host->hostdata[0];
-
- scsi_remove_host(host);
-
- NCR_700_release(host);
- kfree(hostdata);
- free_irq(host->irq, host);
- zorro_release_device(z);
-}
-
-static struct zorro_driver amiga7xx_driver = {
- .name = "amiga7xx-scsi",
- .id_table = amiga7xx_zorro_tbl,
- .probe = amiga7xx_init_one,
- .remove = __devexit_p(amiga7xx_remove_one),
-};
-
-#endif /* CONFIG_ZORRO */
-
-#define A4000T_SCSI_ADDR 0xdd0040
-
-static int __devinit a4000t_probe(struct device *dev)
-{
- struct Scsi_Host * host = NULL;
- struct NCR_700_Host_Parameters *hostdata;
-
- if (!(MACH_IS_AMIGA && AMIGAHW_PRESENT(A4000_SCSI)))
- goto out;
-
- if (!request_mem_region(A4000T_SCSI_ADDR, 0x1000,
- "A4000T builtin SCSI"))
- goto out;
-
- hostdata = kmalloc(sizeof(struct NCR_700_Host_Parameters), GFP_KERNEL);
- if (hostdata == NULL) {
- printk(KERN_ERR "a4000t-scsi: Failed to allocate host data\n");
- goto out_release;
- }
- memset(hostdata, 0, sizeof(struct NCR_700_Host_Parameters));
-
- /* Fill in the required pieces of hostdata */
- hostdata->base = (void __iomem *)ZTWO_VADDR(A4000T_SCSI_ADDR);
- hostdata->clock = 50;
- hostdata->chip710 = 1;
- hostdata->dmode_extra = DMODE_FC2;
- hostdata->dcntl_extra = EA_710;
-
- /* and register the chip */
- host = NCR_700_detect(&amiga7xx_scsi_driver_template, hostdata, dev);
- if (!host) {
- printk(KERN_ERR "a4000t-scsi: No host detected; "
- "board configuration problem?\n");
- goto out_free;
- }
-
- host->this_id = 7;
- host->base = A4000T_SCSI_ADDR;
- host->irq = IRQ_AMIGA_PORTS;
-
- if (request_irq(host->irq, NCR_700_intr, IRQF_SHARED, "a4000t-scsi", host)) {
- printk(KERN_ERR "a4000t-scsi: request_irq failed\n");
- goto out_put_host;
- }
-
- scsi_scan_host(host);
-
- return 0;
-
- out_put_host:
- scsi_host_put(host);
- out_free:
- kfree(hostdata);
- out_release:
- release_mem_region(A4000T_SCSI_ADDR, 0x1000);
- out:
- return -ENODEV;
-}
-
-static __devexit int a4000t_device_remove(struct device *dev)
-{
- struct Scsi_Host *host = dev_to_shost(dev);
- struct NCR_700_Host_Parameters *hostdata =
- (struct NCR_700_Host_Parameters *)host->hostdata[0];
-
- scsi_remove_host(host);
-
- NCR_700_release(host);
- kfree(hostdata);
- free_irq(host->irq, host);
- release_mem_region(A4000T_SCSI_ADDR, 0x1000);
-
- return 0;
-}
-
-static struct device_driver a4000t_scsi_driver = {
- .name = "a4000t-scsi",
- .bus = &platform_bus_type,
- .probe = a4000t_probe,
- .remove = __devexit_p(a4000t_device_remove),
-};
-
-static int __init amiga7xx_scsi_init(void)
-{
- int err;
-
- err = driver_register(&a4000t_scsi_driver);
- if (err)
- return err;
-
- a4000t_scsi_device = platform_device_register_simple("a4000t-scsi",
- -1, NULL, 0);
- if (IS_ERR(a4000t_scsi_device)) {
- driver_unregister(&a4000t_scsi_driver);
- return PTR_ERR(a4000t_scsi_device);
- }
-
-#ifdef CONFIG_ZORRO
- err = zorro_register_driver(&amiga7xx_driver);
-#endif
-
- return err;
-}
-
-static void __exit amiga7xx_scsi_exit(void)
-{
- platform_device_unregister(a4000t_scsi_device);
- driver_unregister(&a4000t_scsi_driver);
-#ifdef CONFIG_ZORRO
- zorro_unregister_driver(&amiga7xx_driver);
-#endif
-}
-
-module_init(amiga7xx_scsi_init);
-module_exit(amiga7xx_scsi_exit);
--- /dev/null
+++ b/drivers/scsi/zorro7xx.c
@@ -0,0 +1,181 @@
+/*
+ * Detection routine for the NCR53c710 based Amiga SCSI Controllers for Linux.
+ * Amiga MacroSystemUS WarpEngine SCSI controller.
+ * Amiga Technologies/DKB A4091 SCSI controller.
+ *
+ * Written 1997 by Alan Hourihane <alanh@fairlite.demon.co.uk>
+ * plus modifications of the 53c7xx.c driver to support the Amiga.
+ *
+ * Rewritten to use 53c700.c by Kars de Jong <jongk@linux-m68k.org>
+ */
+
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/interrupt.h>
+#include <linux/zorro.h>
+#include <asm/amigaints.h>
+#include <scsi/scsi_host.h>
+#include <scsi/scsi_transport_spi.h>
+
+#include "53c700.h"
+
+MODULE_AUTHOR("Alan Hourihane <alanh@fairlite.demon.co.uk> / Kars de Jong <jongk@linux-m68k.org>");
+MODULE_DESCRIPTION("Amiga Zorro NCR53C710 driver");
+MODULE_LICENSE("GPL");
+
+
+static struct scsi_host_template zorro7xx_scsi_driver_template = {
+ .proc_name = "zorro7xx",
+ .this_id = 7,
+ .module = THIS_MODULE,
+};
+
+static struct zorro_driver_data {
+ const char *name;
+ unsigned long offset;
+ int absolute; /* offset is absolute address */
+} zorro7xx_driver_data[] __devinitdata = {
+ { .name = "PowerUP 603e+", .offset = 0xf40000, .absolute = 1 },
+ { .name = "WarpEngine 40xx", .offset = 0x40000 },
+ { .name = "A4091", .offset = 0x800000 },
+ { .name = "GForce 040/060", .offset = 0x40000 },
+ { 0 }
+};
+
+static struct zorro_device_id zorro7xx_zorro_tbl[] __devinitdata = {
+ {
+ .id = ZORRO_PROD_PHASE5_BLIZZARD_603E_PLUS,
+ .driver_data = (unsigned long)&zorro7xx_driver_data[0],
+ },
+ {
+ .id = ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE_40xx,
+ .driver_data = (unsigned long)&zorro7xx_driver_data[1],
+ },
+ {
+ .id = ZORRO_PROD_CBM_A4091_1,
+ .driver_data = (unsigned long)&zorro7xx_driver_data[2],
+ },
+ {
+ .id = ZORRO_PROD_CBM_A4091_2,
+ .driver_data = (unsigned long)&zorro7xx_driver_data[2],
+ },
+ {
+ .id = ZORRO_PROD_GVP_GFORCE_040_060,
+ .driver_data = (unsigned long)&zorro7xx_driver_data[3],
+ },
+ { 0 }
+};
+
+static int __devinit zorro7xx_init_one(struct zorro_dev *z,
+ const struct zorro_device_id *ent)
+{
+ struct Scsi_Host * host = NULL;
+ struct NCR_700_Host_Parameters *hostdata;
+ struct zorro_driver_data *zdd;
+ unsigned long board, ioaddr;
+
+ board = zorro_resource_start(z);
+ zdd = (struct zorro_driver_data *)ent->driver_data;
+
+ if (zdd->absolute) {
+ ioaddr = zdd->offset;
+ } else {
+ ioaddr = board + zdd->offset;
+ }
+
+ if (!zorro_request_device(z, zdd->name)) {
+ printk(KERN_ERR "zorro7xx: cannot reserve region 0x%lx, abort\n",
+ board);
+ return -EBUSY;
+ }
+
+ hostdata = kmalloc(sizeof(struct NCR_700_Host_Parameters), GFP_KERNEL);
+ if (hostdata == NULL) {
+ printk(KERN_ERR "zorro7xx: Failed to allocate host data\n");
+ goto out_release;
+ }
+
+ memset(hostdata, 0, sizeof(struct NCR_700_Host_Parameters));
+
+ /* Fill in the required pieces of hostdata */
+ if (ioaddr > 0x01000000)
+ hostdata->base = ioremap(ioaddr, zorro_resource_len(z));
+ else
+ hostdata->base = (void __iomem *)ZTWO_VADDR(ioaddr);
+
+ hostdata->clock = 50;
+ hostdata->chip710 = 1;
+
+ /* Settings for at least WarpEngine 40xx */
+ hostdata->ctest7_extra = CTEST7_TT1;
+
+ zorro7xx_scsi_driver_template.name = zdd->name;
+
+ /* and register the chip */
+ host = NCR_700_detect(&zorro7xx_scsi_driver_template, hostdata,
+ &z->dev);
+ if (!host) {
+ printk(KERN_ERR "zorro7xx: No host detected; "
+ "board configuration problem?\n");
+ goto out_free;
+ }
+
+ host->this_id = 7;
+ host->base = ioaddr;
+ host->irq = IRQ_AMIGA_PORTS;
+
+ if (request_irq(host->irq, NCR_700_intr, IRQF_SHARED, "zorro7xx-scsi",
+ host)) {
+ printk(KERN_ERR "zorro7xx: request_irq failed\n");
+ goto out_put_host;
+ }
+
+ scsi_scan_host(host);
+
+ return 0;
+
+ out_put_host:
+ scsi_host_put(host);
+ out_free:
+ if (ioaddr > 0x01000000)
+ iounmap(hostdata->base);
+ kfree(hostdata);
+ out_release:
+ zorro_release_device(z);
+
+ return -ENODEV;
+}
+
+static __devexit void zorro7xx_remove_one(struct zorro_dev *z)
+{
+ struct Scsi_Host *host = dev_to_shost(&z->dev);
+ struct NCR_700_Host_Parameters *hostdata =
+ (struct NCR_700_Host_Parameters *)host->hostdata[0];
+
+ scsi_remove_host(host);
+
+ NCR_700_release(host);
+ kfree(hostdata);
+ free_irq(host->irq, host);
+ zorro_release_device(z);
+}
+
+static struct zorro_driver zorro7xx_driver = {
+ .name = "zorro7xx-scsi",
+ .id_table = zorro7xx_zorro_tbl,
+ .probe = zorro7xx_init_one,
+ .remove = __devexit_p(zorro7xx_remove_one),
+};
+
+static int __init zorro7xx_scsi_init(void)
+{
+ return zorro_register_driver(&zorro7xx_driver);
+}
+
+static void __exit zorro7xx_scsi_exit(void)
+{
+ zorro_unregister_driver(&zorro7xx_driver);
+}
+
+module_init(zorro7xx_scsi_init);
+module_exit(zorro7xx_scsi_exit);

View File

@ -0,0 +1,205 @@
Subject: [PATCH] Add Amiga Zorro bus modalias support
Add Amiga Zorro bus modalias support
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
drivers/net/a2065.c | 1 +
drivers/net/ariadne.c | 1 +
drivers/net/hydra.c | 1 +
drivers/net/zorro8390.c | 1 +
drivers/scsi/zorro7xx.c | 1 +
drivers/video/cirrusfb.c | 1 +
drivers/video/fm2fb.c | 1 +
drivers/zorro/zorro-sysfs.c | 11 +++++++++++
include/linux/mod_devicetable.h | 8 ++++++++
include/linux/zorro.h | 13 +------------
scripts/mod/file2alias.c | 15 +++++++++++++++
11 files changed, 42 insertions(+), 12 deletions(-)
--- a/drivers/net/a2065.c
+++ b/drivers/net/a2065.c
@@ -708,6 +708,7 @@ static struct zorro_device_id a2065_zorr
{ ZORRO_PROD_AMERISTAR_A2065 },
{ 0 }
};
+MODULE_DEVICE_TABLE(zorro, a2065_zorro_tbl);
static struct zorro_driver a2065_driver = {
.name = "a2065",
--- a/drivers/net/ariadne.c
+++ b/drivers/net/ariadne.c
@@ -148,6 +148,7 @@ static struct zorro_device_id ariadne_zo
{ ZORRO_PROD_VILLAGE_TRONIC_ARIADNE },
{ 0 }
};
+MODULE_DEVICE_TABLE(zorro, ariadne_zorro_tbl);
static struct zorro_driver ariadne_driver = {
.name = "ariadne",
--- a/drivers/net/hydra.c
+++ b/drivers/net/hydra.c
@@ -72,6 +72,7 @@ static struct zorro_device_id hydra_zorr
{ ZORRO_PROD_HYDRA_SYSTEMS_AMIGANET },
{ 0 }
};
+MODULE_DEVICE_TABLE(zorro, hydra_zorro_tbl);
static struct zorro_driver hydra_driver = {
.name = "hydra",
--- a/drivers/net/zorro8390.c
+++ b/drivers/net/zorro8390.c
@@ -102,6 +102,7 @@ static struct zorro_device_id zorro8390_
{ ZORRO_PROD_INDIVIDUAL_COMPUTERS_X_SURF, },
{ 0 }
};
+MODULE_DEVICE_TABLE(zorro, zorro8390_zorro_tbl);
static struct zorro_driver zorro8390_driver = {
.name = "zorro8390",
--- a/drivers/scsi/zorro7xx.c
+++ b/drivers/scsi/zorro7xx.c
@@ -65,6 +65,7 @@ static struct zorro_device_id zorro7xx_z
},
{ 0 }
};
+MODULE_DEVICE_TABLE(zorro, zorro7xx_zorro_tbl);
static int __devinit zorro7xx_init_one(struct zorro_dev *z,
const struct zorro_device_id *ent)
--- a/drivers/video/cirrusfb.c
+++ b/drivers/video/cirrusfb.c
@@ -305,6 +305,7 @@ static const struct zorro_device_id cirr
},
{ 0 }
};
+MODULE_DEVICE_TABLE(zorro, cirrusfb_zorro_table);
static const struct {
zorro_id id2;
--- a/drivers/video/fm2fb.c
+++ b/drivers/video/fm2fb.c
@@ -217,6 +217,7 @@ static struct zorro_device_id fm2fb_devi
{ ZORRO_PROD_HELFRICH_RAINBOW_II },
{ 0 }
};
+MODULE_DEVICE_TABLE(zorro, fm2fb_devices);
static struct zorro_driver fm2fb_driver = {
.name = "fm2fb",
--- a/drivers/zorro/zorro-sysfs.c
+++ b/drivers/zorro/zorro-sysfs.c
@@ -84,6 +84,16 @@ static struct bin_attribute zorro_config
.read = zorro_read_config,
};
+static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
+ char *buf)
+{
+ struct zorro_dev *z = to_zorro_dev(dev);
+
+ return sprintf(buf, "zorro:i%08X\n", z->id);
+}
+
+static DEVICE_ATTR(modalias, S_IRUGO, modalias_show, NULL);
+
void zorro_create_sysfs_dev_files(struct zorro_dev *z)
{
struct device *dev = &z->dev;
@@ -95,6 +105,7 @@ void zorro_create_sysfs_dev_files(struct
device_create_file(dev, &dev_attr_slotaddr);
device_create_file(dev, &dev_attr_slotsize);
device_create_file(dev, &dev_attr_resource);
+ device_create_file(dev, &dev_attr_modalias);
sysfs_create_bin_file(&dev->kobj, &zorro_config_attr);
}
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -333,4 +333,12 @@ struct parisc_device_id {
#define PA_HVERSION_ANY_ID 0xffff
#define PA_SVERSION_ANY_ID 0xffffffff
+
+struct zorro_device_id {
+ __u32 id; /* Device ID or ZORRO_WILDCARD */
+ kernel_ulong_t driver_data; /* Data private to the driver */
+};
+
+#define ZORRO_WILDCARD (0xffffffff) /* not official */
+
#endif /* LINUX_MOD_DEVICETABLE_H */
--- a/include/linux/zorro.h
+++ b/include/linux/zorro.h
@@ -38,8 +38,6 @@
typedef __u32 zorro_id;
-#define ZORRO_WILDCARD (0xffffffff) /* not official */
-
/* Include the ID list */
#include <linux/zorro_ids.h>
@@ -116,6 +114,7 @@ struct ConfigDev {
#include <linux/init.h>
#include <linux/ioport.h>
+#include <linux/mod_devicetable.h>
#include <asm/zorro.h>
@@ -155,16 +154,6 @@ extern struct bus_type zorro_bus_type;
/*
- * Zorro device IDs
- */
-
-struct zorro_device_id {
- zorro_id id; /* Device ID or ZORRO_WILDCARD */
- unsigned long driver_data; /* Data private to the driver */
-};
-
-
- /*
* Zorro device drivers
*/
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -390,6 +390,7 @@ static int do_vio_entry(const char *file
static int do_i2c_entry(const char *filename, struct i2c_device_id *i2c, char *alias)
{
+ i2c->id = TO_NATIVE(i2c->id);
strcpy(alias, "i2c:");
ADD(alias, "id", 1, i2c->id);
return 1;
@@ -476,6 +477,16 @@ static int do_parisc_entry(const char *f
return 1;
}
+/* Looks like: zorro:iN. */
+static int do_zorro_entry(const char *filename, struct zorro_device_id *id,
+ char *alias)
+{
+ id->id = TO_NATIVE(id->id);
+ strcpy(alias, "zorro:");
+ ADD(alias, "i", id->id != ZORRO_WILDCARD, id->id);
+ return 1;
+}
+
/* Ignore any prefix, eg. v850 prepends _ */
static inline int sym_is(const char *symbol, const char *name)
{
@@ -587,6 +598,10 @@ void handle_moddevtable(struct module *m
do_table(symval, sym->st_size,
sizeof(struct parisc_device_id), "parisc",
do_parisc_entry, mod);
+ else if (sym_is(symname, "__mod_zorro_device_table"))
+ do_table(symval, sym->st_size,
+ sizeof(struct zorro_device_id), "zorro",
+ do_zorro_entry, mod);
}
/* Now add out buffered information to the generated C source */

View File

@ -0,0 +1,21 @@
Subject: [PATCH] zorro: Make sysfs `config' attribute read-only
zorro: Make the sysfs `config' attribute read-only, as you cannot write to it
(there's no .write function neither).
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
drivers/zorro/zorro-sysfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/zorro/zorro-sysfs.c
+++ b/drivers/zorro/zorro-sysfs.c
@@ -77,7 +77,7 @@ static ssize_t zorro_read_config(struct
static struct bin_attribute zorro_config_attr = {
.attr = {
.name = "config",
- .mode = S_IRUGO | S_IWUSR,
+ .mode = S_IRUGO,
.owner = THIS_MODULE
},
.size = sizeof(struct ConfigDev),

View File

@ -6,9 +6,8 @@
+ features/all/xen/vserver-update.patch *_xen-vserver
+ bugfix/arm/nas100d-pata-artop-single-port.patch arm
# Submitted
+ bugfix/m68k/falconide_intr_lock-reentrant.diff m68k
#+ bugfix/m68k/600-task_thread_info.diff m68k
+ bugfix/m68k/m68k-page.h-needs-compiler.h.diff m68k
+ bugfix/m68k/630-extern-cleanup.diff.1 m68k
+ bugfix/m68k/633-atari_scc.diff m68k
+ bugfix/m68k/130-adbraw.diff m68k
#+ bugfix/m68k/133-arch.diff m68k
@ -33,6 +32,17 @@
+ bugfix/m68k/m68k-mvme-scsi-rename.diff m68k
+ bugfix/m68k/m68k-53c700-scsi.diff m68k
+ bugfix/m68k/via-pmu68k-dead-code.diff m68k
+ bugfix/m68k/m68k-use-_AC.diff m68k
+ bugfix/m68k/m68k-amiga-z2ram-kill-TRUE-FALSE.diff m68k
+ bugfix/m68k/add-termios2.diff m68k
+ bugfix/m68k/m68k-arbitary-speed-tty-support.diff m68k
+ bugfix/m68k/m68k-do-not-include-RODATA-in-text-segment.diff m68k
+ bugfix/m68k/m68k-53c700-cleanups.diff m68k
+ bugfix/m68k/split-amiga7xx.diff m68k
+ bugfix/m68k/m68k-scsi-Kconfig-hickups.diff m68k
+ bugfix/m68k/zorro_config_attr-read-only.diff m68k
+ bugfix/m68k/zorro-module-device-table.diff m68k
+ bugfix/m68k/falconide_intr_lock-ratelimit.diff m68k
+ bugfix/m68k/dmasound_paula.diff m68k
+ bugfix/m68k/disable-mac-broken-config-options.diff m68k