diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-01-06 11:20:50 -0500 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-01-06 11:20:50 -0500 |
commit | b65fac32cfe3b2f98cd472fef400bd1c1340de23 (patch) | |
tree | 493a7e30e23e5413a9e5ad6102b8e91ebc02c069 /drivers/ide/ide.c | |
parent | 5b31f855f10d0053e738baa6d91fb6a3fad35119 (diff) |
ide: merge ide_hwgroup_t with ide_hwif_t (v2)
* Merge ide_hwgroup_t with ide_hwif_t.
* Cleanup init_irq() accordingly, then remove no longer needed
ide_remove_port_from_hwgroup() and ide_ports[].
* Remove now unused HWGROUP() macro.
While at it:
* ide_dump_ata_error() fixups
v2:
* Fix ->quirk_list check in do_ide_request()
(s/hwif->cur_dev/prev_port->cur_dev).
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide.c')
-rw-r--r-- | drivers/ide/ide.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index 5bc2e4782a55..9e403282dfa7 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c | |||
@@ -189,8 +189,6 @@ void ide_unregister(ide_hwif_t *hwif) | |||
189 | 189 | ||
190 | free_irq(hwif->irq, hwif); | 190 | free_irq(hwif->irq, hwif); |
191 | 191 | ||
192 | ide_remove_port_from_hwgroup(hwif); | ||
193 | |||
194 | device_unregister(hwif->portdev); | 192 | device_unregister(hwif->portdev); |
195 | device_unregister(&hwif->gendev); | 193 | device_unregister(&hwif->gendev); |
196 | wait_for_completion(&hwif->gendev_rel_comp); | 194 | wait_for_completion(&hwif->gendev_rel_comp); |
@@ -315,7 +313,6 @@ static int set_pio_mode_abuse(ide_hwif_t *hwif, u8 req_pio) | |||
315 | static int set_pio_mode(ide_drive_t *drive, int arg) | 313 | static int set_pio_mode(ide_drive_t *drive, int arg) |
316 | { | 314 | { |
317 | ide_hwif_t *hwif = drive->hwif; | 315 | ide_hwif_t *hwif = drive->hwif; |
318 | ide_hwgroup_t *hwgroup = hwif->hwgroup; | ||
319 | const struct ide_port_ops *port_ops = hwif->port_ops; | 316 | const struct ide_port_ops *port_ops = hwif->port_ops; |
320 | 317 | ||
321 | if (arg < 0 || arg > 255) | 318 | if (arg < 0 || arg > 255) |
@@ -330,9 +327,9 @@ static int set_pio_mode(ide_drive_t *drive, int arg) | |||
330 | unsigned long flags; | 327 | unsigned long flags; |
331 | 328 | ||
332 | /* take lock for IDE_DFLAG_[NO_]UNMASK/[NO_]IO_32BIT */ | 329 | /* take lock for IDE_DFLAG_[NO_]UNMASK/[NO_]IO_32BIT */ |
333 | spin_lock_irqsave(&hwgroup->lock, flags); | 330 | spin_lock_irqsave(&hwif->lock, flags); |
334 | port_ops->set_pio_mode(drive, arg); | 331 | port_ops->set_pio_mode(drive, arg); |
335 | spin_unlock_irqrestore(&hwgroup->lock, flags); | 332 | spin_unlock_irqrestore(&hwif->lock, flags); |
336 | } else | 333 | } else |
337 | port_ops->set_pio_mode(drive, arg); | 334 | port_ops->set_pio_mode(drive, arg); |
338 | } else { | 335 | } else { |