aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_rz1000.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/pata_rz1000.c')
-rw-r--r--drivers/ata/pata_rz1000.c49
1 files changed, 4 insertions, 45 deletions
diff --git a/drivers/ata/pata_rz1000.c b/drivers/ata/pata_rz1000.c
index ba8a31c55edb..7dfd1f3f6f3a 100644
--- a/drivers/ata/pata_rz1000.c
+++ b/drivers/ata/pata_rz1000.c
@@ -53,53 +53,13 @@ static int rz1000_set_mode(struct ata_link *link, struct ata_device **unused)
53 53
54 54
55static struct scsi_host_template rz1000_sht = { 55static struct scsi_host_template rz1000_sht = {
56 .module = THIS_MODULE, 56 ATA_PIO_SHT(DRV_NAME),
57 .name = DRV_NAME,
58 .ioctl = ata_scsi_ioctl,
59 .queuecommand = ata_scsi_queuecmd,
60 .can_queue = ATA_DEF_QUEUE,
61 .this_id = ATA_SHT_THIS_ID,
62 .sg_tablesize = LIBATA_MAX_PRD,
63 .cmd_per_lun = ATA_SHT_CMD_PER_LUN,
64 .emulated = ATA_SHT_EMULATED,
65 .use_clustering = ATA_SHT_USE_CLUSTERING,
66 .proc_name = DRV_NAME,
67 .dma_boundary = ATA_DMA_BOUNDARY,
68 .slave_configure = ata_scsi_slave_config,
69 .slave_destroy = ata_scsi_slave_destroy,
70 .bios_param = ata_std_bios_param,
71}; 57};
72 58
73static struct ata_port_operations rz1000_port_ops = { 59static struct ata_port_operations rz1000_port_ops = {
74 .set_mode = rz1000_set_mode, 60 .inherits = &ata_sff_port_ops,
75
76 .tf_load = ata_tf_load,
77 .tf_read = ata_tf_read,
78 .check_status = ata_check_status,
79 .exec_command = ata_exec_command,
80 .dev_select = ata_std_dev_select,
81
82 .bmdma_setup = ata_bmdma_setup,
83 .bmdma_start = ata_bmdma_start,
84 .bmdma_stop = ata_bmdma_stop,
85 .bmdma_status = ata_bmdma_status,
86
87 .qc_prep = ata_qc_prep,
88 .qc_issue = ata_qc_issue_prot,
89
90 .data_xfer = ata_data_xfer,
91
92 .freeze = ata_bmdma_freeze,
93 .thaw = ata_bmdma_thaw,
94 .error_handler = ata_bmdma_error_handler,
95 .post_internal_cmd = ata_bmdma_post_internal_cmd,
96 .cable_detect = ata_cable_40wire, 61 .cable_detect = ata_cable_40wire,
97 62 .set_mode = rz1000_set_mode,
98 .irq_handler = ata_interrupt,
99 .irq_clear = ata_bmdma_irq_clear,
100 .irq_on = ata_irq_on,
101
102 .port_start = ata_sff_port_start,
103}; 63};
104 64
105static int rz1000_fifo_disable(struct pci_dev *pdev) 65static int rz1000_fifo_disable(struct pci_dev *pdev)
@@ -129,7 +89,6 @@ static int rz1000_init_one (struct pci_dev *pdev, const struct pci_device_id *en
129{ 89{
130 static int printed_version; 90 static int printed_version;
131 static const struct ata_port_info info = { 91 static const struct ata_port_info info = {
132 .sht = &rz1000_sht,
133 .flags = ATA_FLAG_SLAVE_POSS, 92 .flags = ATA_FLAG_SLAVE_POSS,
134 .pio_mask = 0x1f, 93 .pio_mask = 0x1f,
135 .port_ops = &rz1000_port_ops 94 .port_ops = &rz1000_port_ops
@@ -140,7 +99,7 @@ static int rz1000_init_one (struct pci_dev *pdev, const struct pci_device_id *en
140 printk(KERN_DEBUG DRV_NAME " version " DRV_VERSION "\n"); 99 printk(KERN_DEBUG DRV_NAME " version " DRV_VERSION "\n");
141 100
142 if (rz1000_fifo_disable(pdev) == 0) 101 if (rz1000_fifo_disable(pdev) == 0)
143 return ata_pci_init_one(pdev, ppi); 102 return ata_pci_sff_init_one(pdev, ppi, &rz1000_sht, NULL);
144 103
145 printk(KERN_ERR DRV_NAME ": failed to disable read-ahead on chipset..\n"); 104 printk(KERN_ERR DRV_NAME ": failed to disable read-ahead on chipset..\n");
146 /* Not safe to use so skip */ 105 /* Not safe to use so skip */