lkml.org 
[lkml]   [2004]   [May]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] remove dead PC9800 IDE support
    Date

    It was added in 2.5.66 but PC9800 subarch is still non-buildable.
    Also this is one big hack and only half-merged.

    linux-2.6.6-rc3-bk2-bzolnier/drivers/ide/Makefile | 1
    linux-2.6.6-rc3-bk2-bzolnier/drivers/ide/ide-proc.c | 1
    linux-2.6.6-rc3-bk2-bzolnier/include/asm-i386/ide.h | 34 --------
    linux-2.6.6-rc3-bk2-bzolnier/include/linux/ide.h | 5 -
    linux-2.6.6-rc3-bk2/drivers/ide/legacy/pc9800.c | 84 --------------------
    5 files changed, 2 insertions(+), 123 deletions(-)

    diff -puN drivers/ide/ide-proc.c~ide_pc9800 drivers/ide/ide-proc.c
    --- linux-2.6.6-rc3-bk2/drivers/ide/ide-proc.c~ide_pc9800 2004-05-04 01:32:52.138359128 +0200
    +++ linux-2.6.6-rc3-bk2-bzolnier/drivers/ide/ide-proc.c 2004-05-04 01:32:52.161355632 +0200
    @@ -352,7 +352,6 @@ static int proc_ide_read_imodel
    case ide_cy82c693: name = "cy82c693"; break;
    case ide_4drives: name = "4drives"; break;
    case ide_pmac: name = "mac-io"; break;
    - case ide_pc9800: name = "pc9800"; break;
    default: name = "(unknown)"; break;
    }
    len = sprintf(page, "%s\n", name);
    diff -puN -L drivers/ide/legacy/pc9800.c drivers/ide/legacy/pc9800.c~ide_pc9800 /dev/null
    --- linux-2.6.6-rc3-bk2/drivers/ide/legacy/pc9800.c
    +++ /dev/null 2004-01-17 00:25:55.000000000 +0100
    @@ -1,84 +0,0 @@
    -/*
    - * ide_pc9800.c
    - *
    - * Copyright (C) 1997-2000 Linux/98 project,
    - * Kyoto University Microcomputer Club.
    - */
    -
    -#include <linux/config.h>
    -#include <linux/kernel.h>
    -#include <linux/ioport.h>
    -#include <linux/ide.h>
    -#include <linux/init.h>
    -
    -#include <asm/io.h>
    -#include <asm/pc9800.h>
    -
    -#define PC9800_IDE_BANKSELECT 0x432
    -
    -#undef PC9800_IDE_DEBUG
    -
    -static void pc9800_select(ide_drive_t *drive)
    -{
    -#ifdef PC9800_IDE_DEBUG
    - byte old;
    -
    - /* Too noisy: */
    - /* printk(KERN_DEBUG "pc9800_select(%s)\n", drive->name); */
    -
    - outb(0x80, PC9800_IDE_BANKSELECT);
    - old = inb(PC9800_IDE_BANKSELECT);
    - if (old != HWIF(drive)->index)
    - printk(KERN_DEBUG "ide-pc9800: switching bank #%d -> #%d\n",
    - old, HWIF(drive)->index);
    -#endif
    - outb(HWIF(drive)->index, PC9800_IDE_BANKSELECT);
    -}
    -
    -void __init ide_probe_for_pc9800(void)
    -{
    - u8 saved_bank;
    -
    - if (!PC9800_9821_P() /* || !PC9821_IDEIF_DOUBLE_P() */)
    - return;
    -
    - if (!request_region(PC9800_IDE_BANKSELECT, 1, "ide0/1 bank")) {
    - printk(KERN_ERR
    - "ide: bank select port (%#x) is already occupied!\n",
    - PC9800_IDE_BANKSELECT);
    - return;
    - }
    -
    - /* Do actual probing. */
    - if ((saved_bank = inb(PC9800_IDE_BANKSELECT)) == (u8) ~0
    - || (outb(saved_bank ^ 1, PC9800_IDE_BANKSELECT),
    - /* Next outb is dummy for reading status. */
    - outb(0x80, PC9800_IDE_BANKSELECT),
    - inb(PC9800_IDE_BANKSELECT) != (saved_bank ^ 1))) {
    - printk(KERN_INFO
    - "ide: pc9800 type bank selecting port not found\n");
    - release_region(PC9800_IDE_BANKSELECT, 1);
    - return;
    - }
    -
    - /* Restore original value, just in case. */
    - outb(saved_bank, PC9800_IDE_BANKSELECT);
    -
    - /* These ports are reseved by IDE I/F. */
    - if (!request_region(0x430, 1, "ide") ||
    - !request_region(0x435, 1, "ide")) {
    - printk(KERN_WARNING
    - "ide: IO port 0x430 and 0x435 are reserved for IDE"
    - " the card using these ports may not work\n");
    - }
    -
    - if (ide_hwifs[0].io_ports[IDE_DATA_OFFSET] == HD_DATA &&
    - ide_hwifs[1].io_ports[IDE_DATA_OFFSET] == HD_DATA) {
    - ide_hwifs[0].chipset = ide_pc9800;
    - ide_hwifs[0].mate = &ide_hwifs[1];
    - ide_hwifs[0].selectproc = pc9800_select;
    - ide_hwifs[1].chipset = ide_pc9800;
    - ide_hwifs[1].mate = &ide_hwifs[0];
    - ide_hwifs[1].selectproc = pc9800_select;
    - }
    -}
    diff -puN drivers/ide/Makefile~ide_pc9800 drivers/ide/Makefile
    --- linux-2.6.6-rc3-bk2/drivers/ide/Makefile~ide_pc9800 2004-05-04 01:32:52.148357608 +0200
    +++ linux-2.6.6-rc3-bk2-bzolnier/drivers/ide/Makefile 2004-05-04 01:32:52.162355480 +0200
    @@ -26,7 +26,6 @@ ide-core-$(CONFIG_PROC_FS) += ide-proc.
    ide-core-$(CONFIG_BLK_DEV_IDEPNP) += ide-pnp.o

    # built-in only drivers from legacy/
    -ide-core-$(CONFIG_BLK_DEV_IDE_PC9800) += legacy/pc9800.o
    ide-core-$(CONFIG_BLK_DEV_BUDDHA) += legacy/buddha.o
    ide-core-$(CONFIG_BLK_DEV_FALCON_IDE) += legacy/falconide.o
    ide-core-$(CONFIG_BLK_DEV_GAYLE) += legacy/gayle.o
    diff -puN include/asm-i386/ide.h~ide_pc9800 include/asm-i386/ide.h
    --- linux-2.6.6-rc3-bk2/include/asm-i386/ide.h~ide_pc9800 2004-05-04 01:32:52.152357000 +0200
    +++ linux-2.6.6-rc3-bk2-bzolnier/include/asm-i386/ide.h 2004-05-04 01:32:52.164355176 +0200
    @@ -26,9 +26,6 @@
    static __inline__ int ide_default_irq(unsigned long base)
    {
    switch (base) {
    -#ifdef CONFIG_X86_PC9800
    - case 0x640: return 9;
    -#endif
    case 0x1f0: return 14;
    case 0x170: return 15;
    case 0x1e8: return 11;
    @@ -43,48 +40,17 @@ static __inline__ int ide_default_irq(un
    static __inline__ unsigned long ide_default_io_base(int index)
    {
    switch (index) {
    -#ifdef CONFIG_X86_PC9800
    - case 0:
    - case 1: return 0x640;
    -#else
    case 0: return 0x1f0;
    case 1: return 0x170;
    case 2: return 0x1e8;
    case 3: return 0x168;
    case 4: return 0x1e0;
    case 5: return 0x160;
    -#endif
    default:
    return 0;
    }
    }

    -#ifdef CONFIG_X86_PC9800
    -static __inline__ void ide_init_hwif_ports(hw_regs_t *hw, unsigned long data_port,
    - unsigned long ctrl_port, int *irq)
    -{
    - unsigned long reg = data_port;
    - int i;
    -
    - unsigned long increment = data_port == 0x640 ? 2 : 1;
    -
    - for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) {
    - hw->io_ports[i] = reg;
    - reg += increment;
    - }
    - if (ctrl_port) {
    - hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port;
    - } else if (data_port == 0x640) {
    - hw->io_ports[IDE_CONTROL_OFFSET] = 0x74c;
    - } else {
    - hw->io_ports[IDE_CONTROL_OFFSET] = hw->io_ports[IDE_DATA_OFFSET] + 0x206;
    - }
    - if (irq != NULL)
    - *irq = 0;
    - hw->io_ports[IDE_IRQ_OFFSET] = 0;
    -}
    -#endif
    -
    #ifdef CONFIG_BLK_DEV_IDEPCI
    #define ide_init_default_irq(base) (0)
    #else
    diff -puN include/linux/ide.h~ide_pc9800 include/linux/ide.h
    --- linux-2.6.6-rc3-bk2/include/linux/ide.h~ide_pc9800 2004-05-04 01:32:52.156356392 +0200
    +++ linux-2.6.6-rc3-bk2-bzolnier/include/linux/ide.h 2004-05-04 01:32:52.166354872 +0200
    @@ -255,7 +255,7 @@ typedef enum { ide_unknown, ide_generic,
    ide_pdc4030, ide_rz1000, ide_trm290,
    ide_cmd646, ide_cy82c693, ide_4drives,
    ide_pmac, ide_etrax100, ide_acorn,
    - ide_pc9800, ide_forced
    + ide_forced
    } hwif_chipset_t;

    /*
    @@ -308,8 +308,7 @@ static inline void ide_std_init_ports(hw
    /*
    * ide_init_hwif_ports() is OBSOLETE and will be removed in 2.7 series.
    *
    - * arm26, arm, h8300, m68k, m68knommu (broken) and i386-pc9800 (broken)
    - * still have their own versions.
    + * arm{26}, h8300, m68k and m68knommu (broken) still have their own versions.
    */
    #if !defined(CONFIG_ARM) && !defined(CONFIG_H8300) && !defined(CONFIG_M68K)
    static inline void ide_init_hwif_ports(hw_regs_t *hw,
    _

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:02    [W:0.028 / U:63.792 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site