1. 23 8月, 2008 3 次提交
  2. 24 7月, 2008 3 次提交
    • 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: 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
  3. 17 7月, 2008 2 次提交
  4. 16 7月, 2008 1 次提交
  5. 14 7月, 2008 1 次提交
  6. 13 7月, 2008 1 次提交
  7. 21 6月, 2008 3 次提交
  8. 16 6月, 2008 2 次提交
  9. 27 4月, 2008 5 次提交
  10. 26 4月, 2008 1 次提交
  11. 18 4月, 2008 3 次提交
    • B
      ide: remove ->hold field from ide_hwif_t (take 2) · 2304dc64
      Bartlomiej Zolnierkiewicz 提交于
      ->hold is write-only now, remove it.
      
      v2:
      * v1 missed bast-ide, palm_bk3710, ide-cs and delkin_cb host drivers.
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      2304dc64
    • B
      ide: remove broken/dangerous HDIO_[UNREGISTER,SCAN]_HWIF ioctls (take 3) · 93de00fd
      Bartlomiej Zolnierkiewicz 提交于
      hdparm explicitely marks HDIO_[UNREGISTER,SCAN]_HWIF ioctls as DANGEROUS
      and given the number of bugs we can assume that there are no real users:
      
      * DMA has no chance of working because DMA resources are released by
        ide_unregister() and they are never allocated again.
      
      * Since ide_init_hwif_ports() is used for ->io_ports[] setup the ioctls
        don't work for almost all hosts with "non-standard" (== non ISA-like)
        layout of IDE taskfile registers (there is a lot of such host drivers).
      
      * ide_port_init_devices() is not called when probing IDE devices so:
        - drive->autotune is never set and IDE host/devices are not programmed
          for the correct PIO/DMA transfer modes (=> possible data corruption)
        - host specific I/O 32-bit and IRQ unmasking settings are not applied
          (=> possible data corruption)
        - host specific ->port_init_devs method is not called (=> no luck with
          ht6560b, qd65xx and opti621 host drivers)
      
      * ->rw_disk method is not preserved (=> no HPT3xxN chipsets support).
      
      * ->serialized flag is not preserved (=> possible data corruption when
         using icside, aec62xx (ATP850UF chipset), cmd640, cs5530, hpt366
         (HPT3xxN chipsets), rz1000, sc1200, dtc2278 and ht6560b host drivers).
      
      * ->ack_intr method is not preserved (=> needed by ide-cris, buddha,
        gayle and macide host drivers).
      
      * ->sata_scr[] and sata_misc[] is cleared by ide_unregister() and it
        isn't initialized again (SiI3112 support needs them).
      
      * To issue an ioctl() there need to be at least one IDE device present
        in the system.
      
      * ->cable_detect method is not preserved + it is not called when probing
        IDE devices so cable detection is broken (however since DMA support is
        also broken it doesn't really matter ;-).
      
      * Some objects which may have already been freed in ide_unregister()
        are restored by ide_hwif_restore() (i.e. ->hwgroup).
      
      * ide_register_hw() may unregister unrelated IDE ports if free ide_hwifs[]
        slot cannot be found.
      
      * When IDE host drivers are modular unregistered port may be re-used by
        different host driver that owned it first causing subtle bugs.
      
      Since we now have a proper warm-plug support remove these ioctls,
      then remove no longer needed:
      - ide_register_hw() and ide_hwif_restore() functions
      - 'init_default' and 'restore' arguments of ide_unregister()
      - zeroeing of hwif->{dma,extra}_* fields in ide_unregister()
      
      As an added bonus IDE core code size shrinks by ~3kB (x86-32).
      
      v2:
      * fix ide_unregister() arguments in cleanup_module() (Andrew Morton).
      
      v3:
      * fix ide_unregister() arguments in palm_bk3710.c.
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      93de00fd
    • B
      ide: use ide_find_port() instead of ide_deprecated_find_port() · 4f0eee4d
      Bartlomiej Zolnierkiewicz 提交于
      * Use ide_find_port() instead of ide_deprecated_find_port() in bast-ide/
        palm_bk3710/ide-cs/delkin_cb host drivers and in ide_register_hw().
      
      * Remove no longer needed ide_deprecated_find_port().
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      4f0eee4d
  12. 03 2月, 2008 4 次提交
  13. 02 2月, 2008 1 次提交
  14. 27 1月, 2008 1 次提交
  15. 20 10月, 2007 1 次提交
    • B
      ide: add ->fixup method to ide_hwif_t · fd9bb539
      Bartlomiej Zolnierkiewicz 提交于
      * Add ->fixup method to ide_hwif_t.
      
      * Set hwif->fixup in ide_pci_setup_ports() to d->fixup.
      
      * Use hwif->fixup in probe_hwif().
      
      * Use probe_hwif_init() instead of probe_hwif_init_with_fixup() in
        ide_setup_pci_device().
      
      * Add 'fixup' argument to ide_register_hw() and use it to set hwif->fixup,
        update all ide_register_hw() users accordingly.
      
      * Convert ide-cs/delkin_cb host drivers to use ide_register_hw().
      
      * Restore hwif->fixup in ide_hwif_restore().
      
      * Remove ide_register_hw_with_fixup(), probe_hwif_init_with_fixup()
        and 'fixup' argument from probe_hwif().
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      fd9bb539
  16. 17 10月, 2007 1 次提交
  17. 20 7月, 2007 1 次提交
  18. 10 5月, 2007 1 次提交
  19. 06 5月, 2007 1 次提交
  20. 04 3月, 2007 1 次提交
  21. 15 2月, 2007 1 次提交
    • T
      [PATCH] remove many unneeded #includes of sched.h · cd354f1a
      Tim Schmielau 提交于
      After Al Viro (finally) succeeded in removing the sched.h #include in module.h
      recently, it makes sense again to remove other superfluous sched.h includes.
      There are quite a lot of files which include it but don't actually need
      anything defined in there.  Presumably these includes were once needed for
      macros that used to live in sched.h, but moved to other header files in the
      course of cleaning it up.
      
      To ease the pain, this time I did not fiddle with any header files and only
      removed #includes from .c-files, which tend to cause less trouble.
      
      Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
      arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
      allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
      configs in arch/arm/configs on arm.  I also checked that no new warnings were
      introduced by the patch (actually, some warnings are removed that were emitted
      by unnecessarily included header files).
      Signed-off-by: NTim Schmielau <tim@physik3.uni-rostock.de>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cd354f1a
  22. 05 12月, 2006 2 次提交