aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/sata_via.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2008-03-24 23:22:48 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-04-17 15:44:17 -0400
commit6bd99b4e0998571808fc1f09d5162348f21ff8c1 (patch)
treee338bd445aaa5cda4bbf1f5598acf70f0d6b68de /drivers/ata/sata_via.c
parent358f9a77a668660729e705fde9c3cf69f013aa98 (diff)
libata: normalize port_info, port_operations and sht tables
Over the time, port info, ops and sht structures developed quite a bit of inconsistencies. This patch updates drivers. * Enable/disable_pm callbacks added to all ahci ops tables. * Every driver for SFF controllers now uses ata_sff_port_start() instead of ata_port_start() unless the driver has custom implementation. * Every driver for SFF controllers now uses ata_pci_default_filter() unless the driver has custom implementation. * Removed an odd port_info->sht initialization from ata_piix.c. Likely a merge byproduct. * A port which has ATA_FLAG_SATA set doesn't need to set cable_detect to ata_cable_sata(). Remove it from via and mv port ops. * Some drivers had unnecessary .max_sectors initialization which is ignored and was missing .slave_destroy callback. Fixed. * Removed unnecessary sht initializations port_info's. * Removed onsolete scsi device suspend/resume callbacks from pata_bf54x. * No reason to set ata_pci_default_filter() and bmdma functions for PIO-only drivers. Remove those callbacks and replace ata_bmdma_irq_clear with ata_noop_irq_clear. * pata_platform sets port_start to ata_dummy_ret0. port_start can just be set to NULL. * sata_fsl supports NCQ but was missing qc_defer. Fixed. * pata_rb600_cf implements dummy port_start. Removed. Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'drivers/ata/sata_via.c')
-rw-r--r--drivers/ata/sata_via.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/ata/sata_via.c b/drivers/ata/sata_via.c
index c0e0f1d18d50..f66ffd7da54e 100644
--- a/drivers/ata/sata_via.c
+++ b/drivers/ata/sata_via.c
@@ -118,6 +118,8 @@ static struct scsi_host_template svia_sht = {
118}; 118};
119 119
120static const struct ata_port_operations vt6420_sata_ops = { 120static const struct ata_port_operations vt6420_sata_ops = {
121 .mode_filter = ata_pci_default_filter,
122
121 .tf_load = ata_tf_load, 123 .tf_load = ata_tf_load,
122 .tf_read = ata_tf_read, 124 .tf_read = ata_tf_read,
123 .check_status = ata_check_status, 125 .check_status = ata_check_status,
@@ -141,12 +143,13 @@ static const struct ata_port_operations vt6420_sata_ops = {
141 .irq_clear = ata_bmdma_irq_clear, 143 .irq_clear = ata_bmdma_irq_clear,
142 .irq_on = ata_irq_on, 144 .irq_on = ata_irq_on,
143 145
144 .port_start = ata_port_start, 146 .port_start = ata_sff_port_start,
145}; 147};
146 148
147static const struct ata_port_operations vt6421_pata_ops = { 149static const struct ata_port_operations vt6421_pata_ops = {
148 .set_piomode = vt6421_set_pio_mode, 150 .set_piomode = vt6421_set_pio_mode,
149 .set_dmamode = vt6421_set_dma_mode, 151 .set_dmamode = vt6421_set_dma_mode,
152 .mode_filter = ata_pci_default_filter,
150 153
151 .tf_load = ata_tf_load, 154 .tf_load = ata_tf_load,
152 .tf_read = ata_tf_read, 155 .tf_read = ata_tf_read,
@@ -172,10 +175,12 @@ static const struct ata_port_operations vt6421_pata_ops = {
172 .irq_clear = ata_bmdma_irq_clear, 175 .irq_clear = ata_bmdma_irq_clear,
173 .irq_on = ata_irq_on, 176 .irq_on = ata_irq_on,
174 177
175 .port_start = ata_port_start, 178 .port_start = ata_sff_port_start,
176}; 179};
177 180
178static const struct ata_port_operations vt6421_sata_ops = { 181static const struct ata_port_operations vt6421_sata_ops = {
182 .mode_filter = ata_pci_default_filter,
183
179 .tf_load = ata_tf_load, 184 .tf_load = ata_tf_load,
180 .tf_read = ata_tf_read, 185 .tf_read = ata_tf_read,
181 .check_status = ata_check_status, 186 .check_status = ata_check_status,
@@ -195,7 +200,6 @@ static const struct ata_port_operations vt6421_sata_ops = {
195 .thaw = ata_bmdma_thaw, 200 .thaw = ata_bmdma_thaw,
196 .error_handler = ata_bmdma_error_handler, 201 .error_handler = ata_bmdma_error_handler,
197 .post_internal_cmd = ata_bmdma_post_internal_cmd, 202 .post_internal_cmd = ata_bmdma_post_internal_cmd,
198 .cable_detect = ata_cable_sata,
199 203
200 .irq_clear = ata_bmdma_irq_clear, 204 .irq_clear = ata_bmdma_irq_clear,
201 .irq_on = ata_irq_on, 205 .irq_on = ata_irq_on,
@@ -203,7 +207,7 @@ static const struct ata_port_operations vt6421_sata_ops = {
203 .scr_read = svia_scr_read, 207 .scr_read = svia_scr_read,
204 .scr_write = svia_scr_write, 208 .scr_write = svia_scr_write,
205 209
206 .port_start = ata_port_start, 210 .port_start = ata_sff_port_start,
207}; 211};
208 212
209static const struct ata_port_info vt6420_port_info = { 213static const struct ata_port_info vt6420_port_info = {