|
@@ -34,7 +34,7 @@
|
|
|
#include <linux/libata.h>
|
|
|
|
|
|
#define DRV_NAME "pata_opti"
|
|
|
-#define DRV_VERSION "0.2.5"
|
|
|
+#define DRV_VERSION "0.2.7"
|
|
|
|
|
|
enum {
|
|
|
READ_REG = 0, /* index of Read cycle timing register */
|
|
@@ -109,30 +109,6 @@ static void opti_write_reg(struct ata_port *ap, u8 val, int reg)
|
|
|
outb(0x83, regio + 2);
|
|
|
}
|
|
|
|
|
|
-#if 0
|
|
|
-/**
|
|
|
- * opti_read_reg - control register read
|
|
|
- * @ap: ATA port
|
|
|
- * @reg: control register number
|
|
|
- *
|
|
|
- * The Opti uses magic 'trapdoor' register accesses to do configuration
|
|
|
- * rather than using PCI space as other controllers do. The double inw
|
|
|
- * on the error register activates configuration mode. We can then read
|
|
|
- * the control register
|
|
|
- */
|
|
|
-
|
|
|
-static u8 opti_read_reg(struct ata_port *ap, int reg)
|
|
|
-{
|
|
|
- unsigned long regio = ap->ioaddr.cmd_addr;
|
|
|
- u8 ret;
|
|
|
- inw(regio + 1);
|
|
|
- inw(regio + 1);
|
|
|
- outb(3, regio + 2);
|
|
|
- ret = inb(regio + reg);
|
|
|
- outb(0x83, regio + 2);
|
|
|
-}
|
|
|
-#endif
|
|
|
-
|
|
|
/**
|
|
|
* opti_set_piomode - set initial PIO mode data
|
|
|
* @ap: ATA interface
|
|
@@ -204,12 +180,13 @@ static struct scsi_host_template opti_sht = {
|
|
|
.slave_configure = ata_scsi_slave_config,
|
|
|
.slave_destroy = ata_scsi_slave_destroy,
|
|
|
.bios_param = ata_std_bios_param,
|
|
|
+ .resume = ata_scsi_device_resume,
|
|
|
+ .suspend = ata_scsi_device_suspend,
|
|
|
};
|
|
|
|
|
|
static struct ata_port_operations opti_port_ops = {
|
|
|
.port_disable = ata_port_disable,
|
|
|
.set_piomode = opti_set_piomode,
|
|
|
-/* .set_dmamode = opti_set_dmamode, */
|
|
|
.tf_load = ata_tf_load,
|
|
|
.tf_read = ata_tf_read,
|
|
|
.check_status = ata_check_status,
|
|
@@ -267,7 +244,9 @@ static struct pci_driver opti_pci_driver = {
|
|
|
.name = DRV_NAME,
|
|
|
.id_table = opti,
|
|
|
.probe = opti_init_one,
|
|
|
- .remove = ata_pci_remove_one
|
|
|
+ .remove = ata_pci_remove_one,
|
|
|
+ .suspend = ata_pci_device_suspend,
|
|
|
+ .resume = ata_pci_device_resume,
|
|
|
};
|
|
|
|
|
|
static int __init opti_init(void)
|