Commit 29c8a246 authored by Adrian Bunk's avatar Adrian Bunk Committed by Linus Torvalds

m68k: Remove the broken Hades support

This patch removes the Hades support that was marked as BROKEN 5 years ago.
Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 7477fb6f
...@@ -122,22 +122,9 @@ config ATARI ...@@ -122,22 +122,9 @@ config ATARI
this kernel on an Atari, say Y here and browse the material this kernel on an Atari, say Y here and browse the material
available in <file:Documentation/m68k>; otherwise say N. available in <file:Documentation/m68k>; otherwise say N.
config HADES
bool "Hades support"
depends on ATARI && BROKEN
help
This option enables support for the Hades Atari clone. If you plan
to use this kernel on a Hades, say Y here; otherwise say N.
config PCI config PCI
bool bool
depends on HADES
default y
help help
Find out whether you have a PCI motherboard. PCI is the name of a
bus system, i.e. the way the CPU talks to the other stuff inside
your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
VESA. If you have PCI, say Y, otherwise N.
config MAC config MAC
bool "Macintosh support" bool "Macintosh support"
......
...@@ -5,7 +5,4 @@ ...@@ -5,7 +5,4 @@
obj-y := config.o time.o debug.o ataints.o stdma.o \ obj-y := config.o time.o debug.o ataints.o stdma.o \
atasound.o stram.o atasound.o stram.o
ifeq ($(CONFIG_PCI),y)
obj-$(CONFIG_HADES) += hades-pci.o
endif
obj-$(CONFIG_ATARI_KBD_CORE) += atakeyb.o obj-$(CONFIG_ATARI_KBD_CORE) += atakeyb.o
...@@ -407,10 +407,8 @@ void __init atari_init_IRQ(void) ...@@ -407,10 +407,8 @@ void __init atari_init_IRQ(void)
* gets overruns) * gets overruns)
*/ */
if (!MACH_IS_HADES) { vectors[VEC_INT2] = falcon_hblhandler;
vectors[VEC_INT2] = falcon_hblhandler; vectors[VEC_INT4] = falcon_hblhandler;
vectors[VEC_INT4] = falcon_hblhandler;
}
} }
if (ATARIHW_PRESENT(PCM_8BIT) && ATARIHW_PRESENT(MICROWIRE)) { if (ATARIHW_PRESENT(PCM_8BIT) && ATARIHW_PRESENT(MICROWIRE)) {
......
...@@ -231,7 +231,7 @@ void __init config_atari(void) ...@@ -231,7 +231,7 @@ void __init config_atari(void)
*/ */
printk("Atari hardware found: "); printk("Atari hardware found: ");
if (MACH_IS_MEDUSA || MACH_IS_HADES) { if (MACH_IS_MEDUSA) {
/* There's no Atari video hardware on the Medusa, but all the /* There's no Atari video hardware on the Medusa, but all the
* addresses below generate a DTACK so no bus error occurs! */ * addresses below generate a DTACK so no bus error occurs! */
} else if (hwreg_present(f030_xreg)) { } else if (hwreg_present(f030_xreg)) {
...@@ -269,10 +269,6 @@ void __init config_atari(void) ...@@ -269,10 +269,6 @@ void __init config_atari(void)
ATARIHW_SET(SCSI_DMA); ATARIHW_SET(SCSI_DMA);
printk("TT_SCSI_DMA "); printk("TT_SCSI_DMA ");
} }
if (!MACH_IS_HADES && hwreg_present(&st_dma.dma_hi)) {
ATARIHW_SET(STND_DMA);
printk("STND_DMA ");
}
/* /*
* The ST-DMA address registers aren't readable * The ST-DMA address registers aren't readable
* on all Medusas, so the test below may fail * on all Medusas, so the test below may fail
...@@ -294,12 +290,11 @@ void __init config_atari(void) ...@@ -294,12 +290,11 @@ void __init config_atari(void)
ATARIHW_SET(YM_2149); ATARIHW_SET(YM_2149);
printk("YM2149 "); printk("YM2149 ");
} }
if (!MACH_IS_MEDUSA && !MACH_IS_HADES && if (!MACH_IS_MEDUSA && hwreg_present(&tt_dmasnd.ctrl)) {
hwreg_present(&tt_dmasnd.ctrl)) {
ATARIHW_SET(PCM_8BIT); ATARIHW_SET(PCM_8BIT);
printk("PCM "); printk("PCM ");
} }
if (!MACH_IS_HADES && hwreg_present(&falcon_codec.unused5)) { if (hwreg_present(&falcon_codec.unused5)) {
ATARIHW_SET(CODEC); ATARIHW_SET(CODEC);
printk("CODEC "); printk("CODEC ");
} }
...@@ -313,7 +308,7 @@ void __init config_atari(void) ...@@ -313,7 +308,7 @@ void __init config_atari(void)
(tt_scc_dma.dma_ctrl = 0x01, (tt_scc_dma.dma_ctrl & 1) == 1) && (tt_scc_dma.dma_ctrl = 0x01, (tt_scc_dma.dma_ctrl & 1) == 1) &&
(tt_scc_dma.dma_ctrl = 0x00, (tt_scc_dma.dma_ctrl & 1) == 0) (tt_scc_dma.dma_ctrl = 0x00, (tt_scc_dma.dma_ctrl & 1) == 0)
#else #else
!MACH_IS_MEDUSA && !MACH_IS_HADES !MACH_IS_MEDUSA
#endif #endif
) { ) {
ATARIHW_SET(SCC_DMA); ATARIHW_SET(SCC_DMA);
...@@ -327,10 +322,7 @@ void __init config_atari(void) ...@@ -327,10 +322,7 @@ void __init config_atari(void)
ATARIHW_SET(ST_ESCC); ATARIHW_SET(ST_ESCC);
printk("ST_ESCC "); printk("ST_ESCC ");
} }
if (MACH_IS_HADES) { if (hwreg_present(&tt_scu.sys_mask)) {
ATARIHW_SET(VME);
printk("VME ");
} else if (hwreg_present(&tt_scu.sys_mask)) {
ATARIHW_SET(SCU); ATARIHW_SET(SCU);
/* Assume a VME bus if there's a SCU */ /* Assume a VME bus if there's a SCU */
ATARIHW_SET(VME); ATARIHW_SET(VME);
...@@ -340,7 +332,7 @@ void __init config_atari(void) ...@@ -340,7 +332,7 @@ void __init config_atari(void)
ATARIHW_SET(ANALOG_JOY); ATARIHW_SET(ANALOG_JOY);
printk("ANALOG_JOY "); printk("ANALOG_JOY ");
} }
if (!MACH_IS_HADES && hwreg_present(blitter.halftone)) { if (hwreg_present(blitter.halftone)) {
ATARIHW_SET(BLITTER); ATARIHW_SET(BLITTER);
printk("BLITTER "); printk("BLITTER ");
} }
...@@ -349,8 +341,7 @@ void __init config_atari(void) ...@@ -349,8 +341,7 @@ void __init config_atari(void)
printk("IDE "); printk("IDE ");
} }
#if 1 /* This maybe wrong */ #if 1 /* This maybe wrong */
if (!MACH_IS_MEDUSA && !MACH_IS_HADES && if (!MACH_IS_MEDUSA && hwreg_present(&tt_microwire.data) &&
hwreg_present(&tt_microwire.data) &&
hwreg_present(&tt_microwire.mask) && hwreg_present(&tt_microwire.mask) &&
(tt_microwire.mask = 0x7ff, (tt_microwire.mask = 0x7ff,
udelay(1), udelay(1),
...@@ -369,19 +360,18 @@ void __init config_atari(void) ...@@ -369,19 +360,18 @@ void __init config_atari(void)
mach_hwclk = atari_tt_hwclk; mach_hwclk = atari_tt_hwclk;
mach_set_clock_mmss = atari_tt_set_clock_mmss; mach_set_clock_mmss = atari_tt_set_clock_mmss;
} }
if (!MACH_IS_HADES && hwreg_present(&mste_rtc.sec_ones)) { if (hwreg_present(&mste_rtc.sec_ones)) {
ATARIHW_SET(MSTE_CLK); ATARIHW_SET(MSTE_CLK);
printk("MSTE_CLK "); printk("MSTE_CLK ");
mach_hwclk = atari_mste_hwclk; mach_hwclk = atari_mste_hwclk;
mach_set_clock_mmss = atari_mste_set_clock_mmss; mach_set_clock_mmss = atari_mste_set_clock_mmss;
} }
if (!MACH_IS_MEDUSA && !MACH_IS_HADES && if (!MACH_IS_MEDUSA && hwreg_present(&dma_wd.fdc_speed) &&
hwreg_present(&dma_wd.fdc_speed) &&
hwreg_write(&dma_wd.fdc_speed, 0)) { hwreg_write(&dma_wd.fdc_speed, 0)) {
ATARIHW_SET(FDCSPEED); ATARIHW_SET(FDCSPEED);
printk("FDC_SPEED "); printk("FDC_SPEED ");
} }
if (!MACH_IS_HADES && !ATARIHW_PRESENT(ST_SCSI)) { if (!ATARIHW_PRESENT(ST_SCSI)) {
ATARIHW_SET(ACSI); ATARIHW_SET(ACSI);
printk("ACSI "); printk("ACSI ");
} }
...@@ -449,7 +439,7 @@ void __init config_atari(void) ...@@ -449,7 +439,7 @@ void __init config_atari(void)
* 0xFFxxxxxx -> 0x00xxxxxx, so that the first 16MB is accessible * 0xFFxxxxxx -> 0x00xxxxxx, so that the first 16MB is accessible
* in the last 16MB of the address space. * in the last 16MB of the address space.
*/ */
tos_version = (MACH_IS_MEDUSA || MACH_IS_HADES) ? tos_version = (MACH_IS_MEDUSA) ?
0xfff : *(unsigned short *)0xff000002; 0xfff : *(unsigned short *)0xff000002;
atari_rtc_year_offset = (tos_version < 0x306) ? 70 : 68; atari_rtc_year_offset = (tos_version < 0x306) ? 70 : 68;
} }
...@@ -511,8 +501,7 @@ static void atari_reset(void) ...@@ -511,8 +501,7 @@ static void atari_reset(void)
* On the Medusa, phys. 0x4 may contain garbage because it's no * On the Medusa, phys. 0x4 may contain garbage because it's no
* ROM. See above for explanation why we cannot use PTOV(4). * ROM. See above for explanation why we cannot use PTOV(4).
*/ */
reset_addr = MACH_IS_HADES ? 0x7fe00030 : reset_addr = MACH_IS_MEDUSA || MACH_IS_AB40 ? 0xe00030 :
MACH_IS_MEDUSA || MACH_IS_AB40 ? 0xe00030 :
*(unsigned long *) 0xff000004; *(unsigned long *) 0xff000004;
/* reset ACIA for switch off OverScan, if it's active */ /* reset ACIA for switch off OverScan, if it's active */
...@@ -606,8 +595,6 @@ static void atari_get_model(char *model) ...@@ -606,8 +595,6 @@ static void atari_get_model(char *model)
if (MACH_IS_MEDUSA) if (MACH_IS_MEDUSA)
/* Medusa has TT _MCH cookie */ /* Medusa has TT _MCH cookie */
strcat(model, "Medusa"); strcat(model, "Medusa");
else if (MACH_IS_HADES)
strcat(model, "Hades");
else else
strcat(model, "TT"); strcat(model, "TT");
break; break;
......
This diff is collapsed.
...@@ -476,10 +476,12 @@ void __init pcibios_init(void) ...@@ -476,10 +476,12 @@ void __init pcibios_init(void)
printk("Linux/m68k PCI BIOS32 revision %x.%02x\n", MAJOR_REV, MINOR_REV); printk("Linux/m68k PCI BIOS32 revision %x.%02x\n", MAJOR_REV, MINOR_REV);
bus_info = NULL; bus_info = NULL;
#ifdef CONFIG_HADES
/* Hades code was:
if (MACH_IS_HADES) if (MACH_IS_HADES)
bus_info = init_hades_pci(); bus_info = init_hades_pci();
#endif */
if (bus_info != NULL) if (bus_info != NULL)
{ {
printk("PCI: Probing PCI hardware\n"); printk("PCI: Probing PCI hardware\n");
......
...@@ -78,7 +78,7 @@ unsigned long thread_saved_pc(struct task_struct *tsk) ...@@ -78,7 +78,7 @@ unsigned long thread_saved_pc(struct task_struct *tsk)
static void default_idle(void) static void default_idle(void)
{ {
if (!need_resched()) if (!need_resched())
#if defined(MACH_ATARI_ONLY) && !defined(CONFIG_HADES) #if defined(MACH_ATARI_ONLY)
/* block out HSYNC on the atari (falcon) */ /* block out HSYNC on the atari (falcon) */
__asm__("stop #0x2200" : : : "cc"); __asm__("stop #0x2200" : : : "cc");
#else #else
......
...@@ -1882,10 +1882,6 @@ static int __init atari_floppy_init (void) ...@@ -1882,10 +1882,6 @@ static int __init atari_floppy_init (void)
/* Amiga, Mac, ... don't have Atari-compatible floppy :-) */ /* Amiga, Mac, ... don't have Atari-compatible floppy :-) */
return -ENODEV; return -ENODEV;
if (MACH_IS_HADES)
/* Hades doesn't have Atari-compatible floppy */
return -ENODEV;
if (register_blkdev(FLOPPY_MAJOR,"fd")) if (register_blkdev(FLOPPY_MAJOR,"fd"))
return -EBUSY; return -EBUSY;
......
...@@ -1670,14 +1670,6 @@ config ATARI_SCSI_RESET_BOOT ...@@ -1670,14 +1670,6 @@ config ATARI_SCSI_RESET_BOOT
boot process fractionally longer but may assist recovery from errors boot process fractionally longer but may assist recovery from errors
that leave the devices with SCSI operations partway completed. that leave the devices with SCSI operations partway completed.
config TT_DMA_EMUL
bool "Hades SCSI DMA emulator"
depends on ATARI_SCSI && HADES
help
This option enables code which emulates the TT SCSI DMA chip on the
Hades. This increases the SCSI transfer rates at least ten times
compared to PIO transfers.
config MAC_SCSI config MAC_SCSI
bool "Macintosh NCR5380 SCSI" bool "Macintosh NCR5380 SCSI"
depends on MAC && SCSI=y depends on MAC && SCSI=y
......
This diff is collapsed.
...@@ -249,10 +249,6 @@ static int setup_hostid = -1; ...@@ -249,10 +249,6 @@ static int setup_hostid = -1;
module_param(setup_hostid, int, 0); module_param(setup_hostid, int, 0);
#if defined(CONFIG_TT_DMA_EMUL)
#include "atari_dma_emul.c"
#endif
#if defined(REAL_DMA) #if defined(REAL_DMA)
static int scsi_dma_is_ignored_buserr(unsigned char dma_stat) static int scsi_dma_is_ignored_buserr(unsigned char dma_stat)
...@@ -695,21 +691,8 @@ int atari_scsi_detect(struct scsi_host_template *host) ...@@ -695,21 +691,8 @@ int atari_scsi_detect(struct scsi_host_template *host)
#ifdef REAL_DMA #ifdef REAL_DMA
tt_scsi_dma.dma_ctrl = 0; tt_scsi_dma.dma_ctrl = 0;
atari_dma_residual = 0; atari_dma_residual = 0;
#ifdef CONFIG_TT_DMA_EMUL
if (MACH_IS_HADES) { if (MACH_IS_MEDUSA) {
if (request_irq(IRQ_AUTO_2, hades_dma_emulator,
IRQ_TYPE_PRIO, "Hades DMA emulator",
hades_dma_emulator)) {
printk(KERN_ERR "atari_scsi_detect: cannot allocate irq %d, aborting (MACH_IS_HADES)",IRQ_AUTO_2);
free_irq(IRQ_TT_MFP_SCSI, instance);
scsi_unregister(atari_scsi_host);
atari_stram_free(atari_dma_buffer);
atari_dma_buffer = 0;
return 0;
}
}
#endif
if (MACH_IS_MEDUSA || MACH_IS_HADES) {
/* While the read overruns (described by Drew Eckhardt in /* While the read overruns (described by Drew Eckhardt in
* NCR5380.c) never happened on TTs, they do in fact on the Medusa * NCR5380.c) never happened on TTs, they do in fact on the Medusa
* (This was the cause why SCSI didn't work right for so long * (This was the cause why SCSI didn't work right for so long
...@@ -1007,11 +990,7 @@ static unsigned long atari_dma_xfer_len(unsigned long wanted_len, ...@@ -1007,11 +990,7 @@ static unsigned long atari_dma_xfer_len(unsigned long wanted_len,
Scsi_Cmnd *cmd, int write_flag) Scsi_Cmnd *cmd, int write_flag)
{ {
unsigned long possible_len, limit; unsigned long possible_len, limit;
#ifndef CONFIG_TT_DMA_EMUL
if (MACH_IS_HADES)
/* Hades has no SCSI DMA at all :-( Always force use of PIO */
return 0;
#endif
if (IS_A_TT()) if (IS_A_TT())
/* TT SCSI DMA can transfer arbitrary #bytes */ /* TT SCSI DMA can transfer arbitrary #bytes */
return wanted_len; return wanted_len;
......
...@@ -39,7 +39,6 @@ extern int atari_dont_touch_floppy_select; ...@@ -39,7 +39,6 @@ extern int atari_dont_touch_floppy_select;
#define MACH_IS_TT ((atari_mch_cookie >> 16) == ATARI_MCH_TT) #define MACH_IS_TT ((atari_mch_cookie >> 16) == ATARI_MCH_TT)
#define MACH_IS_FALCON ((atari_mch_cookie >> 16) == ATARI_MCH_FALCON) #define MACH_IS_FALCON ((atari_mch_cookie >> 16) == ATARI_MCH_FALCON)
#define MACH_IS_MEDUSA (atari_mch_type == ATARI_MACH_MEDUSA) #define MACH_IS_MEDUSA (atari_mch_type == ATARI_MACH_MEDUSA)
#define MACH_IS_HADES (atari_mch_type == ATARI_MACH_HADES)
#define MACH_IS_AB40 (atari_mch_type == ATARI_MACH_AB40) #define MACH_IS_AB40 (atari_mch_type == ATARI_MACH_AB40)
/* values for atari_switches */ /* values for atari_switches */
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
*/ */
/* the following macro is used when enabling interrupts */ /* the following macro is used when enabling interrupts */
#if defined(MACH_ATARI_ONLY) && !defined(CONFIG_HADES) #if defined(MACH_ATARI_ONLY)
/* block out HSYNC on the atari */ /* block out HSYNC on the atari */
#define ALLOWINT (~0x400) #define ALLOWINT (~0x400)
#define MAX_NOINT_IPL 3 #define MAX_NOINT_IPL 3
......
...@@ -40,15 +40,9 @@ static inline void *phys_to_virt(unsigned long address) ...@@ -40,15 +40,9 @@ static inline void *phys_to_virt(unsigned long address)
/* /*
* IO bus memory addresses are 1:1 with the physical address, * IO bus memory addresses are 1:1 with the physical address,
* except on the PCI bus of the Hades.
*/ */
#ifdef CONFIG_HADES
#define virt_to_bus(a) (virt_to_phys(a) + (MACH_IS_HADES ? 0x80000000 : 0))
#define bus_to_virt(a) (phys_to_virt((a) - (MACH_IS_HADES ? 0x80000000 : 0)))
#else
#define virt_to_bus virt_to_phys #define virt_to_bus virt_to_phys
#define bus_to_virt phys_to_virt #define bus_to_virt phys_to_virt
#endif
#endif #endif
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment