Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: footbridge: remove CATS

Nobody seems to have a CATS machine any more, so remove
it now, leaving only NetWinder and EBSA285.

Cc: Russell King <linux@armlinux.org.uk>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+1 -182
+1 -1
arch/arm/kernel/head.S
··· 344 344 ldr r7, [r10, #PROCINFO_IO_MMUFLAGS] @ io_mmuflags 345 345 #endif 346 346 347 - #if defined(CONFIG_ARCH_NETWINDER) || defined(CONFIG_ARCH_CATS) 347 + #if defined(CONFIG_ARCH_NETWINDER) 348 348 /* 349 349 * If we're using the NetWinder or CATS, we also need to map 350 350 * in the 16550-type serial port for the debug messages
-12
arch/arm/mach-footbridge/Kconfig
··· 16 16 17 17 if ARCH_FOOTBRIDGE 18 18 19 - config ARCH_CATS 20 - bool "CATS" 21 - depends on UNUSED_BOARD_FILES 22 - select CLKEVT_I8253 23 - select CLKSRC_I8253 24 - select ISA 25 - select FORCE_PCI 26 - help 27 - Say Y here if you intend to run this kernel on the CATS. 28 - 29 - Saying N will reduce the size of the Footbridge kernel. 30 - 31 19 config ARCH_EBSA285_HOST 32 20 bool "EBSA285 (host mode)" 33 21 select ARCH_EBSA285
-2
arch/arm/mach-footbridge/Makefile
··· 8 8 obj-y := common.o isa-irq.o isa.o isa-rtc.o dma-isa.o 9 9 10 10 pci-y += dc21285.o 11 - pci-$(CONFIG_ARCH_CATS) += cats-pci.o 12 11 pci-$(CONFIG_ARCH_EBSA285) += ebsa285-pci.o 13 12 pci-$(CONFIG_ARCH_NETWINDER) += netwinder-pci.o 14 13 15 - obj-$(CONFIG_ARCH_CATS) += cats-hw.o isa-timer.o 16 14 obj-$(CONFIG_ARCH_EBSA285) += ebsa285.o dc21285-timer.o 17 15 obj-$(CONFIG_ARCH_NETWINDER) += netwinder-hw.o isa-timer.o 18 16
-98
arch/arm/mach-footbridge/cats-hw.c
··· 1 - // SPDX-License-Identifier: GPL-2.0 2 - /* 3 - * linux/arch/arm/mach-footbridge/cats-hw.c 4 - * 5 - * CATS machine fixup 6 - * 7 - * Copyright (C) 1998, 1999 Russell King, Phil Blundell 8 - */ 9 - #include <linux/ioport.h> 10 - #include <linux/kernel.h> 11 - #include <linux/init.h> 12 - #include <linux/screen_info.h> 13 - #include <linux/io.h> 14 - #include <linux/spinlock.h> 15 - 16 - #include <asm/hardware/dec21285.h> 17 - #include <asm/mach-types.h> 18 - #include <asm/setup.h> 19 - 20 - #include <asm/mach/arch.h> 21 - 22 - #include "common.h" 23 - 24 - #define CFG_PORT 0x370 25 - #define INDEX_PORT (CFG_PORT) 26 - #define DATA_PORT (CFG_PORT + 1) 27 - 28 - static int __init cats_hw_init(void) 29 - { 30 - if (machine_is_cats()) { 31 - /* Set Aladdin to CONFIGURE mode */ 32 - outb(0x51, CFG_PORT); 33 - outb(0x23, CFG_PORT); 34 - 35 - /* Select logical device 3 */ 36 - outb(0x07, INDEX_PORT); 37 - outb(0x03, DATA_PORT); 38 - 39 - /* Set parallel port to DMA channel 3, ECP+EPP1.9, 40 - enable EPP timeout */ 41 - outb(0x74, INDEX_PORT); 42 - outb(0x03, DATA_PORT); 43 - 44 - outb(0xf0, INDEX_PORT); 45 - outb(0x0f, DATA_PORT); 46 - 47 - outb(0xf1, INDEX_PORT); 48 - outb(0x07, DATA_PORT); 49 - 50 - /* Select logical device 4 */ 51 - outb(0x07, INDEX_PORT); 52 - outb(0x04, DATA_PORT); 53 - 54 - /* UART1 high speed mode */ 55 - outb(0xf0, INDEX_PORT); 56 - outb(0x02, DATA_PORT); 57 - 58 - /* Select logical device 5 */ 59 - outb(0x07, INDEX_PORT); 60 - outb(0x05, DATA_PORT); 61 - 62 - /* UART2 high speed mode */ 63 - outb(0xf0, INDEX_PORT); 64 - outb(0x02, DATA_PORT); 65 - 66 - /* Set Aladdin to RUN mode */ 67 - outb(0xbb, CFG_PORT); 68 - } 69 - 70 - return 0; 71 - } 72 - 73 - __initcall(cats_hw_init); 74 - 75 - /* 76 - * CATS uses soft-reboot by default, since 77 - * hard reboots fail on early boards. 78 - */ 79 - static void __init 80 - fixup_cats(struct tag *tags, char **cmdline) 81 - { 82 - #if defined(CONFIG_VGA_CONSOLE) || defined(CONFIG_DUMMY_CONSOLE) 83 - screen_info.orig_video_lines = 25; 84 - screen_info.orig_video_points = 16; 85 - screen_info.orig_y = 24; 86 - #endif 87 - } 88 - 89 - MACHINE_START(CATS, "Chalice-CATS") 90 - /* Maintainer: Philip Blundell */ 91 - .atag_offset = 0x100, 92 - .reboot_mode = REBOOT_SOFT, 93 - .fixup = fixup_cats, 94 - .map_io = footbridge_map_io, 95 - .init_irq = footbridge_init_irq, 96 - .init_time = isa_timer_init, 97 - .restart = footbridge_restart, 98 - MACHINE_END
-64
arch/arm/mach-footbridge/cats-pci.c
··· 1 - // SPDX-License-Identifier: GPL-2.0 2 - /* 3 - * linux/arch/arm/mach-footbridge/cats-pci.c 4 - * 5 - * PCI bios-type initialisation for PCI machines 6 - * 7 - * Bits taken from various places. 8 - */ 9 - #include <linux/kernel.h> 10 - #include <linux/pci.h> 11 - #include <linux/init.h> 12 - 13 - #include <asm/irq.h> 14 - #include <asm/mach/pci.h> 15 - #include <asm/mach-types.h> 16 - 17 - /* cats host-specific stuff */ 18 - static int irqmap_cats[] = { IRQ_PCI, IRQ_IN0, IRQ_IN1, IRQ_IN3 }; 19 - 20 - static u8 cats_no_swizzle(struct pci_dev *dev, u8 *pin) 21 - { 22 - return 0; 23 - } 24 - 25 - static int cats_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) 26 - { 27 - if (dev->irq >= 255) 28 - return -1; /* not a valid interrupt. */ 29 - 30 - if (dev->irq >= 128) 31 - return dev->irq & 0x1f; 32 - 33 - if (dev->irq >= 1 && dev->irq <= 4) 34 - return irqmap_cats[dev->irq - 1]; 35 - 36 - if (dev->irq != 0) 37 - printk("PCI: device %02x:%02x has unknown irq line %x\n", 38 - dev->bus->number, dev->devfn, dev->irq); 39 - 40 - return -1; 41 - } 42 - 43 - /* 44 - * why not the standard PCI swizzle? does this prevent 4-port tulip 45 - * cards being used (ie, pci-pci bridge based cards)? 46 - */ 47 - static struct hw_pci cats_pci __initdata = { 48 - .swizzle = cats_no_swizzle, 49 - .map_irq = cats_map_irq, 50 - .nr_controllers = 1, 51 - .ops = &dc21285_ops, 52 - .setup = dc21285_setup, 53 - .preinit = dc21285_preinit, 54 - .postinit = dc21285_postinit, 55 - }; 56 - 57 - static int __init cats_pci_init(void) 58 - { 59 - if (machine_is_cats()) 60 - pci_common_init(&cats_pci); 61 - return 0; 62 - } 63 - 64 - subsys_initcall(cats_pci_init);
-3
arch/arm/mach-footbridge/common.c
··· 206 206 */ 207 207 isa_init_irq(IRQ_PCI); 208 208 209 - if (machine_is_cats()) 210 - isa_init_irq(IRQ_IN2); 211 - 212 209 if (machine_is_netwinder()) 213 210 isa_init_irq(IRQ_IN3); 214 211 }
-2
drivers/watchdog/wdt285.c
··· 206 206 pr_info("Footbridge Watchdog Timer: 0.01, timer margin: %d sec\n", 207 207 soft_margin); 208 208 209 - if (machine_is_cats()) 210 - pr_warn("Warning: Watchdog reset may not work on this machine\n"); 211 209 return 0; 212 210 } 213 211