1. 01 Feb, 2008 2 commits
  2. 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
  3. 25 Jan, 2008 4 commits
  4. 12 Dec, 2007 2 commits
  5. 19 Oct, 2007 7 commits
  6. 18 Oct, 2007 2 commits
  7. 16 Oct, 2007 5 commits
    • Bartlomiej Zolnierkiewicz's avatar
      ide: add "hdx=nodma" kernel parameter · c223701c
      Bartlomiej Zolnierkiewicz authored
      * Add "hdx=nodma" option allowing user to disallow DMA for a given device.
      
      * Obsolete "ide=nodma" option.
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c223701c
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove hwif->autodma and drive->autodma · 9ff6f72f
      Bartlomiej Zolnierkiewicz authored
      * hpt34x.c: disable DMA masks for HPT345
        (hwif->autodma is zero so DMA won't be enabled anyway).
      
      * trm290.c: disable IDE_HFLAG_TRUST_BIOS_FOR_DMA flag
        (hwif->autodma is zero so DMA won't be enabled anyway).
      
      * Check noautodma global variable instead of drive->autodma in ide_tune_dma().
      
        This fixes handling of "ide=nodma" kernel parameter for icside, ide-cris,
        au1xxx-ide, pmac, it821x, jmicron, sgiioc4 and siimage host drivers.
      
      * Remove hwif->autodma (it was not checked by IDE core code anyway) and
        drive->autodma (was set by all host drivers - except HPT345/TRM290 special
        cases - unless "ide=nodma" was used).
      
      While at it:
      - remove needless printk() from icside.c
      - remove stale FIXME/comment from ide-probe.c
      - don't force DMA off if PCI bus-mastering had to be enabled in setup-pci.c
        (this setting was always later over-ridden by host drivers anyway)
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      9ff6f72f
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove "idex=dma" kernel parameter · 1b516940
      Bartlomiej Zolnierkiewicz authored
      It has been obsoleted since 1 Nov 2004, is valid only when used together with
      "ide=nodma" kernel parameter (which makes no sense) and only for aec62xx,
      cmd64x, cs5220, generic, hpt366, sl82c105, tc86c001 and triflex host drivers.
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      1b516940
    • Adrian Bunk's avatar
      ide: unexport noautodma · 3135469e
      Adrian Bunk authored
      noautodma can now be unexported.
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3135469e
    • Bartlomiej Zolnierkiewicz's avatar
      ide: remove ->ide_dma_check (take 2) · 0ae2e178
      Bartlomiej Zolnierkiewicz authored
      * Add IDE_HFLAG_TRUST_BIOS_FOR_DMA host flag for host drivers that depend
        on BIOS for programming device/controller for DMA.  Set it in cy82c693,
        generic, ns87415, opti621 and trm290 host drivers.
      
      * Add IDE_HFLAG_VDMA host flag for host drivers using VDMA.  Set it in cs5520
        host driver.
      
      * Teach ide_tune_dma() about IDE_HFLAG_TRUST_BIOS_FOR_DMA flag.
      
      * Add generic ide_dma_check() helper and remove all open coded ->ide_dma_check
        implementations.  Fix all places checking for presence of ->ide_dma_check
        hook to check for ->ide_dma_on instead.
      
      * Remove no longer needed code from config_drive_for_dma().
      
      * Make ide_tune_dma() static.
      
      v2:
      * Fix config_drive_for_dma() return values.
      
      * Fix ide-dma.c build for CONFIG_BLK_DEV_IDEDMA_PCI=n by adding
        dummy config_drive_for_dma() inline.
      
      * Fix IDE_HFLAG_TRUST_BIOS_FOR_DMA handling in ide_dma_check().
      
      * Fix init_hwif_it8213() comment.
      
      There should be no functionality changes caused by this patch.
      
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      0ae2e178
  8. 13 Oct, 2007 1 commit
    • Bartlomiej Zolnierkiewicz's avatar
      ide: move ide_config_drive_speed() calls to upper layers (take 2) · 88b2b32b
      Bartlomiej Zolnierkiewicz authored
      * Convert {ide_hwif_t,ide_pci_device_t}->host_flag to be u16.
      
      * Add IDE_HFLAG_POST_SET_MODE host flag to indicate the need to program 
        the host for the transfer mode after programming the device.  Set it
        in au1xxx-ide, amd74xx, cs5530, cs5535, pdc202xx_new, sc1200, pmac
        and via82cxxx host drivers.
      
      * Add IDE_HFLAG_NO_SET_MODE host flag to indicate the need to completely
        skip programming of host/device for the transfer mode ("smart" hosts).
        Set it in it821x host driver and check it in ide_tune_dma().
      
      * Add ide_set_pio_mode()/ide_set_dma_mode() helpers and convert all
        direct ->set_pio_mode/->speedproc users to use these helpers.
      
      * Move ide_config_drive_speed() calls from ->set_pio_mode/->speedproc
        methods to callers.
      
      * Rename ->speedproc method to ->set_dma_mode, make it void and update
        all implementations accordingly.
      
      * Update ide_set_xfer_rate() comments.
      
      * Unexport ide_config_drive_speed().
      
      v2:
      * Fix issues noticed by Sergei:
        - export ide_set_dma_mode() instead of moving ->set_pio_mode abuse wrt
          to setting DMA modes from sc1200_set_pio_mode() to do_special()
        - check IDE_HFLAG_NO_SET_MODE in ide_tune_dma()
        - check for (hwif->set_pio_mode) == NULL in ide_set_pio_mode()
        - check for (hwif->set_dma_mode) == NULL in ide_set_dma_mode()
        - return -1 from ide_set_{pio,dma}_mode() if ->set_{pio,dma}_mode == NULL
        - don't set ->set_{pio,dma}_mode on it821x in "smart" mode
        - fix build problem in pmac.c
        - minor fixes in au1xxx-ide.c/cs5530.c/siimage.c
        - improve patch description
      
      Changes in behavior caused by this patch:
      - HDIO_SET_PIO_MODE ioctl would now return -ENOSYS for attempts to change
        PIO mode if it821x controller is in "smart" mode
      - removal of two debugging printk-s (from cs5530.c and sc1200.c)
      - transfer modes 0x00-0x07 passed from user space may be programmed twice on
        the device (not really an issue since 0x00 is not supported correctly by
        any host driver ATM, 0x01 is not supported at all and 0x02-0x07 are invalid)
      Acked-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      88b2b32b
  9. 12 Oct, 2007 1 commit
    • Kay Sievers's avatar
      Driver core: change add_uevent_var to use a struct · 7eff2e7a
      Kay Sievers authored
      This changes the uevent buffer functions to use a struct instead of a
      long list of parameters. It does no longer require the caller to do the
      proper buffer termination and size accounting, which is currently wrong
      in some places. It fixes a known bug where parts of the uevent
      environment are overwritten because of wrong index calculations.
      
      Many thanks to Mathieu Desnoyers for finding bugs and improving the
      error handling.
      Signed-off-by: default avatarKay Sievers <kay.sievers@vrfy.org>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
      7eff2e7a
  10. 11 Oct, 2007 3 commits
    • Bartlomiej Zolnierkiewicz's avatar
      ide: add ide_set{_max}_pio() (take 4) · 26bcb879
      Bartlomiej Zolnierkiewicz authored
      * Add IDE_HFLAG_ABUSE_{PREFETCH,FAST_DEVSEL,DMA_MODES} flags
        and set them in ht6560, cmd640, cmd64x and sc1200 host drivers.
      
      * Add set_pio_mode_abuse() for checking if host driver has a non-standard
        ->tuneproc() implementation and use it in do_special().
      
      * Add ide_set_pio() for setting PIO mode (it uses hwif->pio_mask to find
        the maximum PIO mode supported by the host), also add ide_set_max_pio()
        wrapper for ide_set_pio() to use for auto-tuning.  Convert users of
        ->tuneproc to use ide_set{_max}_pio() where possible.  This leaves only
        do_special(), set_using_pio(), ide_hwif_restore() and ide_set_pio() as
        a direct users of ->tuneproc.
      
      * Remove no longer needed ide_get_best_pio_mode() calls and printk-s
        reporting PIO mode selected from ->tuneproc implementations.
      
      * Rename ->tuneproc hook to ->set_pio_mode and make 'pio' argument const.
      
      * Remove stale comment from ide_config_drive_speed().
      
      v2:
      * Fix "ata_" prefix (Noticed by Jeff).
      
      v3:
      * Minor cleanups/fixups per Sergei's suggestions.
      
      v4:
      * Fix compile problem in drivers/ide/pci/cmd640.c
        (Noticed by Andrew Morton).
      
      * Improve some ->set_pio_mode comments.
      Reviewed-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      26bcb879
    • Shaohua Li's avatar
      ide: hook ACPI _PSx method to IDE power on/off · 5e32132b
      Shaohua Li authored
      ACPI spec defines the sequence of IDE power on/off:
      Powering down:
      	Call _GTM.
      	Power down drive (calls _PS3 method and turns off power planes).
      Powering up:
      	Power up drive (calls _PS0 method if present and turns on power planes).
      	Call _STM passing info from _GTM (possibly modified), with ID data from
      	each drive.
      	Initialize the channel.
      	May modify the results of _GTF.
      	For each drive:
      		Call _GTF.
      		Execute task file (possibly modified).
      This patch adds the missed _PS0/_PS3 methods call.
      Signed-off-by: default avatarShaohua Li <shaohua.li@intel.com>
      Acked-by: default avatarLen Brown <len.brown@intel.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      5e32132b
    • Sergei Shtylyov's avatar
      hpt366: MWDMA filter for SATA cards (take 2) · b4e44369
      Sergei Shtylyov authored
      The Marvell bridge chips used on HighPoint SATA cards do not seem to support
      the MWDMA modes (at least that could be seen in their so-called drivers :-),
      so the driver needs to account for this -- to achieve this:
      
      - add mdma_filter() method from the original patch by Bartlomiej Zolnierkiewicz
        with his consent;
      
      - install the method for all chips to only return empty mask if a SATA drive
        is detected on HPT372{AN]/374 chips...
      Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      b4e44369
  11. 19 Jul, 2007 1 commit
    • Bartlomiej Zolnierkiewicz's avatar
      ide: add support for SCSI ioctls to ide-floppy · 89636af2
      Bartlomiej Zolnierkiewicz authored
      Now that ide-floppy supports SG_IO we can add support for SCSI ioctls
      (except deprecated SCSI_IOCTL_SEND_COMMAND and legacy CDROM_SEND_PACKET
      ones - we can add them later iff really needed).
      
      While at it remove handling of CDROMEJECT and CDROMCLOSETRAY ioctls from
      generic_ide_ioctl():
      
      - This prevents ide-{disk,tape,scsi} device drivers from obtaining
        REQ_TYPE_BLOCK_PC type requests which are currently unsupported by
        these drivers and which are potentially harmful (as reported by Andrew).
      
      - There is no functionality loss since aforementioned ioctls will now be
        handled by idefloppy_ioctl()->scsi_cmd_ioctl() (for devices using
        ide-floppy driver) and by idecd_ioctl->cdrom_ioctl()->scsi_cmd_ioctl()
        (for devices using ide-cd driver).
      
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      89636af2