Commit 8ac98ce1 authored by Sergei Shtylyov's avatar Sergei Shtylyov Committed by Bartlomiej Zolnierkiewicz

siimage: remove resetproc() method

The intent behind siimage_reset() was probably to hard reset the interface and
the SATA PHY but as the code writes to two reserved bits instead, it obviously
has been ineffective from the start. So, just remove it.
Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 89613e66
/* /*
* linux/drivers/ide/pci/siimage.c Version 1.18 Oct 18 2007 * linux/drivers/ide/pci/siimage.c Version 1.19 Nov 16 2007
* *
* Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org> * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org>
* Copyright (C) 2003 Red Hat <alan@redhat.com> * Copyright (C) 2003 Red Hat <alan@redhat.com>
...@@ -459,48 +459,6 @@ static void sil_sata_pre_reset(ide_drive_t *drive) ...@@ -459,48 +459,6 @@ static void sil_sata_pre_reset(ide_drive_t *drive)
} }
} }
/**
* siimage_reset - reset a device on an siimage controller
* @drive: drive to reset
*
* Perform a controller level reset fo the device. For
* SATA we must also check the PHY.
*/
static void siimage_reset (ide_drive_t *drive)
{
ide_hwif_t *hwif = HWIF(drive);
u8 reset = 0;
unsigned long addr = siimage_selreg(hwif, 0);
if (hwif->mmio) {
reset = hwif->INB(addr);
hwif->OUTB((reset|0x03), addr);
/* FIXME:posting */
udelay(25);
hwif->OUTB(reset, addr);
(void) hwif->INB(addr);
} else {
pci_read_config_byte(hwif->pci_dev, addr, &reset);
pci_write_config_byte(hwif->pci_dev, addr, reset|0x03);
udelay(25);
pci_write_config_byte(hwif->pci_dev, addr, reset);
pci_read_config_byte(hwif->pci_dev, addr, &reset);
}
if (SATA_STATUS_REG) {
/* SATA_STATUS_REG is valid only when in MMIO mode */
u32 sata_stat = readl((void __iomem *)SATA_STATUS_REG);
printk(KERN_WARNING "%s: reset phy, status=0x%08x, %s\n",
hwif->name, sata_stat, __FUNCTION__);
if (!(sata_stat)) {
printk(KERN_WARNING "%s: reset phy dead, status=0x%08x\n",
hwif->name, sata_stat);
drive->failures++;
}
}
}
/** /**
* proc_reports_siimage - add siimage controller to proc * proc_reports_siimage - add siimage controller to proc
* @dev: PCI device * @dev: PCI device
...@@ -857,7 +815,6 @@ static void __devinit init_hwif_siimage(ide_hwif_t *hwif) ...@@ -857,7 +815,6 @@ static void __devinit init_hwif_siimage(ide_hwif_t *hwif)
{ {
u8 sata = is_sata(hwif); u8 sata = is_sata(hwif);
hwif->resetproc = &siimage_reset;
hwif->set_pio_mode = &sil_set_pio_mode; hwif->set_pio_mode = &sil_set_pio_mode;
hwif->set_dma_mode = &sil_set_dma_mode; hwif->set_dma_mode = &sil_set_dma_mode;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment