1. 17 7月, 2008 2 次提交
  2. 29 4月, 2008 1 次提交
    • B
      ide: add IDE_HFLAG_MMIO host flag (take 2) · c5dd43ec
      Bartlomiej Zolnierkiewicz 提交于
      * Add IDE_HFLAG_MMIO host flag and set it for hosts which use
        default_hwif_mmiops().
      
      v2:
      * Fix kernel panic in pmac host driver (',' should be '|').
      
        Thanks to Kamalesh for reporting it + testing the fix
        and to Andrew for hinting me about the source of the issue.
      
      Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Andy Whitcroft <apw@shadowen.org>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c5dd43ec
  3. 27 4月, 2008 3 次提交
  4. 26 4月, 2008 1 次提交
  5. 18 4月, 2008 1 次提交
    • 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
  6. 03 2月, 2008 3 次提交
    • B
      ide: fix ide_unregister() usage in host drivers · 909f4369
      Bartlomiej Zolnierkiewicz 提交于
      bast-ide.c/ide-cs.c/delkin_cb.c:
      
      * Don't set 'restore' flag for ide_unregister() when initializing new
        interface.
      
      rapide.c/ide-pnp.c/ide-cs.c/ide_platform.c/au1xxx-ide.c/delkin_cb.c/scc_pata.c:
      
      * Don't set 'init_default' and 'restore' flags for ide_unregister() when
        removing interface.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      909f4369
    • B
      ide: add 'init_default' and 'restore' arguments to ide_unregister() · f82c2b17
      Bartlomiej Zolnierkiewicz 提交于
      * Add 'init_default' (flag for calling init_hwif_default()) and 'restore'
        (flag for calling ide_hwif_restore()) arguments to ide_unregister().
      
      * Update ide_unregister() users to set 'init_default' and 'restore' flags.
      
      * No need to set 'init_default' flag in ide_register_hw() if the setup done
        by init_hwif_default() is going to be overridden by ide_init_port_hw().
      
      * No need to set 'init_default' and 'restore' flags in cleanup_module().
      
      There should be no functionality changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      f82c2b17
    • B
      ide: add struct ide_port_info instances to legacy host drivers · c413b9b9
      Bartlomiej Zolnierkiewicz 提交于
      * Remove 'struct pci_dev *dev' argument from ide_hwif_setup_dma().
      
      * Un-static ide_hwif_setup_dma() and add CONFIG_BLK_DEV_IDEDMA_PCI=n version.
      
      * Add 'const struct ide_port_info *d' argument to ide_device_add[_all]().
      
      * Factor out generic ports init from ide_pci_setup_ports() to ide_init_port(),
        move it to ide-probe.c and call it in in ide_device_add_all() instead of
        ide_pci_setup_ports().
      
      * Move ->mate setup to ide_device_add_all() from ide_port_init().
      
      * Add IDE_HFLAG_NO_AUTOTUNE host flag for host drivers that don't enable
        ->autotune currently.
      
      * Setup hwif->chipset in ide_init_port() but iff pi->chipset is set
        (to not override setup done by ide_hwif_configure()).
      
      * Add ETRAX host handling to ide_device_add_all().
      
      * cmd640.c: set IDE_HFLAG_ABUSE_* also for CONFIG_BLK_DEV_CMD640_ENHANCED=n.
      
      * pmac.c: make pmac_ide_setup_dma() return an error value and move DMA masks
        setup to pmac_ide_setup_device().
      
      * Add 'struct ide_port_info' instances to legacy host drivers, pass them to
        ide_device_add() calls and then remove open-coded ports initialization.
      Reviewed-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c413b9b9
  7. 02 2月, 2008 2 次提交
  8. 27 1月, 2008 3 次提交
  9. 20 10月, 2007 3 次提交
  10. 12 5月, 2007 1 次提交
  11. 10 5月, 2007 1 次提交
    • B
      ide: add ide_proc_register_port() · 5cbf79cd
      Bartlomiej Zolnierkiewicz 提交于
      * create_proc_ide_interfaces() tries to add /proc entries for every probed
        and initialized IDE port, replace it by ide_proc_register_port() which does
        it only for the given port (also rename destroy_proc_ide_interface() to
        ide_proc_unregister_port() for consistency)
        
      * convert {create,destroy}_proc_ide_interface[s]() users to use new functions
      
      * pmac driver depended on proc_ide_create() to add /proc port entries, fix it
        
      * au1xxx-ide, swarm and cs5520 drivers depended indirectly on ide-generic
        driver (CONFIG_IDE_GENERIC=y) to add port /proc entries, fix them
      
      * there is now no need to add /proc entries for IDE ports in proc_ide_create()
        so don't do it
      
      * proc_ide_create() needs now to be called before drivers are probed - fix it,
        while at it make proc_ide_create() create /proc "ide" directory
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      5cbf79cd
  12. 17 2月, 2007 1 次提交
  13. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4