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 | |
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')
29 files changed, 62 insertions, 60 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 492e521715d6..c6ea44a7f2a9 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c | |||
@@ -336,6 +336,8 @@ static const struct ata_port_operations ahci_vt8251_ops = { | |||
336 | .check_altstatus = ahci_check_status, | 336 | .check_altstatus = ahci_check_status, |
337 | .dev_select = ata_noop_dev_select, | 337 | .dev_select = ata_noop_dev_select, |
338 | 338 | ||
339 | .dev_config = ahci_dev_config, | ||
340 | |||
339 | .tf_read = ahci_tf_read, | 341 | .tf_read = ahci_tf_read, |
340 | 342 | ||
341 | .qc_defer = sata_pmp_qc_defer_cmd_switch, | 343 | .qc_defer = sata_pmp_qc_defer_cmd_switch, |
@@ -360,6 +362,8 @@ static const struct ata_port_operations ahci_vt8251_ops = { | |||
360 | .port_suspend = ahci_port_suspend, | 362 | .port_suspend = ahci_port_suspend, |
361 | .port_resume = ahci_port_resume, | 363 | .port_resume = ahci_port_resume, |
362 | #endif | 364 | #endif |
365 | .enable_pm = ahci_enable_alpm, | ||
366 | .disable_pm = ahci_disable_alpm, | ||
363 | 367 | ||
364 | .port_start = ahci_port_start, | 368 | .port_start = ahci_port_start, |
365 | .port_stop = ahci_port_stop, | 369 | .port_stop = ahci_port_stop, |
@@ -370,6 +374,8 @@ static const struct ata_port_operations ahci_p5wdh_ops = { | |||
370 | .check_altstatus = ahci_check_status, | 374 | .check_altstatus = ahci_check_status, |
371 | .dev_select = ata_noop_dev_select, | 375 | .dev_select = ata_noop_dev_select, |
372 | 376 | ||
377 | .dev_config = ahci_dev_config, | ||
378 | |||
373 | .tf_read = ahci_tf_read, | 379 | .tf_read = ahci_tf_read, |
374 | 380 | ||
375 | .qc_defer = sata_pmp_qc_defer_cmd_switch, | 381 | .qc_defer = sata_pmp_qc_defer_cmd_switch, |
@@ -394,6 +400,8 @@ static const struct ata_port_operations ahci_p5wdh_ops = { | |||
394 | .port_suspend = ahci_port_suspend, | 400 | .port_suspend = ahci_port_suspend, |
395 | .port_resume = ahci_port_resume, | 401 | .port_resume = ahci_port_resume, |
396 | #endif | 402 | #endif |
403 | .enable_pm = ahci_enable_alpm, | ||
404 | .disable_pm = ahci_disable_alpm, | ||
397 | 405 | ||
398 | .port_start = ahci_port_start, | 406 | .port_start = ahci_port_start, |
399 | .port_stop = ahci_port_stop, | 407 | .port_stop = ahci_port_stop, |
diff --git a/drivers/ata/ata_generic.c b/drivers/ata/ata_generic.c index 20534202fc79..db4c3cb78fda 100644 --- a/drivers/ata/ata_generic.c +++ b/drivers/ata/ata_generic.c | |||
@@ -114,6 +114,7 @@ static struct scsi_host_template generic_sht = { | |||
114 | 114 | ||
115 | static struct ata_port_operations generic_port_ops = { | 115 | static struct ata_port_operations generic_port_ops = { |
116 | .set_mode = generic_set_mode, | 116 | .set_mode = generic_set_mode, |
117 | .mode_filter = ata_pci_default_filter, | ||
117 | 118 | ||
118 | .tf_load = ata_tf_load, | 119 | .tf_load = ata_tf_load, |
119 | .tf_read = ata_tf_read, | 120 | .tf_read = ata_tf_read, |
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c index fae8404254c0..067760a16889 100644 --- a/drivers/ata/ata_piix.c +++ b/drivers/ata/ata_piix.c | |||
@@ -336,7 +336,7 @@ static const struct ata_port_operations piix_pata_ops = { | |||
336 | .irq_clear = ata_bmdma_irq_clear, | 336 | .irq_clear = ata_bmdma_irq_clear, |
337 | .irq_on = ata_irq_on, | 337 | .irq_on = ata_irq_on, |
338 | 338 | ||
339 | .port_start = ata_port_start, | 339 | .port_start = ata_sff_port_start, |
340 | }; | 340 | }; |
341 | 341 | ||
342 | static const struct ata_port_operations ich_pata_ops = { | 342 | static const struct ata_port_operations ich_pata_ops = { |
@@ -367,7 +367,7 @@ static const struct ata_port_operations ich_pata_ops = { | |||
367 | .irq_clear = ata_bmdma_irq_clear, | 367 | .irq_clear = ata_bmdma_irq_clear, |
368 | .irq_on = ata_irq_on, | 368 | .irq_on = ata_irq_on, |
369 | 369 | ||
370 | .port_start = ata_port_start, | 370 | .port_start = ata_sff_port_start, |
371 | }; | 371 | }; |
372 | 372 | ||
373 | static const struct ata_port_operations piix_sata_ops = { | 373 | static const struct ata_port_operations piix_sata_ops = { |
@@ -385,6 +385,7 @@ static const struct ata_port_operations piix_sata_ops = { | |||
385 | .qc_issue = ata_qc_issue_prot, | 385 | .qc_issue = ata_qc_issue_prot, |
386 | .data_xfer = ata_data_xfer, | 386 | .data_xfer = ata_data_xfer, |
387 | 387 | ||
388 | .mode_filter = ata_pci_default_filter, | ||
388 | .freeze = ata_bmdma_freeze, | 389 | .freeze = ata_bmdma_freeze, |
389 | .thaw = ata_bmdma_thaw, | 390 | .thaw = ata_bmdma_thaw, |
390 | .error_handler = ata_bmdma_error_handler, | 391 | .error_handler = ata_bmdma_error_handler, |
@@ -393,7 +394,7 @@ static const struct ata_port_operations piix_sata_ops = { | |||
393 | .irq_clear = ata_bmdma_irq_clear, | 394 | .irq_clear = ata_bmdma_irq_clear, |
394 | .irq_on = ata_irq_on, | 395 | .irq_on = ata_irq_on, |
395 | 396 | ||
396 | .port_start = ata_port_start, | 397 | .port_start = ata_sff_port_start, |
397 | }; | 398 | }; |
398 | 399 | ||
399 | static const struct ata_port_operations piix_vmw_ops = { | 400 | static const struct ata_port_operations piix_vmw_ops = { |
@@ -425,7 +426,7 @@ static const struct ata_port_operations piix_vmw_ops = { | |||
425 | .irq_clear = ata_bmdma_irq_clear, | 426 | .irq_clear = ata_bmdma_irq_clear, |
426 | .irq_on = ata_irq_on, | 427 | .irq_on = ata_irq_on, |
427 | 428 | ||
428 | .port_start = ata_port_start, | 429 | .port_start = ata_sff_port_start, |
429 | }; | 430 | }; |
430 | 431 | ||
431 | static const struct ata_port_operations piix_sidpr_sata_ops = { | 432 | static const struct ata_port_operations piix_sidpr_sata_ops = { |
@@ -446,6 +447,7 @@ static const struct ata_port_operations piix_sidpr_sata_ops = { | |||
446 | .scr_read = piix_sidpr_scr_read, | 447 | .scr_read = piix_sidpr_scr_read, |
447 | .scr_write = piix_sidpr_scr_write, | 448 | .scr_write = piix_sidpr_scr_write, |
448 | 449 | ||
450 | .mode_filter = ata_pci_default_filter, | ||
449 | .freeze = ata_bmdma_freeze, | 451 | .freeze = ata_bmdma_freeze, |
450 | .thaw = ata_bmdma_thaw, | 452 | .thaw = ata_bmdma_thaw, |
451 | .error_handler = piix_sidpr_error_handler, | 453 | .error_handler = piix_sidpr_error_handler, |
@@ -454,7 +456,7 @@ static const struct ata_port_operations piix_sidpr_sata_ops = { | |||
454 | .irq_clear = ata_bmdma_irq_clear, | 456 | .irq_clear = ata_bmdma_irq_clear, |
455 | .irq_on = ata_irq_on, | 457 | .irq_on = ata_irq_on, |
456 | 458 | ||
457 | .port_start = ata_port_start, | 459 | .port_start = ata_sff_port_start, |
458 | }; | 460 | }; |
459 | 461 | ||
460 | static const struct piix_map_db ich5_map_db = { | 462 | static const struct piix_map_db ich5_map_db = { |
@@ -683,7 +685,6 @@ static struct ata_port_info piix_port_info[] = { | |||
683 | 685 | ||
684 | [piix_pata_vmw] = | 686 | [piix_pata_vmw] = |
685 | { | 687 | { |
686 | .sht = &piix_sht, | ||
687 | .flags = PIIX_PATA_FLAGS, | 688 | .flags = PIIX_PATA_FLAGS, |
688 | .pio_mask = 0x1f, /* pio0-4 */ | 689 | .pio_mask = 0x1f, /* pio0-4 */ |
689 | .mwdma_mask = 0x06, /* mwdma1-2 ?? CHECK 0 should be ok but slow */ | 690 | .mwdma_mask = 0x06, /* mwdma1-2 ?? CHECK 0 should be ok but slow */ |
diff --git a/drivers/ata/pata_artop.c b/drivers/ata/pata_artop.c index 2f8148016971..a238c7bd0bba 100644 --- a/drivers/ata/pata_artop.c +++ b/drivers/ata/pata_artop.c | |||
@@ -367,6 +367,7 @@ static const struct ata_port_operations artop6210_ops = { | |||
367 | static const struct ata_port_operations artop6260_ops = { | 367 | static const struct ata_port_operations artop6260_ops = { |
368 | .set_piomode = artop6260_set_piomode, | 368 | .set_piomode = artop6260_set_piomode, |
369 | .set_dmamode = artop6260_set_dmamode, | 369 | .set_dmamode = artop6260_set_dmamode, |
370 | .mode_filter = ata_pci_default_filter, | ||
370 | 371 | ||
371 | .tf_load = ata_tf_load, | 372 | .tf_load = ata_tf_load, |
372 | .tf_read = ata_tf_read, | 373 | .tf_read = ata_tf_read, |
diff --git a/drivers/ata/pata_bf54x.c b/drivers/ata/pata_bf54x.c index 7f87f105c2f6..146c202d5834 100644 --- a/drivers/ata/pata_bf54x.c +++ b/drivers/ata/pata_bf54x.c | |||
@@ -1409,7 +1409,6 @@ static const struct ata_port_operations bfin_pata_ops = { | |||
1409 | 1409 | ||
1410 | static struct ata_port_info bfin_port_info[] = { | 1410 | static struct ata_port_info bfin_port_info[] = { |
1411 | { | 1411 | { |
1412 | .sht = &bfin_sht, | ||
1413 | .flags = ATA_FLAG_SLAVE_POSS | 1412 | .flags = ATA_FLAG_SLAVE_POSS |
1414 | | ATA_FLAG_MMIO | 1413 | | ATA_FLAG_MMIO |
1415 | | ATA_FLAG_NO_LEGACY, | 1414 | | ATA_FLAG_NO_LEGACY, |
diff --git a/drivers/ata/pata_cmd64x.c b/drivers/ata/pata_cmd64x.c index 1c9a8d97f874..e8c1262341ee 100644 --- a/drivers/ata/pata_cmd64x.c +++ b/drivers/ata/pata_cmd64x.c | |||
@@ -313,7 +313,7 @@ static struct ata_port_operations cmd64x_port_ops = { | |||
313 | .irq_clear = ata_bmdma_irq_clear, | 313 | .irq_clear = ata_bmdma_irq_clear, |
314 | .irq_on = ata_irq_on, | 314 | .irq_on = ata_irq_on, |
315 | 315 | ||
316 | .port_start = ata_port_start, | 316 | .port_start = ata_sff_port_start, |
317 | }; | 317 | }; |
318 | 318 | ||
319 | static struct ata_port_operations cmd646r1_port_ops = { | 319 | static struct ata_port_operations cmd646r1_port_ops = { |
@@ -346,7 +346,7 @@ static struct ata_port_operations cmd646r1_port_ops = { | |||
346 | .irq_clear = ata_bmdma_irq_clear, | 346 | .irq_clear = ata_bmdma_irq_clear, |
347 | .irq_on = ata_irq_on, | 347 | .irq_on = ata_irq_on, |
348 | 348 | ||
349 | .port_start = ata_port_start, | 349 | .port_start = ata_sff_port_start, |
350 | }; | 350 | }; |
351 | 351 | ||
352 | static struct ata_port_operations cmd648_port_ops = { | 352 | static struct ata_port_operations cmd648_port_ops = { |
@@ -379,7 +379,7 @@ static struct ata_port_operations cmd648_port_ops = { | |||
379 | .irq_clear = ata_bmdma_irq_clear, | 379 | .irq_clear = ata_bmdma_irq_clear, |
380 | .irq_on = ata_irq_on, | 380 | .irq_on = ata_irq_on, |
381 | 381 | ||
382 | .port_start = ata_port_start, | 382 | .port_start = ata_sff_port_start, |
383 | }; | 383 | }; |
384 | 384 | ||
385 | static int cmd64x_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | 385 | static int cmd64x_init_one(struct pci_dev *pdev, const struct pci_device_id *id) |
diff --git a/drivers/ata/pata_cs5520.c b/drivers/ata/pata_cs5520.c index dd6b2355fcdc..44ad2c9d488f 100644 --- a/drivers/ata/pata_cs5520.c +++ b/drivers/ata/pata_cs5520.c | |||
@@ -160,6 +160,7 @@ static struct scsi_host_template cs5520_sht = { | |||
160 | static struct ata_port_operations cs5520_port_ops = { | 160 | static struct ata_port_operations cs5520_port_ops = { |
161 | .set_piomode = cs5520_set_piomode, | 161 | .set_piomode = cs5520_set_piomode, |
162 | .set_dmamode = cs5520_set_dmamode, | 162 | .set_dmamode = cs5520_set_dmamode, |
163 | .mode_filter = ata_pci_default_filter, | ||
163 | 164 | ||
164 | .tf_load = ata_tf_load, | 165 | .tf_load = ata_tf_load, |
165 | .tf_read = ata_tf_read, | 166 | .tf_read = ata_tf_read, |
diff --git a/drivers/ata/pata_cs5536.c b/drivers/ata/pata_cs5536.c index 1c4ff9b52b5c..391aa888f8fd 100644 --- a/drivers/ata/pata_cs5536.c +++ b/drivers/ata/pata_cs5536.c | |||
@@ -269,7 +269,7 @@ static struct ata_port_operations cs5536_port_ops = { | |||
269 | .irq_clear = ata_bmdma_irq_clear, | 269 | .irq_clear = ata_bmdma_irq_clear, |
270 | .irq_on = ata_irq_on, | 270 | .irq_on = ata_irq_on, |
271 | 271 | ||
272 | .port_start = ata_port_start, | 272 | .port_start = ata_sff_port_start, |
273 | }; | 273 | }; |
274 | 274 | ||
275 | /** | 275 | /** |
diff --git a/drivers/ata/pata_hpt3x3.c b/drivers/ata/pata_hpt3x3.c index cb8bdb6887de..c09f95a4a0d1 100644 --- a/drivers/ata/pata_hpt3x3.c +++ b/drivers/ata/pata_hpt3x3.c | |||
@@ -189,7 +189,6 @@ static int hpt3x3_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
189 | { | 189 | { |
190 | static int printed_version; | 190 | static int printed_version; |
191 | static const struct ata_port_info info = { | 191 | static const struct ata_port_info info = { |
192 | .sht = &hpt3x3_sht, | ||
193 | .flags = ATA_FLAG_SLAVE_POSS, | 192 | .flags = ATA_FLAG_SLAVE_POSS, |
194 | .pio_mask = 0x1f, | 193 | .pio_mask = 0x1f, |
195 | #if defined(CONFIG_PATA_HPT3X3_DMA) | 194 | #if defined(CONFIG_PATA_HPT3X3_DMA) |
diff --git a/drivers/ata/pata_it8213.c b/drivers/ata/pata_it8213.c index e0c2cc29d0ca..25c49c2e1519 100644 --- a/drivers/ata/pata_it8213.c +++ b/drivers/ata/pata_it8213.c | |||
@@ -250,13 +250,13 @@ static struct scsi_host_template it8213_sht = { | |||
250 | .can_queue = ATA_DEF_QUEUE, | 250 | .can_queue = ATA_DEF_QUEUE, |
251 | .this_id = ATA_SHT_THIS_ID, | 251 | .this_id = ATA_SHT_THIS_ID, |
252 | .sg_tablesize = LIBATA_MAX_PRD, | 252 | .sg_tablesize = LIBATA_MAX_PRD, |
253 | .max_sectors = ATA_MAX_SECTORS, | ||
254 | .cmd_per_lun = ATA_SHT_CMD_PER_LUN, | 253 | .cmd_per_lun = ATA_SHT_CMD_PER_LUN, |
255 | .emulated = ATA_SHT_EMULATED, | 254 | .emulated = ATA_SHT_EMULATED, |
256 | .use_clustering = ATA_SHT_USE_CLUSTERING, | 255 | .use_clustering = ATA_SHT_USE_CLUSTERING, |
257 | .proc_name = DRV_NAME, | 256 | .proc_name = DRV_NAME, |
258 | .dma_boundary = ATA_DMA_BOUNDARY, | 257 | .dma_boundary = ATA_DMA_BOUNDARY, |
259 | .slave_configure = ata_scsi_slave_config, | 258 | .slave_configure = ata_scsi_slave_config, |
259 | .slave_destroy = ata_scsi_slave_destroy, | ||
260 | .bios_param = ata_std_bios_param, | 260 | .bios_param = ata_std_bios_param, |
261 | }; | 261 | }; |
262 | 262 | ||
diff --git a/drivers/ata/pata_ixp4xx_cf.c b/drivers/ata/pata_ixp4xx_cf.c index 83e38cc077e1..6eb8cc9a3f12 100644 --- a/drivers/ata/pata_ixp4xx_cf.c +++ b/drivers/ata/pata_ixp4xx_cf.c | |||
@@ -107,7 +107,6 @@ static struct scsi_host_template ixp4xx_sht = { | |||
107 | 107 | ||
108 | static struct ata_port_operations ixp4xx_port_ops = { | 108 | static struct ata_port_operations ixp4xx_port_ops = { |
109 | .set_mode = ixp4xx_set_mode, | 109 | .set_mode = ixp4xx_set_mode, |
110 | .mode_filter = ata_pci_default_filter, | ||
111 | 110 | ||
112 | .tf_load = ata_tf_load, | 111 | .tf_load = ata_tf_load, |
113 | .tf_read = ata_tf_read, | 112 | .tf_read = ata_tf_read, |
@@ -129,7 +128,7 @@ static struct ata_port_operations ixp4xx_port_ops = { | |||
129 | .irq_clear = ata_noop_irq_clear, | 128 | .irq_clear = ata_noop_irq_clear, |
130 | .irq_on = ata_irq_on, | 129 | .irq_on = ata_irq_on, |
131 | 130 | ||
132 | .port_start = ata_port_start, | 131 | .port_start = ata_sff_port_start, |
133 | }; | 132 | }; |
134 | 133 | ||
135 | static void ixp4xx_setup_port(struct ata_port *ap, | 134 | static void ixp4xx_setup_port(struct ata_port *ap, |
diff --git a/drivers/ata/pata_jmicron.c b/drivers/ata/pata_jmicron.c index 00bbbbd50e97..7d36fa85435a 100644 --- a/drivers/ata/pata_jmicron.c +++ b/drivers/ata/pata_jmicron.c | |||
@@ -148,6 +148,7 @@ static const struct ata_port_operations jmicron_ops = { | |||
148 | .exec_command = ata_exec_command, | 148 | .exec_command = ata_exec_command, |
149 | .dev_select = ata_std_dev_select, | 149 | .dev_select = ata_std_dev_select, |
150 | 150 | ||
151 | .mode_filter = ata_pci_default_filter, | ||
151 | .freeze = ata_bmdma_freeze, | 152 | .freeze = ata_bmdma_freeze, |
152 | .thaw = ata_bmdma_thaw, | 153 | .thaw = ata_bmdma_thaw, |
153 | .error_handler = jmicron_error_handler, | 154 | .error_handler = jmicron_error_handler, |
@@ -168,7 +169,7 @@ static const struct ata_port_operations jmicron_ops = { | |||
168 | .irq_on = ata_irq_on, | 169 | .irq_on = ata_irq_on, |
169 | 170 | ||
170 | /* Generic PATA PCI ATA helpers */ | 171 | /* Generic PATA PCI ATA helpers */ |
171 | .port_start = ata_port_start, | 172 | .port_start = ata_sff_port_start, |
172 | }; | 173 | }; |
173 | 174 | ||
174 | 175 | ||
diff --git a/drivers/ata/pata_marvell.c b/drivers/ata/pata_marvell.c index a81f25d87235..c4ee9b45301f 100644 --- a/drivers/ata/pata_marvell.c +++ b/drivers/ata/pata_marvell.c | |||
@@ -118,6 +118,7 @@ static const struct ata_port_operations marvell_ops = { | |||
118 | .exec_command = ata_exec_command, | 118 | .exec_command = ata_exec_command, |
119 | .dev_select = ata_std_dev_select, | 119 | .dev_select = ata_std_dev_select, |
120 | 120 | ||
121 | .mode_filter = ata_pci_default_filter, | ||
121 | .freeze = ata_bmdma_freeze, | 122 | .freeze = ata_bmdma_freeze, |
122 | .thaw = ata_bmdma_thaw, | 123 | .thaw = ata_bmdma_thaw, |
123 | .error_handler = marvell_error_handler, | 124 | .error_handler = marvell_error_handler, |
diff --git a/drivers/ata/pata_mpc52xx.c b/drivers/ata/pata_mpc52xx.c index d84e0c8ea02f..fefe71dbed1a 100644 --- a/drivers/ata/pata_mpc52xx.c +++ b/drivers/ata/pata_mpc52xx.c | |||
@@ -272,13 +272,13 @@ static struct scsi_host_template mpc52xx_ata_sht = { | |||
272 | .can_queue = ATA_DEF_QUEUE, | 272 | .can_queue = ATA_DEF_QUEUE, |
273 | .this_id = ATA_SHT_THIS_ID, | 273 | .this_id = ATA_SHT_THIS_ID, |
274 | .sg_tablesize = LIBATA_MAX_PRD, | 274 | .sg_tablesize = LIBATA_MAX_PRD, |
275 | .max_sectors = ATA_MAX_SECTORS, | ||
276 | .cmd_per_lun = ATA_SHT_CMD_PER_LUN, | 275 | .cmd_per_lun = ATA_SHT_CMD_PER_LUN, |
277 | .emulated = ATA_SHT_EMULATED, | 276 | .emulated = ATA_SHT_EMULATED, |
278 | .use_clustering = ATA_SHT_USE_CLUSTERING, | 277 | .use_clustering = ATA_SHT_USE_CLUSTERING, |
279 | .proc_name = DRV_NAME, | 278 | .proc_name = DRV_NAME, |
280 | .dma_boundary = ATA_DMA_BOUNDARY, | 279 | .dma_boundary = ATA_DMA_BOUNDARY, |
281 | .slave_configure = ata_scsi_slave_config, | 280 | .slave_configure = ata_scsi_slave_config, |
281 | .slave_destroy = ata_scsi_slave_destroy, | ||
282 | .bios_param = ata_std_bios_param, | 282 | .bios_param = ata_std_bios_param, |
283 | }; | 283 | }; |
284 | 284 | ||
@@ -298,7 +298,7 @@ static struct ata_port_operations mpc52xx_ata_port_ops = { | |||
298 | .data_xfer = ata_data_xfer, | 298 | .data_xfer = ata_data_xfer, |
299 | .irq_clear = ata_noop_irq_clear, | 299 | .irq_clear = ata_noop_irq_clear, |
300 | .irq_on = ata_irq_on, | 300 | .irq_on = ata_irq_on, |
301 | .port_start = ata_port_start, | 301 | .port_start = ata_sff_port_start, |
302 | }; | 302 | }; |
303 | 303 | ||
304 | static int __devinit | 304 | static int __devinit |
diff --git a/drivers/ata/pata_netcell.c b/drivers/ata/pata_netcell.c index 0e4a08e15209..9fd1a84c01d3 100644 --- a/drivers/ata/pata_netcell.c +++ b/drivers/ata/pata_netcell.c | |||
@@ -47,6 +47,7 @@ static const struct ata_port_operations netcell_ops = { | |||
47 | .exec_command = ata_exec_command, | 47 | .exec_command = ata_exec_command, |
48 | .dev_select = ata_std_dev_select, | 48 | .dev_select = ata_std_dev_select, |
49 | 49 | ||
50 | .mode_filter = ata_pci_default_filter, | ||
50 | .freeze = ata_bmdma_freeze, | 51 | .freeze = ata_bmdma_freeze, |
51 | .thaw = ata_bmdma_thaw, | 52 | .thaw = ata_bmdma_thaw, |
52 | .error_handler = ata_bmdma_error_handler, | 53 | .error_handler = ata_bmdma_error_handler, |
diff --git a/drivers/ata/pata_opti.c b/drivers/ata/pata_opti.c index 8f79447b6151..1e865f138d1c 100644 --- a/drivers/ata/pata_opti.c +++ b/drivers/ata/pata_opti.c | |||
@@ -196,18 +196,13 @@ static struct ata_port_operations opti_port_ops = { | |||
196 | .post_internal_cmd = ata_bmdma_post_internal_cmd, | 196 | .post_internal_cmd = ata_bmdma_post_internal_cmd, |
197 | .cable_detect = ata_cable_40wire, | 197 | .cable_detect = ata_cable_40wire, |
198 | 198 | ||
199 | .bmdma_setup = ata_bmdma_setup, | ||
200 | .bmdma_start = ata_bmdma_start, | ||
201 | .bmdma_stop = ata_bmdma_stop, | ||
202 | .bmdma_status = ata_bmdma_status, | ||
203 | |||
204 | .qc_prep = ata_qc_prep, | 199 | .qc_prep = ata_qc_prep, |
205 | .qc_issue = ata_qc_issue_prot, | 200 | .qc_issue = ata_qc_issue_prot, |
206 | 201 | ||
207 | .data_xfer = ata_data_xfer, | 202 | .data_xfer = ata_data_xfer, |
208 | 203 | ||
209 | .irq_handler = ata_interrupt, | 204 | .irq_handler = ata_interrupt, |
210 | .irq_clear = ata_bmdma_irq_clear, | 205 | .irq_clear = ata_noop_irq_clear, |
211 | .irq_on = ata_irq_on, | 206 | .irq_on = ata_irq_on, |
212 | 207 | ||
213 | .port_start = ata_sff_port_start, | 208 | .port_start = ata_sff_port_start, |
diff --git a/drivers/ata/pata_optidma.c b/drivers/ata/pata_optidma.c index be8c421dc2aa..3f9d03599f23 100644 --- a/drivers/ata/pata_optidma.c +++ b/drivers/ata/pata_optidma.c | |||
@@ -370,6 +370,7 @@ static struct scsi_host_template optidma_sht = { | |||
370 | static struct ata_port_operations optidma_port_ops = { | 370 | static struct ata_port_operations optidma_port_ops = { |
371 | .set_piomode = optidma_set_pio_mode, | 371 | .set_piomode = optidma_set_pio_mode, |
372 | .set_dmamode = optidma_set_dma_mode, | 372 | .set_dmamode = optidma_set_dma_mode, |
373 | .mode_filter = ata_pci_default_filter, | ||
373 | 374 | ||
374 | .tf_load = ata_tf_load, | 375 | .tf_load = ata_tf_load, |
375 | .tf_read = ata_tf_read, | 376 | .tf_read = ata_tf_read, |
@@ -404,6 +405,7 @@ static struct ata_port_operations optidma_port_ops = { | |||
404 | static struct ata_port_operations optiplus_port_ops = { | 405 | static struct ata_port_operations optiplus_port_ops = { |
405 | .set_piomode = optiplus_set_pio_mode, | 406 | .set_piomode = optiplus_set_pio_mode, |
406 | .set_dmamode = optiplus_set_dma_mode, | 407 | .set_dmamode = optiplus_set_dma_mode, |
408 | .mode_filter = ata_pci_default_filter, | ||
407 | 409 | ||
408 | .tf_load = ata_tf_load, | 410 | .tf_load = ata_tf_load, |
409 | .tf_read = ata_tf_read, | 411 | .tf_read = ata_tf_read, |
diff --git a/drivers/ata/pata_platform.c b/drivers/ata/pata_platform.c index a8429f5c3006..602f5562d6fb 100644 --- a/drivers/ata/pata_platform.c +++ b/drivers/ata/pata_platform.c | |||
@@ -46,8 +46,6 @@ static int pata_platform_set_mode(struct ata_link *link, struct ata_device **unu | |||
46 | return 0; | 46 | return 0; |
47 | } | 47 | } |
48 | 48 | ||
49 | static int ata_dummy_ret0(struct ata_port *ap) { return 0; } | ||
50 | |||
51 | static struct scsi_host_template pata_platform_sht = { | 49 | static struct scsi_host_template pata_platform_sht = { |
52 | .module = THIS_MODULE, | 50 | .module = THIS_MODULE, |
53 | .name = DRV_NAME, | 51 | .name = DRV_NAME, |
@@ -88,8 +86,6 @@ static struct ata_port_operations pata_platform_port_ops = { | |||
88 | 86 | ||
89 | .irq_clear = ata_noop_irq_clear, | 87 | .irq_clear = ata_noop_irq_clear, |
90 | .irq_on = ata_irq_on, | 88 | .irq_on = ata_irq_on, |
91 | |||
92 | .port_start = ata_dummy_ret0, | ||
93 | }; | 89 | }; |
94 | 90 | ||
95 | static void pata_platform_setup_port(struct ata_ioports *ioaddr, | 91 | static void pata_platform_setup_port(struct ata_ioports *ioaddr, |
diff --git a/drivers/ata/pata_rb500_cf.c b/drivers/ata/pata_rb500_cf.c index 08c32af1c84d..22cb9e1a02f5 100644 --- a/drivers/ata/pata_rb500_cf.c +++ b/drivers/ata/pata_rb500_cf.c | |||
@@ -117,11 +117,6 @@ static irqreturn_t rb500_pata_irq_handler(int irq, void *dev_instance) | |||
117 | return IRQ_HANDLED; | 117 | return IRQ_HANDLED; |
118 | } | 118 | } |
119 | 119 | ||
120 | static int rb500_pata_port_start(struct ata_port *ap) | ||
121 | { | ||
122 | return 0; | ||
123 | } | ||
124 | |||
125 | static struct ata_port_operations rb500_pata_port_ops = { | 120 | static struct ata_port_operations rb500_pata_port_ops = { |
126 | .tf_load = ata_tf_load, | 121 | .tf_load = ata_tf_load, |
127 | .tf_read = ata_tf_read, | 122 | .tf_read = ata_tf_read, |
@@ -138,12 +133,10 @@ static struct ata_port_operations rb500_pata_port_ops = { | |||
138 | .freeze = rb500_pata_freeze, | 133 | .freeze = rb500_pata_freeze, |
139 | .thaw = rb500_pata_thaw, | 134 | .thaw = rb500_pata_thaw, |
140 | .error_handler = ata_bmdma_error_handler, | 135 | .error_handler = ata_bmdma_error_handler, |
136 | .post_internal_cmd = ata_bmdma_post_internal_cmd, | ||
141 | 137 | ||
142 | .irq_handler = rb500_pata_irq_handler, | ||
143 | .irq_clear = ata_noop_irq_clear, | 138 | .irq_clear = ata_noop_irq_clear, |
144 | .irq_on = ata_irq_on, | 139 | .irq_on = ata_irq_on, |
145 | |||
146 | .port_start = rb500_pata_port_start, | ||
147 | }; | 140 | }; |
148 | 141 | ||
149 | /* ------------------------------------------------------------------------ */ | 142 | /* ------------------------------------------------------------------------ */ |
diff --git a/drivers/ata/pata_rz1000.c b/drivers/ata/pata_rz1000.c index ba8a31c55edb..75b252111106 100644 --- a/drivers/ata/pata_rz1000.c +++ b/drivers/ata/pata_rz1000.c | |||
@@ -79,11 +79,6 @@ static struct ata_port_operations rz1000_port_ops = { | |||
79 | .exec_command = ata_exec_command, | 79 | .exec_command = ata_exec_command, |
80 | .dev_select = ata_std_dev_select, | 80 | .dev_select = ata_std_dev_select, |
81 | 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, | 82 | .qc_prep = ata_qc_prep, |
88 | .qc_issue = ata_qc_issue_prot, | 83 | .qc_issue = ata_qc_issue_prot, |
89 | 84 | ||
@@ -96,7 +91,7 @@ static struct ata_port_operations rz1000_port_ops = { | |||
96 | .cable_detect = ata_cable_40wire, | 91 | .cable_detect = ata_cable_40wire, |
97 | 92 | ||
98 | .irq_handler = ata_interrupt, | 93 | .irq_handler = ata_interrupt, |
99 | .irq_clear = ata_bmdma_irq_clear, | 94 | .irq_clear = ata_noop_irq_clear, |
100 | .irq_on = ata_irq_on, | 95 | .irq_on = ata_irq_on, |
101 | 96 | ||
102 | .port_start = ata_sff_port_start, | 97 | .port_start = ata_sff_port_start, |
diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c index 031a512cbaa8..8389ecac62cd 100644 --- a/drivers/ata/sata_fsl.c +++ b/drivers/ata/sata_fsl.c | |||
@@ -1216,6 +1216,7 @@ static const struct ata_port_operations sata_fsl_ops = { | |||
1216 | 1216 | ||
1217 | .tf_read = sata_fsl_tf_read, | 1217 | .tf_read = sata_fsl_tf_read, |
1218 | 1218 | ||
1219 | .qc_defer = ata_std_qc_defer, | ||
1219 | .qc_prep = sata_fsl_qc_prep, | 1220 | .qc_prep = sata_fsl_qc_prep, |
1220 | .qc_issue = sata_fsl_qc_issue, | 1221 | .qc_issue = sata_fsl_qc_issue, |
1221 | .irq_clear = ata_noop_irq_clear, | 1222 | .irq_clear = ata_noop_irq_clear, |
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index b3b3da4eaa03..4685bce745bb 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c | |||
@@ -557,8 +557,6 @@ static const struct ata_port_operations mv5_ops = { | |||
557 | .exec_command = ata_exec_command, | 557 | .exec_command = ata_exec_command, |
558 | .dev_select = ata_std_dev_select, | 558 | .dev_select = ata_std_dev_select, |
559 | 559 | ||
560 | .cable_detect = ata_cable_sata, | ||
561 | |||
562 | .qc_prep = mv_qc_prep, | 560 | .qc_prep = mv_qc_prep, |
563 | .qc_issue = mv_qc_issue, | 561 | .qc_issue = mv_qc_issue, |
564 | .data_xfer = ata_data_xfer, | 562 | .data_xfer = ata_data_xfer, |
@@ -585,8 +583,6 @@ static const struct ata_port_operations mv6_ops = { | |||
585 | .exec_command = ata_exec_command, | 583 | .exec_command = ata_exec_command, |
586 | .dev_select = ata_std_dev_select, | 584 | .dev_select = ata_std_dev_select, |
587 | 585 | ||
588 | .cable_detect = ata_cable_sata, | ||
589 | |||
590 | .qc_prep = mv_qc_prep, | 586 | .qc_prep = mv_qc_prep, |
591 | .qc_issue = mv_qc_issue, | 587 | .qc_issue = mv_qc_issue, |
592 | .data_xfer = ata_data_xfer, | 588 | .data_xfer = ata_data_xfer, |
@@ -613,8 +609,6 @@ static const struct ata_port_operations mv_iie_ops = { | |||
613 | .exec_command = ata_exec_command, | 609 | .exec_command = ata_exec_command, |
614 | .dev_select = ata_std_dev_select, | 610 | .dev_select = ata_std_dev_select, |
615 | 611 | ||
616 | .cable_detect = ata_cable_sata, | ||
617 | |||
618 | .qc_prep = mv_qc_prep_iie, | 612 | .qc_prep = mv_qc_prep_iie, |
619 | .qc_issue = mv_qc_issue, | 613 | .qc_issue = mv_qc_issue, |
620 | .data_xfer = ata_data_xfer, | 614 | .data_xfer = ata_data_xfer, |
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c index 75b76535c720..bd5b6c35ee5d 100644 --- a/drivers/ata/sata_nv.c +++ b/drivers/ata/sata_nv.c | |||
@@ -452,6 +452,7 @@ static const struct ata_port_operations nv_generic_ops = { | |||
452 | .bmdma_status = ata_bmdma_status, | 452 | .bmdma_status = ata_bmdma_status, |
453 | .qc_prep = ata_qc_prep, | 453 | .qc_prep = ata_qc_prep, |
454 | .qc_issue = ata_qc_issue_prot, | 454 | .qc_issue = ata_qc_issue_prot, |
455 | .mode_filter = ata_pci_default_filter, | ||
455 | .freeze = ata_bmdma_freeze, | 456 | .freeze = ata_bmdma_freeze, |
456 | .thaw = ata_bmdma_thaw, | 457 | .thaw = ata_bmdma_thaw, |
457 | .error_handler = nv_error_handler, | 458 | .error_handler = nv_error_handler, |
@@ -461,7 +462,7 @@ static const struct ata_port_operations nv_generic_ops = { | |||
461 | .irq_on = ata_irq_on, | 462 | .irq_on = ata_irq_on, |
462 | .scr_read = nv_scr_read, | 463 | .scr_read = nv_scr_read, |
463 | .scr_write = nv_scr_write, | 464 | .scr_write = nv_scr_write, |
464 | .port_start = ata_port_start, | 465 | .port_start = ata_sff_port_start, |
465 | }; | 466 | }; |
466 | 467 | ||
467 | static const struct ata_port_operations nv_nf2_ops = { | 468 | static const struct ata_port_operations nv_nf2_ops = { |
@@ -476,6 +477,7 @@ static const struct ata_port_operations nv_nf2_ops = { | |||
476 | .bmdma_status = ata_bmdma_status, | 477 | .bmdma_status = ata_bmdma_status, |
477 | .qc_prep = ata_qc_prep, | 478 | .qc_prep = ata_qc_prep, |
478 | .qc_issue = ata_qc_issue_prot, | 479 | .qc_issue = ata_qc_issue_prot, |
480 | .mode_filter = ata_pci_default_filter, | ||
479 | .freeze = nv_nf2_freeze, | 481 | .freeze = nv_nf2_freeze, |
480 | .thaw = nv_nf2_thaw, | 482 | .thaw = nv_nf2_thaw, |
481 | .error_handler = nv_error_handler, | 483 | .error_handler = nv_error_handler, |
@@ -485,7 +487,7 @@ static const struct ata_port_operations nv_nf2_ops = { | |||
485 | .irq_on = ata_irq_on, | 487 | .irq_on = ata_irq_on, |
486 | .scr_read = nv_scr_read, | 488 | .scr_read = nv_scr_read, |
487 | .scr_write = nv_scr_write, | 489 | .scr_write = nv_scr_write, |
488 | .port_start = ata_port_start, | 490 | .port_start = ata_sff_port_start, |
489 | }; | 491 | }; |
490 | 492 | ||
491 | static const struct ata_port_operations nv_ck804_ops = { | 493 | static const struct ata_port_operations nv_ck804_ops = { |
@@ -500,6 +502,7 @@ static const struct ata_port_operations nv_ck804_ops = { | |||
500 | .bmdma_status = ata_bmdma_status, | 502 | .bmdma_status = ata_bmdma_status, |
501 | .qc_prep = ata_qc_prep, | 503 | .qc_prep = ata_qc_prep, |
502 | .qc_issue = ata_qc_issue_prot, | 504 | .qc_issue = ata_qc_issue_prot, |
505 | .mode_filter = ata_pci_default_filter, | ||
503 | .freeze = nv_ck804_freeze, | 506 | .freeze = nv_ck804_freeze, |
504 | .thaw = nv_ck804_thaw, | 507 | .thaw = nv_ck804_thaw, |
505 | .error_handler = nv_error_handler, | 508 | .error_handler = nv_error_handler, |
@@ -509,7 +512,7 @@ static const struct ata_port_operations nv_ck804_ops = { | |||
509 | .irq_on = ata_irq_on, | 512 | .irq_on = ata_irq_on, |
510 | .scr_read = nv_scr_read, | 513 | .scr_read = nv_scr_read, |
511 | .scr_write = nv_scr_write, | 514 | .scr_write = nv_scr_write, |
512 | .port_start = ata_port_start, | 515 | .port_start = ata_sff_port_start, |
513 | .host_stop = nv_ck804_host_stop, | 516 | .host_stop = nv_ck804_host_stop, |
514 | }; | 517 | }; |
515 | 518 | ||
@@ -527,6 +530,7 @@ static const struct ata_port_operations nv_adma_ops = { | |||
527 | .qc_defer = ata_std_qc_defer, | 530 | .qc_defer = ata_std_qc_defer, |
528 | .qc_prep = nv_adma_qc_prep, | 531 | .qc_prep = nv_adma_qc_prep, |
529 | .qc_issue = nv_adma_qc_issue, | 532 | .qc_issue = nv_adma_qc_issue, |
533 | .mode_filter = ata_pci_default_filter, | ||
530 | .freeze = nv_adma_freeze, | 534 | .freeze = nv_adma_freeze, |
531 | .thaw = nv_adma_thaw, | 535 | .thaw = nv_adma_thaw, |
532 | .error_handler = nv_adma_error_handler, | 536 | .error_handler = nv_adma_error_handler, |
@@ -558,6 +562,7 @@ static const struct ata_port_operations nv_swncq_ops = { | |||
558 | .qc_defer = ata_std_qc_defer, | 562 | .qc_defer = ata_std_qc_defer, |
559 | .qc_prep = nv_swncq_qc_prep, | 563 | .qc_prep = nv_swncq_qc_prep, |
560 | .qc_issue = nv_swncq_qc_issue, | 564 | .qc_issue = nv_swncq_qc_issue, |
565 | .mode_filter = ata_pci_default_filter, | ||
561 | .freeze = nv_mcp55_freeze, | 566 | .freeze = nv_mcp55_freeze, |
562 | .thaw = nv_mcp55_thaw, | 567 | .thaw = nv_mcp55_thaw, |
563 | .error_handler = nv_swncq_error_handler, | 568 | .error_handler = nv_swncq_error_handler, |
diff --git a/drivers/ata/sata_sil.c b/drivers/ata/sata_sil.c index 7052915a31b6..53f0bae3be43 100644 --- a/drivers/ata/sata_sil.c +++ b/drivers/ata/sata_sil.c | |||
@@ -192,6 +192,7 @@ static const struct ata_port_operations sil_ops = { | |||
192 | .exec_command = ata_exec_command, | 192 | .exec_command = ata_exec_command, |
193 | .dev_select = ata_std_dev_select, | 193 | .dev_select = ata_std_dev_select, |
194 | .set_mode = sil_set_mode, | 194 | .set_mode = sil_set_mode, |
195 | .mode_filter = ata_pci_default_filter, | ||
195 | .bmdma_setup = ata_bmdma_setup, | 196 | .bmdma_setup = ata_bmdma_setup, |
196 | .bmdma_start = ata_bmdma_start, | 197 | .bmdma_start = ata_bmdma_start, |
197 | .bmdma_stop = ata_bmdma_stop, | 198 | .bmdma_stop = ata_bmdma_stop, |
@@ -207,7 +208,7 @@ static const struct ata_port_operations sil_ops = { | |||
207 | .irq_on = ata_irq_on, | 208 | .irq_on = ata_irq_on, |
208 | .scr_read = sil_scr_read, | 209 | .scr_read = sil_scr_read, |
209 | .scr_write = sil_scr_write, | 210 | .scr_write = sil_scr_write, |
210 | .port_start = ata_port_start, | 211 | .port_start = ata_sff_port_start, |
211 | }; | 212 | }; |
212 | 213 | ||
213 | static const struct ata_port_info sil_port_info[] = { | 214 | static const struct ata_port_info sil_port_info[] = { |
diff --git a/drivers/ata/sata_sis.c b/drivers/ata/sata_sis.c index a01260a56432..a8adef9786b7 100644 --- a/drivers/ata/sata_sis.c +++ b/drivers/ata/sata_sis.c | |||
@@ -116,6 +116,7 @@ static const struct ata_port_operations sis_ops = { | |||
116 | .qc_prep = ata_qc_prep, | 116 | .qc_prep = ata_qc_prep, |
117 | .qc_issue = ata_qc_issue_prot, | 117 | .qc_issue = ata_qc_issue_prot, |
118 | .data_xfer = ata_data_xfer, | 118 | .data_xfer = ata_data_xfer, |
119 | .mode_filter = ata_pci_default_filter, | ||
119 | .freeze = ata_bmdma_freeze, | 120 | .freeze = ata_bmdma_freeze, |
120 | .thaw = ata_bmdma_thaw, | 121 | .thaw = ata_bmdma_thaw, |
121 | .error_handler = ata_bmdma_error_handler, | 122 | .error_handler = ata_bmdma_error_handler, |
@@ -124,7 +125,7 @@ static const struct ata_port_operations sis_ops = { | |||
124 | .irq_on = ata_irq_on, | 125 | .irq_on = ata_irq_on, |
125 | .scr_read = sis_scr_read, | 126 | .scr_read = sis_scr_read, |
126 | .scr_write = sis_scr_write, | 127 | .scr_write = sis_scr_write, |
127 | .port_start = ata_port_start, | 128 | .port_start = ata_sff_port_start, |
128 | }; | 129 | }; |
129 | 130 | ||
130 | static const struct ata_port_info sis_port_info = { | 131 | static const struct ata_port_info sis_port_info = { |
diff --git a/drivers/ata/sata_svw.c b/drivers/ata/sata_svw.c index 019e367b59fc..aa690142fa90 100644 --- a/drivers/ata/sata_svw.c +++ b/drivers/ata/sata_svw.c | |||
@@ -362,6 +362,7 @@ static const struct ata_port_operations k2_sata_ops = { | |||
362 | .qc_prep = ata_qc_prep, | 362 | .qc_prep = ata_qc_prep, |
363 | .qc_issue = ata_qc_issue_prot, | 363 | .qc_issue = ata_qc_issue_prot, |
364 | .data_xfer = ata_data_xfer, | 364 | .data_xfer = ata_data_xfer, |
365 | .mode_filter = ata_pci_default_filter, | ||
365 | .freeze = ata_bmdma_freeze, | 366 | .freeze = ata_bmdma_freeze, |
366 | .thaw = ata_bmdma_thaw, | 367 | .thaw = ata_bmdma_thaw, |
367 | .error_handler = ata_bmdma_error_handler, | 368 | .error_handler = ata_bmdma_error_handler, |
@@ -370,7 +371,7 @@ static const struct ata_port_operations k2_sata_ops = { | |||
370 | .irq_on = ata_irq_on, | 371 | .irq_on = ata_irq_on, |
371 | .scr_read = k2_sata_scr_read, | 372 | .scr_read = k2_sata_scr_read, |
372 | .scr_write = k2_sata_scr_write, | 373 | .scr_write = k2_sata_scr_write, |
373 | .port_start = ata_port_start, | 374 | .port_start = ata_sff_port_start, |
374 | }; | 375 | }; |
375 | 376 | ||
376 | static const struct ata_port_info k2_port_info[] = { | 377 | static const struct ata_port_info k2_port_info[] = { |
diff --git a/drivers/ata/sata_uli.c b/drivers/ata/sata_uli.c index e710e71b7b92..f7fc0450478b 100644 --- a/drivers/ata/sata_uli.c +++ b/drivers/ata/sata_uli.c | |||
@@ -108,6 +108,7 @@ static const struct ata_port_operations uli_ops = { | |||
108 | .qc_issue = ata_qc_issue_prot, | 108 | .qc_issue = ata_qc_issue_prot, |
109 | .data_xfer = ata_data_xfer, | 109 | .data_xfer = ata_data_xfer, |
110 | 110 | ||
111 | .mode_filter = ata_pci_default_filter, | ||
111 | .freeze = ata_bmdma_freeze, | 112 | .freeze = ata_bmdma_freeze, |
112 | .thaw = ata_bmdma_thaw, | 113 | .thaw = ata_bmdma_thaw, |
113 | .error_handler = ata_bmdma_error_handler, | 114 | .error_handler = ata_bmdma_error_handler, |
@@ -119,7 +120,7 @@ static const struct ata_port_operations uli_ops = { | |||
119 | .scr_read = uli_scr_read, | 120 | .scr_read = uli_scr_read, |
120 | .scr_write = uli_scr_write, | 121 | .scr_write = uli_scr_write, |
121 | 122 | ||
122 | .port_start = ata_port_start, | 123 | .port_start = ata_sff_port_start, |
123 | }; | 124 | }; |
124 | 125 | ||
125 | static const struct ata_port_info uli_port_info = { | 126 | static const struct ata_port_info uli_port_info = { |
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 = { |
diff --git a/drivers/ata/sata_vsc.c b/drivers/ata/sata_vsc.c index 95ae3ed24a9d..099a2ba4cd4f 100644 --- a/drivers/ata/sata_vsc.c +++ b/drivers/ata/sata_vsc.c | |||
@@ -331,6 +331,7 @@ static const struct ata_port_operations vsc_sata_ops = { | |||
331 | .qc_prep = ata_qc_prep, | 331 | .qc_prep = ata_qc_prep, |
332 | .qc_issue = ata_qc_issue_prot, | 332 | .qc_issue = ata_qc_issue_prot, |
333 | .data_xfer = ata_data_xfer, | 333 | .data_xfer = ata_data_xfer, |
334 | .mode_filter = ata_pci_default_filter, | ||
334 | .freeze = vsc_freeze, | 335 | .freeze = vsc_freeze, |
335 | .thaw = vsc_thaw, | 336 | .thaw = vsc_thaw, |
336 | .error_handler = ata_bmdma_error_handler, | 337 | .error_handler = ata_bmdma_error_handler, |
@@ -339,7 +340,7 @@ static const struct ata_port_operations vsc_sata_ops = { | |||
339 | .irq_on = ata_irq_on, | 340 | .irq_on = ata_irq_on, |
340 | .scr_read = vsc_sata_scr_read, | 341 | .scr_read = vsc_sata_scr_read, |
341 | .scr_write = vsc_sata_scr_write, | 342 | .scr_write = vsc_sata_scr_write, |
342 | .port_start = ata_port_start, | 343 | .port_start = ata_sff_port_start, |
343 | }; | 344 | }; |
344 | 345 | ||
345 | static void __devinit vsc_sata_setup_port(struct ata_ioports *port, | 346 | static void __devinit vsc_sata_setup_port(struct ata_ioports *port, |