diff options
author | Tejun Heo <htejun@gmail.com> | 2008-03-24 23:22:48 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-04-17 15:44:17 -0400 |
commit | 6bd99b4e0998571808fc1f09d5162348f21ff8c1 (patch) | |
tree | e338bd445aaa5cda4bbf1f5598acf70f0d6b68de /drivers/ata/sata_via.c | |
parent | 358f9a77a668660729e705fde9c3cf69f013aa98 (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.c | 12 |
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 | ||
120 | static const struct ata_port_operations vt6420_sata_ops = { | 120 | static 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 | ||
147 | static const struct ata_port_operations vt6421_pata_ops = { | 149 | static 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 | ||
178 | static const struct ata_port_operations vt6421_sata_ops = { | 181 | static 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 | ||
209 | static const struct ata_port_info vt6420_port_info = { | 213 | static const struct ata_port_info vt6420_port_info = { |