1. 24 7月, 2008 17 次提交
    • B
      ide: add ide_host_free() helper (take 2) · 8a69580e
      Bartlomiej Zolnierkiewicz 提交于
      * Add ide_host_free() helper and convert ide_host_remove() to use it.
      
      * Fix handling of ide_host_register() failure in ide_host_add(),
        icside.c, ide-generic.c, falconide.c and sgiioc4.c.
      
      While at it:
      
      * Fix handling of ide_host_alloc_all() failure in ide-generic.c.
      
      * Fix handling of ide_host_alloc() failure in falconide.c
        (also return the correct error value if no device is found).
      
      v2:
      * falconide build fix. (From Stephen Rothwell)
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      8a69580e
    • B
      ide: add ide_host_add() helper · 6f904d01
      Bartlomiej Zolnierkiewicz 提交于
      Add ide_host_add() helper which does ide_host_alloc()+ide_host_register(),
      then convert ide_setup_pci_device[s](), ide_legacy_device_add() and some
      host drivers to use it.
      
      While at it:
      
      * Fix ide_setup_pci_device[s](), ide_arm.c, gayle.c, ide-4drives.c,
        macide.c, q40ide.c, cmd640.c and cs5520.c to return correct error value.
      
      * -ENOENT -> -ENOMEM in rapide.c, ide-h8300.c, ide-generic.c, au1xxx-ide.c
        and pmac.c
      
      * -ENODEV -> -ENOMEM in palm_bk3710.c, ide_platform.c and delkin_cb.c
      
      * -1 -> -ENOMEM in ide-pnp.c
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      6f904d01
    • B
      ide: add struct ide_host (take 3) · 48c3c107
      Bartlomiej Zolnierkiewicz 提交于
      * Add struct ide_host which keeps pointers to host's ports.
      
      * Add ide_host_alloc[_all]() and ide_host_remove() helpers.
      
      * Pass 'struct ide_host *host' instead of 'u8 *idx' to
        ide_device_add[_all]() and rename it to ide_host_register[_all]().
      
      * Convert host drivers and core code to use struct ide_host.
      
      * Remove no longer needed ide_find_port().
      
      * Make ide_find_port_slot() static.
      
      * Unexport ide_unregister().
      
      v2:
      * Add missing 'struct ide_host *host' to macide.c.
      
      v3:
      * Fix build problem in pmac.c (s/ide_alloc_host/ide_host_alloc/)
        (Noticed by Stephen Rothwell).
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      48c3c107
    • B
      ide: add struct ide_tp_ops (take 2) · 374e042c
      Bartlomiej Zolnierkiewicz 提交于
      * Add struct ide_tp_ops for transport methods.
      
      * Add 'const struct ide_tp_ops *tp_ops' to struct ide_port_info
        and ide_hwif_t.
      
      * Set the default hwif->tp_ops in ide_init_port_data().
      
      * Set host driver specific hwif->tp_ops in ide_init_port().
      
      * Export ide_exec_command(), ide_read_status(), ide_read_altstatus(),
        ide_read_sff_dma_status(), ide_set_irq(), ide_tf_{load,read}()
        and ata_{in,out}put_data().
      
      * Convert host drivers and core code to use struct ide_tp_ops.
      
      * Remove no longer needed default_hwif_transport().
      
      * Cleanup ide_hwif_t from methods that are now in struct ide_tp_ops.
      
      While at it:
      
      * Use struct ide_port_info in falconide.c and q40ide.c.
      
      * Rename ata_{in,out}put_data() to ide_{in,out}put_data().
      
      v2:
      
      * Fix missing convertion in ns87415.c.
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      374e042c
    • B
      ide: filter out "default" transfer mode values in set_xfer_rate() · 3b2a5c71
      Bartlomiej Zolnierkiewicz 提交于
      * Filter out "default" transfer mode values (0x00 - default PIO mode,
        0x01 - default PIO mode w/ IORDY disabled) in write handler for obsoleted
        /proc/ide/hd?/settings:current_speed setting.
      
        Allowing "default" transfer mode values is a dangerous thing to do as
        we don't support programming controller to the "default" transfer mode
        and devices often use different values for the default and maximum PIO
        mode (i.e. PIO2 default and PIO4 maximum) so the controller will stay
        programmed for higher PIO mode while device will use the lower PIO mode.
      
        There is no functionality loss as by using special IOCTLs device can
        still be programmed to "default" transfer modes (it is only useful for
        debugging/testing purposes anyway).
      
      * Remove no longer needed IDE_HFLAG_ABUSE_SET_DMA_MODE host flag, it was
        previously used by few host drivers to program the controller to PIO0
        timings for "default" transfer mode == 0x01 (although some host drivers
        would program invalid PIO timings instead).
      
      * Cleanup ide_set_xfer_rate() and add BUG_ON().
      Suggested-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3b2a5c71
    • B
      ide: remove dead Virtual DMA support · ba4b2e60
      Bartlomiej Zolnierkiewicz 提交于
      Lets remove dead Virtual DMA support for now so it doesn't clutter
      core IDE code (it can be bring back when there is a need for it):
      
      * Remove IDE_HFLAG_VDMA host flag.
      
      * Remove ide_drive_t.vdma flag.
      
      * cs5520.c: remove stale FIXMEs, cs5520_dma_host_set() and cs5520_dma_ops
        (also there is no longer a need to set IDE_HFLAG_NO_ATAPI_DMA).
      
      There should be no functional changes caused by this patch.
      
      Cc: TAKADA Yoshihito <takada@mbf.nifty.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      ba4b2e60
    • B
      ide: remove ->INB, ->OUTB and ->OUTBSYNC methods · 761052e6
      Bartlomiej Zolnierkiewicz 提交于
      * Remove no longer needed ->INB, ->OUTB and ->OUTBSYNC methods.
      
      Then:
      
      * Remove no longer used default_hwif_[mm]iops() and ide_[mm_]outbsync().
      
      * Cleanup SuperIO handling in ns87415.c.
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      761052e6
    • B
      ide: use ->tf_read in ide_read_error() · 92eb4380
      Bartlomiej Zolnierkiewicz 提交于
      * Add IDE_TFLAG_IN_FEATURE taskfile flag for reading Feature
        register and handle it in ->tf_read.
      
      * Convert ide_read_error() to use ->tf_read instead of ->INB,
        then uninline and export it.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      92eb4380
    • B
      ide: add ->set_irq method · 6e6afb3b
      Bartlomiej Zolnierkiewicz 提交于
      Add ->set_irq method for setting nIEN bit of ATA Device Control
      register and use it instead of ide_set_irq().
      
      While at it:
      
      * Use ->set_irq in init_irq() and do_reset1().
      
      * Don't use HWIF() macro in ide_check_pm_state().
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      6e6afb3b
    • B
      ide: add ->read_altstatus method · 1f6d8a0f
      Bartlomiej Zolnierkiewicz 提交于
      * Remove ide_read_altstatus() inline helper.
      
      * Add ->read_altstatus method for reading ATA Alternate Status
        register and use it instead of ->INB.
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      1f6d8a0f
    • B
      ide: add ->read_status method · b73c7ee2
      Bartlomiej Zolnierkiewicz 提交于
      * Remove ide_read_status() inline helper.
      
      * Add ->read_status method for reading ATA Status register
        and use it instead of ->INB.
      
      While at it:
      
      * Don't use HWGROUP() macro.
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      b73c7ee2
    • B
      ide: add ->exec_command method · c6dfa867
      Bartlomiej Zolnierkiewicz 提交于
      Add ->exec_command method for writing ATA Command register
      and use it instead of ->OUTBSYNC.
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c6dfa867
    • B
      ide: factor out simplex handling from ide_pci_dma_base() · ebb00fb5
      Bartlomiej Zolnierkiewicz 提交于
      * Factor out simplex handling from ide_pci_dma_base() to
        ide_pci_check_simplex().
      
      * Set hwif->dma_base early in ->init_dma method / ide_hwif_setup_dma()
        and reset it in ide_init_port() if DMA initialization fails.
      
      * Use ->read_sff_dma_status instead of ->INB in ide_pci_dma_base().
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      ebb00fb5
    • B
      ide: remove ide_setup_dma() · 81e8d5a3
      Bartlomiej Zolnierkiewicz 提交于
      Export sff_dma_ops and then remove ide_setup_dma().
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      81e8d5a3
    • B
      ide: remove ->dma_{status,command} fields from ide_hwif_t · cab7f8ed
      Bartlomiej Zolnierkiewicz 提交于
      * Use ->dma_base + offset instead of ->dma_{status,command}
        and remove no longer needed ->dma_{status,command}.
      
      While at it:
      
      * Use ATA_DMA_* defines.
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      cab7f8ed
    • B
      ide: add ->read_sff_dma_status method · b2f951aa
      Bartlomiej Zolnierkiewicz 提交于
      Add ->read_sff_dma_status method for reading DMA Status register
      and use it instead of ->INB.
      
      While at it:
      
      * Use inb() directly in ns87415.c::ns87415_dma_end().
      
      There should be no functional changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      b2f951aa
    • B
      ide: pass hw_regs_t-s to ide_device_add[_all]() (take 3) · c97c6aca
      Bartlomiej Zolnierkiewicz 提交于
      * Add 'hw_regs_t **hws' argument to ide_device_add[_all]() and convert
        host drivers + ide_legacy_init_one() + ide_setup_pci_device[s]() to use
        it instead of calling ide_init_port_hw() directly.
      
        [ However if host has > 1 port we must still set hwif->chipset to hint
          consecutive ide_find_port() call that the previous slot is occupied. ]
      
      * Unexport ide_init_port_hw().
      
      v2:
      * Use defines instead of hard-coded values in buddha.c, gayle.c and q40ide.c.
        (Suggested by Geert Uytterhoeven)
      
      * Better patch description.
      
      v3:
      * Fix build problem in ide-cs.c. (Noticed by Stephen Rothwell)
      
      There should be no functional changes caused by this patch.
      
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c97c6aca
  2. 17 7月, 2008 16 次提交
  3. 16 7月, 2008 7 次提交