aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide
Commit message (Collapse)AuthorAge
* IDE: Report errors during drive reset back to user spaceElias Oltmanns2008-07-16
| | | | | | | | | | | | | Make sure that each error condition during the execution of an HDIO_DRIVE_RESET ioctl is actually reported to the calling process. Also, unify the exit path of reset_pollfunc() when returning ide_stopped since the need of ->port_ops->reset_poll() to be treated specially has vanished (way back, it seems). Signed-off-by: Elias Oltmanns <eo@nebensachen.de> Cc: "Alan Cox" <alan@lxorguk.ukuu.org.uk> Cc: "Randy Dunlap" <randy.dunlap@oracle.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* IDE: Remove unused codeElias Oltmanns2008-07-16
| | | | | | | | | | | Remove some code which has been made obsolete and hasn't worked properly before anyway. Part of the infrastructure may be reintroduced in a follow up patch to implement a working command aborting facility. Signed-off-by: Elias Oltmanns <eo@nebensachen.de> Cc: "Alan Cox" <alan@lxorguk.ukuu.org.uk> Cc: "Randy Dunlap" <randy.dunlap@oracle.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* IDE: Fix HDIO_DRIVE_RESET handlingElias Oltmanns2008-07-16
| | | | | | | | | | | | | Currently, the code path executing an HDIO_DRIVE_RESET ioctl is broken in various ways. Most importantly, it is treated as an out of band request in an illegal way which may very likely lead to system lock ups. Use the drive's request queue to avoid this problem (and fix a locking issue for free along the way). Signed-off-by: Elias Oltmanns <eo@nebensachen.de> Cc: "Alan Cox" <alan@lxorguk.ukuu.org.uk> Cc: "Randy Dunlap" <randy.dunlap@oracle.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* move ide/legacy/hd.c to drivers/block/Adrian Bunk2008-07-16
| | | | | | | | | This patch moves hd.c to drivers/block/ Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: rmk@arm.linux.org.uk Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide/legacy/hd.c: use late_initcall()Adrian Bunk2008-07-16
| | | | | | | | | | Since the later move to drivers/block/ will break the link order, the module_init() has to become a late_initcall(). Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: rmk@arm.linux.org.uk Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* remove BLK_DEV_HD_ONLYAdrian Bunk2008-07-16
| | | | | | | | | | | After commit 80aa31cb460d12c1e02327b43eceb3eebc6e7090 (ide: remove CONFIG_BLK_DEV_HD_IDE config option (take 2)) the indirection through BLK_DEV_HD_ONLY is no longer required. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: rmk@arm.linux.org.uk Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: endian annotations in ide-floppy.cHarvey Harrison2008-07-16
| | | | | | | Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Cc: Al Viro <viro@ZenIV.linux.org.uk> Cc: Borislav Petkov <petkovbb@googlemail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-floppy: zero out the whole struct ide_atapi_pc on initBorislav Petkov2008-07-16
| | | | | | | | | | | This is a precaution just to make sure a new pc is clean when allocated. There should be no functional change introduced by this patch. [bart: ported it over IDE changes] Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-floppy: fold idefloppy_create_test_unit_ready_cmd into idefloppy_openBorislav Petkov2008-07-16
| | | | | | | | | There's no need for this function since it is used only once. [bart: ported it over IDE changes] Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: move request prep chunk from cdrom_do_newpc_cont to rq issue pathBorislav Petkov2008-07-16
| | | | | | | | | | | As a nice side effect, this minimizes the IRQ handler execution time. There should be no functionality change resulting from this patch. [bart: remove extra newlines from ide_cd_do_request()] Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: move request prep from cdrom_start_rw_cont to rq issue pathBorislav Petkov2008-07-16
| | | | | | | | | | | | | ... by factoring out the rq preparation code into a separate function called in the request routine. As a nice side effect, this minimizes the IRQ handler execution time. There should be no functionality change resulting from this patch. [bart: s/HWGROUP()/drive->hwif->hwgroup/ and remove extra newline] Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: move request prep from cdrom_start_seek_continuation to rq issue pathBorislav Petkov2008-07-16
| | | | | | | | | | | | | ... by factoring out the rq preparation code into a separate function called in the request routine. As a nice side effect, this minimizes the IRQ handler execution time. There should be no functionality change resulting from this patch. [bart: s/HWGROUP()/drive->hwif->hwgroup/ and remove extra newlines] Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: fold cdrom_start_seek into ide_cd_do_requestBorislav Petkov2008-07-16
| | | | | | | | | | Do what the compiler does anyway: inline a function that is used only once. This saves us the overhead of a function call and the function is small enough to be embedded in the callsite anyways. Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: simplify request issuing pathBorislav Petkov2008-07-16
| | | | | | | | | | Call cdrom_start_packet_command() only from the ->do_request() routine. As a nice side effect, this improves code readability a bit. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: mv ide_do_rw_cdrom ide_cd_do_requestBorislav Petkov2008-07-16
| | | | | | | There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: cdrom_start_seek: remove unused argument blockBorislav Petkov2008-07-16
| | | | | | | There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: ide_do_rw_cdrom: add the catch-all bad request case to the if-else blockBorislav Petkov2008-07-16
| | | | | | | There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove ide_cd_drain_data and ide_cd_pad_transferBorislav Petkov2008-07-16
| | | | | | | | | Use the generic ide_pad_transfer() helper instead. [bart: fixup ide_cd_drain_data() -> ide_pad_transfer() conversion] Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove wait-for-idle-controller bit in cdrom_start_packet_commandBorislav Petkov2008-07-16
| | | | | | | This is done in the request issue path anyway. Signed-off-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* sgiioc4: call ide_find_port_slot() laterBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | Move ide_find_port_slot() call closer to ide_device_add(). This is basically a preparation for the future changes. Cc: Jeremy Higdon <jeremy@sgi.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* swarm: call ide_find_port_slot() laterBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | Move ide_find_port_slot() call closer to ide_device_add(). This is basically a preparation for the future changes. Cc: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* icside: always try to probe first interfaceBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | | | | Try to probe first interface even if ide_hwifs[]'s slot for the second interface cannot be obtained. While at it: - Add DRV_NAME define and use it for request_dma() instead of hwif->name. Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* rapide: fix rapide_probe() return valueBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | | | Return -ENOENT on ide_find_port() failure. While at it: - Cleanup rapide_probe() a bit. Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: remove needless includes from setup-pci.c (take 2)Bartlomiej Zolnierkiewicz2008-07-16
| | | | | | | v2: * sparc build fix. (From Stephen Rothwell) Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: remove needless includes from ide-taskfile.c (take 2)Bartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | | | | v2: On Sunday 15 June 2008, Geert Uytterhoeven wrote: > As ide-taskfile.c uses scatterlists, it should include <linux/scatterlist.h>. (v1 broke IDE build on m68k, thanks to Geert for finding the bug) Cc: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: remove needless includes from ide.cBartlomiej Zolnierkiewicz2008-07-16
| | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: remove superfluous BUG_ON() from set_geometry_intr()Bartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | ide_set_handler() bugs on ->handler == NULL so no need to do it in set_geometry_intr(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: allow any command requesting DMA data phase for HDIO_DRIVE_TASKFILEBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | Allow any command requesting DMA data phase for HDIO_DRIVE_TASKFILE ioctl and remove no longer needed task_dma_ok() Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-pnp: print driver banner message earlyBartlomiej Zolnierkiewicz2008-07-16
| | | | | | Print driver banner message early and without interface number. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-h8300: print driver banner message earlyBartlomiej Zolnierkiewicz2008-07-16
| | | | | | Print driver banner message early and without interface number. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: print message on error in ide_find_port_slot()Bartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | | | | * Add DRV_NAME define to ide-h8300.c. * Fix ide-h8300.c, swarm.c and sgiioc4.c to set .name field in struct ide_port_info to DRV_NAME, then convert these host drivers to use ide_find_port_slot() instead of ide_find_port(). * Print message on error in ide_find_port_slot(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide_platform: use struct ide_port_infoBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | Convert the driver to use struct ide_port_info. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-h8300: use struct ide_port_infoBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | Convert the driver to use struct ide_port_info. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* rapide: use struct ide_port_infoBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | Convert the driver to use struct ide_port_info. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* cmd640: add ->init_dev methodBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | | | | | | | | | | Convert the driver to use ->init_dev method instead of open-coding devices init in cmd640x_init(). While at it: - fix printk()-s to use KERN_INFO level instead of the default KERN_ERR - use DRV_NAME define in printk()-s - set proper ->pio_mask also for CONFIG_BLK_DEV_CMD640_ENHANCED=n There should be no functional changes caused by this patch (except fixing printk()-s levels). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: ->port_init_devs -> ->init_devBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | Change ->port_init_devs method to take 'ide_drive_t *' as an argument instead of 'ide_hwif_t *' and rename it to ->init_dev. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* cmd640: fix warm-plug support for the secondary interfaceBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | | Register secondary interface also when user requested not to probe devices. While at it: - remove write-only second_port_toggled variable Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* powerpc/ide: remove mpc8xx-ide driverArnd Bergmann2008-07-16
| | | | | | | | | | | | This driver was only used by arch/ppc code and is obsolete now with the move to common arch/powerpc code. [bart: port it over IDE tree, remove leftover 'choice' from Kconfig] Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Kumar Gala <galak@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* swarm: use struct ide_port_infoBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | | Convert the driver to use struct ide_port_info. There should be no functional changes caused by this patch. Acked-by: Maciej W. Rozycki <macro@linux-mips.org> Tested-by: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: tighten checks on PCI BARs in ide_hwif_configure()Bartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | Alan has fixed PCI layer handling of PCI IDE in Compatibility mode so PCI BAR 0/1 (and/or 2/3) content reported by kernel should never be zero. Tighten checks on PCI BARs and also fix printk() message while on it. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* sgiioc4: use driver name for resource allocationBartlomiej Zolnierkiewicz2008-07-16
| | | | | Cc: Jeremy Higdon <jeremy@sgi.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* icside: use ide_init_port_hw()Bartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | | | | | | | * Move ide_find_port() and default_hwif_mmiops() calls from icside_setup() to icside_register_v{5,6}(). * Convert icside_setup() to initialize hw_regs_t instead ide_hwif_t and icside_register_v{5,6}() to use ide_init_port_hw(). * Rename icside_setup() to icside_setup_ports(). There should be no functional changes caused by this patch. Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* icside: don't use hwif->hwif_dataBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | | | | | | | | * Move ecard_set_drvdata() from icside_probe() to icside_register_v{5,6}(), then use state->ioc_base instead of hwif->hwif_data in icside_maskproc() and icside_dma_test_irq(). While at it: * Add sel field to struct icside_state, then use state->{sel,ioc_base} instead of ->{select,config}_data in icside_dma_setup(). There should be no functional changes caused by this patch. Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cs: use struct ide_port_infoBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | Convert the driver to use struct ide_port_info. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide_4drives: use struct ide_port_infoBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | Convert the driver to use struct ide_port_info - as a nice side-effect this fixes hwif->channel initialization. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* au1xxx-ide: don't use hwif->hwif_dataBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | | | | | * Use &auide_hwif directly instead of using hwif->hwif_data. While at it: * No need to initialize hwif->{select,config}_data. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: set hwif->dev in ide_init_port_hw() (take 2)Bartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | | | | | | | * Add 'parent' field to hw_regs_t for optional parent device pointer (needed by macio PMAC IDE controllers) and set hwif->dev in ide_init_port_hw(). * Update au1xxx-ide.c, sgiioc4.c, pmac.c and setup-pci.c accordingly. v2: * Update scc_pata.c. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: make ide_hwifs[] staticBartlomiej Zolnierkiewicz2008-07-16
| | | | | | Move ide_hwifs[] from ide.c to ide-probe.c and make it static. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: fix hwif-s initializationBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | | | * Add ide_hwifs[] entry initialization to ide_find_port_slot() and remove ide_init_port_data() calls from host drivers. * Unexport ide_init_port_data(). * Remove no longer needed init_ide_data(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: move PIO blacklist to ide-pio-blacklist.cBartlomiej Zolnierkiewicz2008-07-16
| | | | | | | | | | | | | | Move PIO blacklist to ide-pio-blacklist.c. While at it: - fix comment - fix whitespace damage There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>