linux/drivers/ide
Bartlomiej Zolnierkiewicz 5b31f855f1 ide: use lock bitops for ports serialization (v2)
* Add ->host_busy field to struct ide_host and use it's first bit
  together with lock bitops to provide new ports serialization method.

* Convert core IDE code to use new ide_[un]lock_host() helpers.

  This removes the need for taking hwgroup->lock if host is already
  busy on serialized hosts and makes it possible to merge ide_hwgroup_t
  into ide_hwif_t (done in the later patch).

* Remove no longer needed ide_hwgroup_t.busy and ide_[un]lock_hwgroup().

* Update do_ide_request() documentation.

v2:
* ide_release_lock() should be called inside IDE_HFLAG_SERIALIZE check.

* Add ide_hwif_t.busy flag and ide_[un]lock_port() for serializing
  devices on a port.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2009-01-06 17:20:49 +01:00
..
Kconfig ide-atapi: accomodate transfer length calculation for ide-cd 2009-01-02 16:12:52 +01:00
Makefile ide: move sysfs support to ide-sysfs.c 2009-01-02 16:12:48 +01:00
aec62xx.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
ali14xx.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
alim15x3.c alim15x3: fix sparse warning 2008-12-02 20:40:04 +01:00
amd74xx.c amd74xx: workaround unreliable AltStatus register for nVidia controllers 2008-12-02 20:40:03 +01:00
atiixp.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
au1xxx-ide.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
buddha.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
cmd64x.c cmd64x: set IDE_HFLAG_SERIALIZE explictly for CMD646 2008-12-29 20:27:32 +01:00
cmd640.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
cs5520.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
cs5530.c drivers/ide/{cs5530.c,sc1200.c}: Move a dereference below a NULL test 2008-12-22 23:05:06 +01:00
cs5535.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
cy82c693.c cy82c693: remove superfluous ide_cy82c693 chipset type 2008-12-29 20:27:34 +01:00
delkin_cb.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
dtc2278.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
falconide.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
gayle.c gayle: set IDE_HFLAG_SERIALIZE explictly 2008-12-29 20:27:33 +01:00
hpt366.c ide: rework handling of serialized ports (v2) 2008-12-29 20:27:36 +01:00
ht6560b.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
icside.c icside section warnings 2008-11-30 10:03:36 -08:00
ide-4drives.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
ide-acpi.c ide: fix IDE ACPI regression breaking suspend 2008-12-29 20:27:29 +01:00
ide-atapi.c ide-atapi: start dma in a drive-specific way 2009-01-02 16:12:56 +01:00
ide-cd.c ide-cd: remove handler wrappers 2009-01-02 16:12:55 +01:00
ide-cd.h ide-cd: move cdrom_timer_expiry to ide-atapi.c 2009-01-02 16:12:53 +01:00
ide-cd_ioctl.c ide: remove IDE_AFLAG_NO_DOORLOCKING 2008-10-17 18:09:11 +02:00
ide-cd_verbose.c block: replace sizeof(rq->cmd) with BLK_MAX_CDB 2008-04-29 14:48:55 +02:00
ide-cs.c pcmcia: add another pata/ide ID 2008-11-09 21:35:36 +01:00
ide-disk.c ide: Switch to a common address 2008-11-02 21:40:08 +01:00
ide-disk.h [PATCH] switch ide_disk_ops ->ioctl() to sane prototype 2008-10-21 07:47:30 -04:00
ide-disk_ioctl.c [PATCH] switch ide_disk_ops ->ioctl() to sane prototype 2008-10-21 07:47:30 -04:00
ide-disk_proc.c ide-disk: factor out generic disk handling code to ide-gd.c 2008-10-17 18:09:12 +02:00
ide-dma-sff.c ide: use ATA_DMA_* defines in ide-dma-sff.c 2008-12-29 20:27:37 +01:00
ide-dma.c ide: move SFF DMA code to ide-dma-sff.c 2008-10-13 21:39:47 +02:00
ide-floppy.c ide-atapi: remove timeout arg to ide_issue_pc 2009-01-02 16:12:56 +01:00
ide-floppy.h [PATCH] switch ide_disk_ops ->ioctl() to sane prototype 2008-10-21 07:47:30 -04:00
ide-floppy_ioctl.c ide-floppy: allocate only toplevel packet commands 2009-01-02 16:12:51 +01:00
ide-floppy_proc.c ide: prepare for merging ide-gd-floppy.c with ide-gd.c 2008-10-17 18:09:13 +02:00
ide-gd.c ide-gd: re-get capacity on revalidate 2008-11-02 21:40:10 +01:00
ide-gd.h ide: add generic ATA/ATAPI disk driver 2008-10-17 18:09:14 +02:00
ide-generic.c ide-generic: remove no longer needed ide_probe_legacy() 2008-10-13 21:39:42 +02:00
ide-h8300.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
ide-io.c ide: use lock bitops for ports serialization (v2) 2009-01-06 17:20:49 +01:00
ide-ioctls.c ide: remove the last ide-scsi remnants 2009-01-02 16:12:54 +01:00
ide-iops.c ide: replace the global ide_lock spinlock by per-hwgroup spinlocks (v2) 2008-12-29 20:27:31 +01:00
ide-legacy.c ide: move legacy ISA/VLB ports handling to ide-legacy.c (v2) 2008-12-29 20:27:37 +01:00
ide-lib.c ide: remove superfluous local_irq_{save,restore}() from ide_dump_status() 2008-12-29 20:27:37 +01:00
ide-park.c ide: use per-device request queue locks (v2) 2009-01-02 16:12:50 +01:00
ide-pci-generic.c ide: Switch to a common address 2008-11-02 21:40:08 +01:00
ide-pio-blacklist.c ide: move PIO blacklist to ide-pio-blacklist.c 2008-07-16 20:33:39 +02:00
ide-pm.c ide: move Power Management support to ide-pm.c 2008-12-29 20:27:37 +01:00
ide-pnp.c ide: add ide_host_add() helper 2008-07-23 19:55:57 +02:00
ide-probe.c ide: remove hwgroup->hwif and {drive,hwif}->next 2009-01-06 17:20:49 +01:00
ide-proc.c cy82c693: remove superfluous ide_cy82c693 chipset type 2008-12-29 20:27:34 +01:00
ide-scan-pci.c ide: replace remaining __FUNCTION__ occurrences 2008-04-26 22:25:20 +02:00
ide-sysfs.c ide: move sysfs support to ide-sysfs.c 2009-01-02 16:12:48 +01:00
ide-tape.c ide-atapi: remove timeout arg to ide_issue_pc 2009-01-02 16:12:56 +01:00
ide-taskfile.c ide: Implement disk shock protection support (v4) 2008-10-13 21:39:50 +02:00
ide-timings.c ide: include <linux/hdreg.h> only when needed 2008-10-10 22:39:27 +02:00
ide.c ide: use per-port IRQ handlers 2009-01-06 17:20:48 +01:00
ide_arm.c [ARM] clps7500: remove support 2008-11-27 12:38:11 +00:00
ide_platform.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
it821x.c ide: Switch to a common address 2008-11-02 21:40:08 +01:00
it8213.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
jmicron.c ide: Switch to a common address 2008-11-02 21:40:08 +01:00
macide.c m68k: machw.h cleanup 2008-12-28 20:00:03 +01:00
ns87415.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
opti621.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
palm_bk3710.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
pdc202xx_new.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
pdc202xx_old.c ide: add ->max_sectors field to struct ide_port_info 2008-12-29 20:27:34 +01:00
piix.c ide: Switch to a common address 2008-11-02 21:40:08 +01:00
pmac.c ide: build-fix for CONFIG_BLK_DEV_IDEDMA_PMAC=n 2008-12-08 17:52:05 +01:00
q40ide.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
qd65xx.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
qd65xx.h ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
rapide.c arm ide breakage 2008-10-26 09:35:05 -07:00
rz1000.c rz1000: apply chipset quirks early (v2) 2008-12-29 20:27:33 +01:00
sc1200.c drivers/ide/{cs5530.c,sc1200.c}: Move a dereference below a NULL test 2008-12-22 23:05:06 +01:00
scc_pata.c ide: Switch to a common address 2008-11-02 21:40:08 +01:00
serverworks.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
setup-pci.c ide: add proper PCI PM support (v2) 2008-10-10 22:39:32 +02:00
sgiioc4.c [IA64] Clear up section mismatch for ioc4_ide_attach_one. 2008-12-09 10:08:48 -08:00
siimage.c ide: Switch to a common address 2008-11-02 21:40:08 +01:00
sis5513.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
sl82c105.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
slc90e66.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
tc86c001.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
triflex.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00
trm290.c trm290: add IDE_HFLAG_TRM290 host flag 2008-12-29 20:27:34 +01:00
tx4938ide.c ide: remove chipset type fixup from ide_host_register() 2009-01-02 16:12:47 +01:00
tx4939ide.c ide: remove chipset type fixup from ide_host_register() 2009-01-02 16:12:47 +01:00
umc8672.c ide: replace the global ide_lock spinlock by per-hwgroup spinlocks (v2) 2008-12-29 20:27:31 +01:00
via82cxxx.c ide: remove useless subdirs from drivers/ide/ 2008-10-21 20:57:23 +02:00