dect
/
linux-2.6
Archived
13
0
Fork 0

sc1200: remove stale Power Management code

* Nowadays core IDE code handles restoring of PIO and DMA modes
  (ide-io.c:ide_start_power_step() etc) so remove open-coded version
  from sc1200_resume().

  There should be no change in behavior because settings done by
  sc1200_resume() were always overridden by generic_ide_resume()
  and ide_{start,stop}_power_step().

* Bump driver version.

Cc: Mark Lord <mlord@pobox.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
Bartlomiej Zolnierkiewicz 2007-07-20 01:11:56 +02:00
parent 8987d21ba6
commit 31c4df441c
1 changed files with 2 additions and 37 deletions

View File

@ -1,5 +1,5 @@
/*
* linux/drivers/ide/pci/sc1200.c Version 0.94 Mar 10 2007
* linux/drivers/ide/pci/sc1200.c Version 0.95 Jun 16 2007
*
* Copyright (C) 2000-2002 Mark Lord <mlord@pobox.com>
* Copyright (C) 2007 Bartlomiej Zolnierkiewicz
@ -390,7 +390,7 @@ static int sc1200_resume (struct pci_dev *dev)
// loop over all interfaces that are part of this pci device:
//
while ((hwif = lookup_pci_dev(hwif, dev)) != NULL) {
unsigned int basereg, r, d, format;
unsigned int basereg, r;
sc1200_saved_state_t *ss = (sc1200_saved_state_t *)hwif->config_data;
//
@ -402,41 +402,6 @@ static int sc1200_resume (struct pci_dev *dev)
pci_write_config_dword(hwif->pci_dev, basereg + (r<<2), ss->regs[r]);
}
}
//
// Re-program drive PIO modes
//
pci_read_config_dword(hwif->pci_dev, basereg+4, &format);
format = (format >> 31) & 1;
if (format)
format += sc1200_get_pci_clock();
for (d = 0; d < 2; ++d) {
ide_drive_t *drive = &(hwif->drives[d]);
if (drive->present) {
unsigned int pio, timings;
pci_read_config_dword(hwif->pci_dev, basereg+(drive->select.b.unit << 3), &timings);
for (pio = 0; pio <= 4; ++pio) {
if (sc1200_pio_timings[format][pio] == timings)
break;
}
if (pio > 4)
pio = 255; /* autotune */
(void)sc1200_tuneproc(drive, pio);
}
}
//
// Re-program drive DMA modes
//
for (d = 0; d < MAX_DRIVES; ++d) {
ide_drive_t *drive = &(hwif->drives[d]);
if (drive->present && !__ide_dma_bad_drive(drive)) {
int enable_dma = drive->using_dma;
hwif->dma_off_quietly(drive);
if (sc1200_config_dma(drive))
enable_dma = 0;
if (enable_dma)
hwif->dma_host_on(drive);
}
}
}
return 0;
}