1. 10 Feb, 2008 1 commit
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove stale version number · eba8ff94
      Bartlomiej Zolnierkiewicz authored
      
      
      On Thursday 03 January 2008, Robert Hancock wrote:
      
      [...]
      
      > How about getting rid of this stupid thing in drivers/ide/ide.c:
      > 
      > #define       REVISION        "Revision: 7.00alpha2"
      > 
      > which is used in:
      > 
      > printk(KERN_INFO "Uniform Multi-Platform E-IDE driver " REVISION "\n");
      > 
      > It's been 7.00alpha2 for god knows how long, so clearly this version 
      > number is not useful..
      
      Cc: Robert Hancock <hancockr@shaw.ca>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      eba8ff94
  2. 06 Feb, 2008 1 commit
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove ide_setup_ports() · 29dd5975
      Bartlomiej Zolnierkiewicz authored
      
      
      ide-cris.c:
      * Add cris_setup_ports() helper and use it instead of ide_setup_ports()
        (fixes random value being set in ->io_ports[IDE_IRQ_OFFSET]).
      
      buddha.c:
      * Add buddha_setup_ports() helper and use it instead of ide_setup_ports().
      
      falconide.c:
      * Add falconide_setup_ports() helper and use it instead of ide_setup_ports(),
        also fix return value of falconide_init() while at it.
      
      gayle.c:
      * Add gayle_setup_ports() helper and use it instead of ide_setup_ports().
      
      macide.c:
      * Add macide_setup_ports() helper and use it instead of ide_setup_ports()
        (fixes incorrect value being set in ->io_ports[IDE_IRQ_OFFSET]).
      
      q40ide.c:
      * Fix q40_ide_setup_ports() comments.
      
      ide.c:
      * Remove no longer needed ide_setup_ports().
      
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      29dd5975
  3. 02 Feb, 2008 7 commits
  4. 01 Feb, 2008 7 commits
  5. 26 Jan, 2008 12 commits
    • Bartlomiej Zolnierkiewicz's avatar
      ide: convert "empty" REQ_TYPE_ATA_CMD requests to use REQ_TYPE_ATA_TASKFILE · 852738f3
      Bartlomiej Zolnierkiewicz authored
      
      
      Based on the previous work by Tejun Heo.
      
      There should be no functionality changes caused by this patch.
      
      Cc: Tejun Heo <htejun@gmail.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      852738f3
    • Bartlomiej Zolnierkiewicz's avatar
      ide: initialize rq->cmd_type in ide_init_drive_cmd() callers · 145b75e9
      Bartlomiej Zolnierkiewicz authored
      
      
      * Initialize rq->cmd_type in ide_wait_cmd(), ide_cmd_ioctl() and
        set_pio_mode() (other callers were aleady over-riding rq->cmd_type).
      
      * Remove no longer needed rq->cmd_type setup from ide_init_drive_cmd().
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      145b75e9
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove broken disk byte-swapping support · 9e47be0c
      Bartlomiej Zolnierkiewicz authored
      Remove broken disk byte-swapping support:
      - it can cause a data corruption on SMP (or if using PREEMPT on UP)
      - all data coming from disk are byte-swapped by taskfile_*_data() which
        results in incorrect identify data being reported by /proc/ide/ and IOCTLs
      - "hdx=bswap/byteswap" kernel parameter has been broken on m68k host drivers
        (including Atari/Q40 ones) since 2.5.x days (because of 'hwif' zero-ing)
      - byte-swapping is limited to PIO transfers (for working with TiVo disks on
        x86 machines using user-space solutions or dm-byteswap should result in
        much better performance because DMA can be used)
      
      For previous discussions please see:
      
      http://www.ussg.iu.edu/hypermail/linux/kernel/0201.0/0768.html
      http://lkml.org/lkml/2004/2/28/111
      
      
      
      [ I have dm-byteswap device mapper target if somebody is interested
        (patch is for 2.6.4 though but I'll dust it off if needed). ]
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      9e47be0c
    • Bartlomiej Zolnierkiewicz's avatar
      ide: make remaining built-in only IDE host drivers modular (take 2) · ade2daf9
      Bartlomiej Zolnierkiewicz authored
      
      
      * Make remaining built-in only IDE host drivers modular, add ide-scan-pci.c
        file for probing PCI host drivers registered with IDE core (special case
        for built-in IDE and CONFIG_IDEPCI_PCIBUS_ORDER=y) and then take care of
        the ordering in which all IDE host drivers are probed when IDE is built-in
        during link time.
      
      * Move probing of gayle, falconide, macide, q40ide and buddha (m68k arch
        specific) host drivers, before PCI ones (no PCI on m68k), ide-cris (cris
        arch specific), cmd640 (x86 arch specific) and pmac (ppc arch specific).
      
      * Move probing of ide-cris (cris arch specific) host driver before cmd640
        (x86 arch specific).
      
      * Move probing of mpc8xx (ppc specific) host driver before ide-pnp (depends
        on ISA and none of ppc platform that use mpc8xx supports ISA) and ide-h8300
        (h8300 arch specific).
      
      * Add "probe_vlb" kernel parameter to cmd640 host driver and update
        Documentation/ide.txt accordingly.
      
      * Make IDE_ARM config option visible so it can also be disabled if needed.
      
      * Remove bogus comment from ide.c while at it.
      
      v2:
      * Fix two issues spotted by Sergei:
        - replace ENOMEM error value by ENOENT in ide-h8300 host driver
        - fix MODULE_PARM_DESC() in cmd640 host driver
      
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      ade2daf9
    • Bartlomiej Zolnierkiewicz's avatar
      ide: fix host drivers depending on ide_generic to probe for interfaces (take 2) · 8ac4ce74
      Bartlomiej Zolnierkiewicz authored
      
      
      * Add mpc8xx_ide_probe() to mpc8xx.c and call it from probe_for_hwifs().
      
      * Convert ide_arm, ide-cris, ide-h8300, ide-pnp, buddha, falconide, gayle,
        macide, q40ide, cmd640 and mpc8xx host drivers to use ide_device_add().
      
        This removes dependency on ide_generic for these drivers so update
        ide/Kconfig accordingly.
      
      v2:
      * ide_arm build fix (s/ide_device_idx/ide_device_add/)
        (Thanks to Christoph Lameter <clameter@sgi.com> for reporting the problem).
      
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      8ac4ce74
    • Bartlomiej Zolnierkiewicz's avatar
      ide: move ide_arm_init() call from init_ide_data() to ide_init() · 94400092
      Bartlomiej Zolnierkiewicz authored
      
      
      * Remove ide_init_port_data() call from ide_arm_init() and move
        ide_arm_init() call from init_ide_data() to ide_init().
      
      This patch is a preparation for the future changes (and as a side-effect
      makes obsolete "idex=io[,ctl[,irq]]" kernel parameters work for ide_arm).
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      94400092
    • Bartlomiej Zolnierkiewicz's avatar
      ide: drop 'initializing' argument from ide_register_hw() · cbb010c1
      Bartlomiej Zolnierkiewicz authored
      
      
      * Rename init_hwif_data() to ide_init_port_data() and export it.
      
      * For all users of ide_register_hw() with 'initializing' argument set
        hwif->present and hwif->hold are always zero so convert these host
        drivers to use ide_find_port()+ide_init_port_data()+ide_init_port_hw()
        instead (also no need for init_hwif_default() call since the setup
        done by it gets over-ridden by ide_init_port_hw() call).
      
      * Drop 'initializing' argument from ide_register_hw().
      
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      cbb010c1
    • Bartlomiej Zolnierkiewicz's avatar
      ide: add ide_init_port_hw() helper · 57c802e8
      Bartlomiej Zolnierkiewicz authored
      
      
      * Add ide_init_port_hw() helper.
      
      * rapide.c: convert rapide_locate_hwif() to rapide_setup_ports()
        and use ide_init_port_hw().
      
      * ide_platform.c: convert plat_ide_locate_hwif() to plat_ide_setup_ports()
        and use ide_init_port_hw().
      
      * sgiioc4.c: use ide_init_port_hw().
      
      * pmac.c: add 'hw_regs_t *hw' argument to pmac_ide_setup_device(),
        setup 'hw' in pmac_ide_{macio,pci}_attach() and use ide_init_port_hw()
        in pmac_ide_setup_device().
      
      This patch is a preparation for the future changes in the IDE probing code.
      
      There should be no functionality changes caused by this patch.
      
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Anton Vorontsov <avorontsov@ru.mvista.com>
      Cc: Jeremy Higdon <jeremy@sgi.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      57c802e8
    • Bartlomiej Zolnierkiewicz's avatar
      ide: don't try to unregister interfaces if 'initializing' in ide_register_hw() · 795d74b5
      Bartlomiej Zolnierkiewicz authored
      
      
      Host drivers using ide_register_hw() and 'initializing == 1':
      
      * ide-pnp
        - depends on ISA
      
      * ide_arm 
        - ARM arch specific
        - initialized before all other host drivers
      
      * ide-cris
        - CRIS arch specific => IDE_ARCH_OBSOLETE_INIT is not defined
        - broken
      
      * ide-h8300
        - H8300 arch specific => IDE_ARCH_OBSOLETE_INIT is not defined, no PCI
      
      * buddha/q40/gayle/macide/falconide
        - M68K arch specific => IDE_ARCH_OBSOLETE_INIT is not defined, no PCI
      
      Since the only host drivers which probe interfaces before the above ones are:
      
      * ali14xx/dtc2278/ht6560b/qd65xx/umc8672
        - depend on ISA
        - require IDE_ARCH_OBSOLETE_INIT=y to work
      
      * PCI ones
        - depend on PCI
      
      don't try to unregister interfaces if 'initializing == 1' in ide_register_hw()
      (it is possible that built-in host drivers will claim all IDE interfaces but
      later ide-pnp host driver will try to unregister them - this change fixes it).
      
      Also skip hwif->hold check if 'initializing == 1' since it is set only by:
      
      * pmac
        - PPC && PMAC specific => no ISA
      
      * au1xxx-ide
        - MIPS && SOC_AU1200 specific => no ISA
      
      and use ide_find_port() helper to find free ide_hwifs[] slot.
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      795d74b5
    • Bartlomiej Zolnierkiewicz's avatar
      ide: merge ->fixup and ->quirkproc methods · f01393e4
      Bartlomiej Zolnierkiewicz authored
      
      
      * Assign drive->quirk_list in ->quirkproc implementations:
        - hpt366.c::hpt3xx_quirkproc()
        - pdc202xx_new.c::pdcnew_quirkproc()
        - pdc202xx_old.c::pdc202xx_quirkproc()
      
      * Make ->quirkproc void.
      
      * Move calling ->quirkproc from do_identify() to probe_hwif().
      
      * Convert it821x_fixups() to it821x_quirkproc() in it821x.c.
      
      * Convert siimage_fixup() to sil_quirkproc() in siimage.c, also remove
        no longer needed drive->present check from is_dev_seagate_sata().
      
      * Convert ide_undecoded_slave() to accept 'drive' instead of 'hwif'
        as an argument.  Then convert ide_register_hw() to accept 'quirkproc'
        argument instead of 'fixup' one.
      
      * Remove no longer needed ->fixup method.
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      f01393e4
    • Bartlomiej Zolnierkiewicz's avatar
      ide: merge ->dma_host_{on,off} methods into ->dma_host_set method · 15ce926a
      Bartlomiej Zolnierkiewicz authored
      
      
      Merge ->dma_host_{on,off} methods into ->dma_host_set method
      which takes 'int on' argument.
      
      There should be no functionality changes caused by this patch.
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      15ce926a
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove ->ide_dma_on and ->dma_off_quietly methods from ide_hwif_t · 4a546e04
      Bartlomiej Zolnierkiewicz authored
      
      
      * Make ide_dma_off_quietly() and __ide_dma_on() always available.
      
      * Drop "__" prefix from __ide_dma_on().
      
      * Check for presence of ->dma_host_on instead of ->ide_dma_on.
      
      * Convert all users of ->ide_dma_on and ->dma_off_quietly methods
        to use ide_dma_on() and ide_dma_off_quietly() instead.
      
      * Remove no longer needed ->ide_dma_on and ->dma_off_quietly methods
        from ide_hwif_t.
      
      * Make ide_dma_on() void.
      
      There should be no functionality changes caused by this patch.
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      4a546e04
  6. 25 Jan, 2008 4 commits
  7. 12 Dec, 2007 2 commits
  8. 19 Oct, 2007 6 commits