Commit 6bd99b4e authored by Tejun Heo's avatar Tejun Heo Committed by Jeff Garzik

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: default avatarTejun Heo <htejun@gmail.com>
parent 358f9a77
...@@ -336,6 +336,8 @@ static const struct ata_port_operations ahci_vt8251_ops = { ...@@ -336,6 +336,8 @@ static const struct ata_port_operations ahci_vt8251_ops = {
.check_altstatus = ahci_check_status, .check_altstatus = ahci_check_status,
.dev_select = ata_noop_dev_select, .dev_select = ata_noop_dev_select,
.dev_config = ahci_dev_config,
.tf_read = ahci_tf_read, .tf_read = ahci_tf_read,
.qc_defer = sata_pmp_qc_defer_cmd_switch, .qc_defer = sata_pmp_qc_defer_cmd_switch,
...@@ -360,6 +362,8 @@ static const struct ata_port_operations ahci_vt8251_ops = { ...@@ -360,6 +362,8 @@ static const struct ata_port_operations ahci_vt8251_ops = {
.port_suspend = ahci_port_suspend, .port_suspend = ahci_port_suspend,
.port_resume = ahci_port_resume, .port_resume = ahci_port_resume,
#endif #endif
.enable_pm = ahci_enable_alpm,
.disable_pm = ahci_disable_alpm,
.port_start = ahci_port_start, .port_start = ahci_port_start,
.port_stop = ahci_port_stop, .port_stop = ahci_port_stop,
...@@ -370,6 +374,8 @@ static const struct ata_port_operations ahci_p5wdh_ops = { ...@@ -370,6 +374,8 @@ static const struct ata_port_operations ahci_p5wdh_ops = {
.check_altstatus = ahci_check_status, .check_altstatus = ahci_check_status,
.dev_select = ata_noop_dev_select, .dev_select = ata_noop_dev_select,
.dev_config = ahci_dev_config,
.tf_read = ahci_tf_read, .tf_read = ahci_tf_read,
.qc_defer = sata_pmp_qc_defer_cmd_switch, .qc_defer = sata_pmp_qc_defer_cmd_switch,
...@@ -394,6 +400,8 @@ static const struct ata_port_operations ahci_p5wdh_ops = { ...@@ -394,6 +400,8 @@ static const struct ata_port_operations ahci_p5wdh_ops = {
.port_suspend = ahci_port_suspend, .port_suspend = ahci_port_suspend,
.port_resume = ahci_port_resume, .port_resume = ahci_port_resume,
#endif #endif
.enable_pm = ahci_enable_alpm,
.disable_pm = ahci_disable_alpm,
.port_start = ahci_port_start, .port_start = ahci_port_start,
.port_stop = ahci_port_stop, .port_stop = ahci_port_stop,
......
...@@ -114,6 +114,7 @@ static struct scsi_host_template generic_sht = { ...@@ -114,6 +114,7 @@ static struct scsi_host_template generic_sht = {
static struct ata_port_operations generic_port_ops = { static struct ata_port_operations generic_port_ops = {
.set_mode = generic_set_mode, .set_mode = generic_set_mode,
.mode_filter = ata_pci_default_filter,
.tf_load = ata_tf_load, .tf_load = ata_tf_load,
.tf_read = ata_tf_read, .tf_read = ata_tf_read,
......
...@@ -336,7 +336,7 @@ static const struct ata_port_operations piix_pata_ops = { ...@@ -336,7 +336,7 @@ static const struct ata_port_operations piix_pata_ops = {
.irq_clear = ata_bmdma_irq_clear, .irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static const struct ata_port_operations ich_pata_ops = { static const struct ata_port_operations ich_pata_ops = {
...@@ -367,7 +367,7 @@ static const struct ata_port_operations ich_pata_ops = { ...@@ -367,7 +367,7 @@ static const struct ata_port_operations ich_pata_ops = {
.irq_clear = ata_bmdma_irq_clear, .irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static const struct ata_port_operations piix_sata_ops = { static const struct ata_port_operations piix_sata_ops = {
...@@ -385,6 +385,7 @@ static const struct ata_port_operations piix_sata_ops = { ...@@ -385,6 +385,7 @@ static const struct ata_port_operations piix_sata_ops = {
.qc_issue = ata_qc_issue_prot, .qc_issue = ata_qc_issue_prot,
.data_xfer = ata_data_xfer, .data_xfer = ata_data_xfer,
.mode_filter = ata_pci_default_filter,
.freeze = ata_bmdma_freeze, .freeze = ata_bmdma_freeze,
.thaw = ata_bmdma_thaw, .thaw = ata_bmdma_thaw,
.error_handler = ata_bmdma_error_handler, .error_handler = ata_bmdma_error_handler,
...@@ -393,7 +394,7 @@ static const struct ata_port_operations piix_sata_ops = { ...@@ -393,7 +394,7 @@ static const struct ata_port_operations piix_sata_ops = {
.irq_clear = ata_bmdma_irq_clear, .irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static const struct ata_port_operations piix_vmw_ops = { static const struct ata_port_operations piix_vmw_ops = {
...@@ -425,7 +426,7 @@ static const struct ata_port_operations piix_vmw_ops = { ...@@ -425,7 +426,7 @@ static const struct ata_port_operations piix_vmw_ops = {
.irq_clear = ata_bmdma_irq_clear, .irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static const struct ata_port_operations piix_sidpr_sata_ops = { 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,6 +447,7 @@ static const struct ata_port_operations piix_sidpr_sata_ops = {
.scr_read = piix_sidpr_scr_read, .scr_read = piix_sidpr_scr_read,
.scr_write = piix_sidpr_scr_write, .scr_write = piix_sidpr_scr_write,
.mode_filter = ata_pci_default_filter,
.freeze = ata_bmdma_freeze, .freeze = ata_bmdma_freeze,
.thaw = ata_bmdma_thaw, .thaw = ata_bmdma_thaw,
.error_handler = piix_sidpr_error_handler, .error_handler = piix_sidpr_error_handler,
...@@ -454,7 +456,7 @@ static const struct ata_port_operations piix_sidpr_sata_ops = { ...@@ -454,7 +456,7 @@ static const struct ata_port_operations piix_sidpr_sata_ops = {
.irq_clear = ata_bmdma_irq_clear, .irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static const struct piix_map_db ich5_map_db = { static const struct piix_map_db ich5_map_db = {
...@@ -683,7 +685,6 @@ static struct ata_port_info piix_port_info[] = { ...@@ -683,7 +685,6 @@ static struct ata_port_info piix_port_info[] = {
[piix_pata_vmw] = [piix_pata_vmw] =
{ {
.sht = &piix_sht,
.flags = PIIX_PATA_FLAGS, .flags = PIIX_PATA_FLAGS,
.pio_mask = 0x1f, /* pio0-4 */ .pio_mask = 0x1f, /* pio0-4 */
.mwdma_mask = 0x06, /* mwdma1-2 ?? CHECK 0 should be ok but slow */ .mwdma_mask = 0x06, /* mwdma1-2 ?? CHECK 0 should be ok but slow */
......
...@@ -367,6 +367,7 @@ static const struct ata_port_operations artop6210_ops = { ...@@ -367,6 +367,7 @@ static const struct ata_port_operations artop6210_ops = {
static const struct ata_port_operations artop6260_ops = { static const struct ata_port_operations artop6260_ops = {
.set_piomode = artop6260_set_piomode, .set_piomode = artop6260_set_piomode,
.set_dmamode = artop6260_set_dmamode, .set_dmamode = artop6260_set_dmamode,
.mode_filter = ata_pci_default_filter,
.tf_load = ata_tf_load, .tf_load = ata_tf_load,
.tf_read = ata_tf_read, .tf_read = ata_tf_read,
......
...@@ -1409,7 +1409,6 @@ static const struct ata_port_operations bfin_pata_ops = { ...@@ -1409,7 +1409,6 @@ static const struct ata_port_operations bfin_pata_ops = {
static struct ata_port_info bfin_port_info[] = { static struct ata_port_info bfin_port_info[] = {
{ {
.sht = &bfin_sht,
.flags = ATA_FLAG_SLAVE_POSS .flags = ATA_FLAG_SLAVE_POSS
| ATA_FLAG_MMIO | ATA_FLAG_MMIO
| ATA_FLAG_NO_LEGACY, | ATA_FLAG_NO_LEGACY,
......
...@@ -313,7 +313,7 @@ static struct ata_port_operations cmd64x_port_ops = { ...@@ -313,7 +313,7 @@ static struct ata_port_operations cmd64x_port_ops = {
.irq_clear = ata_bmdma_irq_clear, .irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static struct ata_port_operations cmd646r1_port_ops = { static struct ata_port_operations cmd646r1_port_ops = {
...@@ -346,7 +346,7 @@ static struct ata_port_operations cmd646r1_port_ops = { ...@@ -346,7 +346,7 @@ static struct ata_port_operations cmd646r1_port_ops = {
.irq_clear = ata_bmdma_irq_clear, .irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static struct ata_port_operations cmd648_port_ops = { static struct ata_port_operations cmd648_port_ops = {
...@@ -379,7 +379,7 @@ static struct ata_port_operations cmd648_port_ops = { ...@@ -379,7 +379,7 @@ static struct ata_port_operations cmd648_port_ops = {
.irq_clear = ata_bmdma_irq_clear, .irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static int cmd64x_init_one(struct pci_dev *pdev, const struct pci_device_id *id) static int cmd64x_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
......
...@@ -160,6 +160,7 @@ static struct scsi_host_template cs5520_sht = { ...@@ -160,6 +160,7 @@ static struct scsi_host_template cs5520_sht = {
static struct ata_port_operations cs5520_port_ops = { static struct ata_port_operations cs5520_port_ops = {
.set_piomode = cs5520_set_piomode, .set_piomode = cs5520_set_piomode,
.set_dmamode = cs5520_set_dmamode, .set_dmamode = cs5520_set_dmamode,
.mode_filter = ata_pci_default_filter,
.tf_load = ata_tf_load, .tf_load = ata_tf_load,
.tf_read = ata_tf_read, .tf_read = ata_tf_read,
......
...@@ -269,7 +269,7 @@ static struct ata_port_operations cs5536_port_ops = { ...@@ -269,7 +269,7 @@ static struct ata_port_operations cs5536_port_ops = {
.irq_clear = ata_bmdma_irq_clear, .irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
/** /**
......
...@@ -189,7 +189,6 @@ static int hpt3x3_init_one(struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -189,7 +189,6 @@ static int hpt3x3_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
{ {
static int printed_version; static int printed_version;
static const struct ata_port_info info = { static const struct ata_port_info info = {
.sht = &hpt3x3_sht,
.flags = ATA_FLAG_SLAVE_POSS, .flags = ATA_FLAG_SLAVE_POSS,
.pio_mask = 0x1f, .pio_mask = 0x1f,
#if defined(CONFIG_PATA_HPT3X3_DMA) #if defined(CONFIG_PATA_HPT3X3_DMA)
......
...@@ -250,13 +250,13 @@ static struct scsi_host_template it8213_sht = { ...@@ -250,13 +250,13 @@ static struct scsi_host_template it8213_sht = {
.can_queue = ATA_DEF_QUEUE, .can_queue = ATA_DEF_QUEUE,
.this_id = ATA_SHT_THIS_ID, .this_id = ATA_SHT_THIS_ID,
.sg_tablesize = LIBATA_MAX_PRD, .sg_tablesize = LIBATA_MAX_PRD,
.max_sectors = ATA_MAX_SECTORS,
.cmd_per_lun = ATA_SHT_CMD_PER_LUN, .cmd_per_lun = ATA_SHT_CMD_PER_LUN,
.emulated = ATA_SHT_EMULATED, .emulated = ATA_SHT_EMULATED,
.use_clustering = ATA_SHT_USE_CLUSTERING, .use_clustering = ATA_SHT_USE_CLUSTERING,
.proc_name = DRV_NAME, .proc_name = DRV_NAME,
.dma_boundary = ATA_DMA_BOUNDARY, .dma_boundary = ATA_DMA_BOUNDARY,
.slave_configure = ata_scsi_slave_config, .slave_configure = ata_scsi_slave_config,
.slave_destroy = ata_scsi_slave_destroy,
.bios_param = ata_std_bios_param, .bios_param = ata_std_bios_param,
}; };
......
...@@ -107,7 +107,6 @@ static struct scsi_host_template ixp4xx_sht = { ...@@ -107,7 +107,6 @@ static struct scsi_host_template ixp4xx_sht = {
static struct ata_port_operations ixp4xx_port_ops = { static struct ata_port_operations ixp4xx_port_ops = {
.set_mode = ixp4xx_set_mode, .set_mode = ixp4xx_set_mode,
.mode_filter = ata_pci_default_filter,
.tf_load = ata_tf_load, .tf_load = ata_tf_load,
.tf_read = ata_tf_read, .tf_read = ata_tf_read,
...@@ -129,7 +128,7 @@ static struct ata_port_operations ixp4xx_port_ops = { ...@@ -129,7 +128,7 @@ static struct ata_port_operations ixp4xx_port_ops = {
.irq_clear = ata_noop_irq_clear, .irq_clear = ata_noop_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static void ixp4xx_setup_port(struct ata_port *ap, static void ixp4xx_setup_port(struct ata_port *ap,
......
...@@ -148,6 +148,7 @@ static const struct ata_port_operations jmicron_ops = { ...@@ -148,6 +148,7 @@ static const struct ata_port_operations jmicron_ops = {
.exec_command = ata_exec_command, .exec_command = ata_exec_command,
.dev_select = ata_std_dev_select, .dev_select = ata_std_dev_select,
.mode_filter = ata_pci_default_filter,
.freeze = ata_bmdma_freeze, .freeze = ata_bmdma_freeze,
.thaw = ata_bmdma_thaw, .thaw = ata_bmdma_thaw,
.error_handler = jmicron_error_handler, .error_handler = jmicron_error_handler,
...@@ -168,7 +169,7 @@ static const struct ata_port_operations jmicron_ops = { ...@@ -168,7 +169,7 @@ static const struct ata_port_operations jmicron_ops = {
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
/* Generic PATA PCI ATA helpers */ /* Generic PATA PCI ATA helpers */
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
......
...@@ -118,6 +118,7 @@ static const struct ata_port_operations marvell_ops = { ...@@ -118,6 +118,7 @@ static const struct ata_port_operations marvell_ops = {
.exec_command = ata_exec_command, .exec_command = ata_exec_command,
.dev_select = ata_std_dev_select, .dev_select = ata_std_dev_select,
.mode_filter = ata_pci_default_filter,
.freeze = ata_bmdma_freeze, .freeze = ata_bmdma_freeze,
.thaw = ata_bmdma_thaw, .thaw = ata_bmdma_thaw,
.error_handler = marvell_error_handler, .error_handler = marvell_error_handler,
......
...@@ -272,13 +272,13 @@ static struct scsi_host_template mpc52xx_ata_sht = { ...@@ -272,13 +272,13 @@ static struct scsi_host_template mpc52xx_ata_sht = {
.can_queue = ATA_DEF_QUEUE, .can_queue = ATA_DEF_QUEUE,
.this_id = ATA_SHT_THIS_ID, .this_id = ATA_SHT_THIS_ID,
.sg_tablesize = LIBATA_MAX_PRD, .sg_tablesize = LIBATA_MAX_PRD,
.max_sectors = ATA_MAX_SECTORS,
.cmd_per_lun = ATA_SHT_CMD_PER_LUN, .cmd_per_lun = ATA_SHT_CMD_PER_LUN,
.emulated = ATA_SHT_EMULATED, .emulated = ATA_SHT_EMULATED,
.use_clustering = ATA_SHT_USE_CLUSTERING, .use_clustering = ATA_SHT_USE_CLUSTERING,
.proc_name = DRV_NAME, .proc_name = DRV_NAME,
.dma_boundary = ATA_DMA_BOUNDARY, .dma_boundary = ATA_DMA_BOUNDARY,
.slave_configure = ata_scsi_slave_config, .slave_configure = ata_scsi_slave_config,
.slave_destroy = ata_scsi_slave_destroy,
.bios_param = ata_std_bios_param, .bios_param = ata_std_bios_param,
}; };
...@@ -298,7 +298,7 @@ static struct ata_port_operations mpc52xx_ata_port_ops = { ...@@ -298,7 +298,7 @@ static struct ata_port_operations mpc52xx_ata_port_ops = {
.data_xfer = ata_data_xfer, .data_xfer = ata_data_xfer,
.irq_clear = ata_noop_irq_clear, .irq_clear = ata_noop_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static int __devinit static int __devinit
......
...@@ -47,6 +47,7 @@ static const struct ata_port_operations netcell_ops = { ...@@ -47,6 +47,7 @@ static const struct ata_port_operations netcell_ops = {
.exec_command = ata_exec_command, .exec_command = ata_exec_command,
.dev_select = ata_std_dev_select, .dev_select = ata_std_dev_select,
.mode_filter = ata_pci_default_filter,
.freeze = ata_bmdma_freeze, .freeze = ata_bmdma_freeze,
.thaw = ata_bmdma_thaw, .thaw = ata_bmdma_thaw,
.error_handler = ata_bmdma_error_handler, .error_handler = ata_bmdma_error_handler,
......
...@@ -196,18 +196,13 @@ static struct ata_port_operations opti_port_ops = { ...@@ -196,18 +196,13 @@ static struct ata_port_operations opti_port_ops = {
.post_internal_cmd = ata_bmdma_post_internal_cmd, .post_internal_cmd = ata_bmdma_post_internal_cmd,
.cable_detect = ata_cable_40wire, .cable_detect = ata_cable_40wire,
.bmdma_setup = ata_bmdma_setup,
.bmdma_start = ata_bmdma_start,
.bmdma_stop = ata_bmdma_stop,
.bmdma_status = ata_bmdma_status,
.qc_prep = ata_qc_prep, .qc_prep = ata_qc_prep,
.qc_issue = ata_qc_issue_prot, .qc_issue = ata_qc_issue_prot,
.data_xfer = ata_data_xfer, .data_xfer = ata_data_xfer,
.irq_handler = ata_interrupt, .irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear, .irq_clear = ata_noop_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_sff_port_start, .port_start = ata_sff_port_start,
......
...@@ -370,6 +370,7 @@ static struct scsi_host_template optidma_sht = { ...@@ -370,6 +370,7 @@ static struct scsi_host_template optidma_sht = {
static struct ata_port_operations optidma_port_ops = { static struct ata_port_operations optidma_port_ops = {
.set_piomode = optidma_set_pio_mode, .set_piomode = optidma_set_pio_mode,
.set_dmamode = optidma_set_dma_mode, .set_dmamode = optidma_set_dma_mode,
.mode_filter = ata_pci_default_filter,
.tf_load = ata_tf_load, .tf_load = ata_tf_load,
.tf_read = ata_tf_read, .tf_read = ata_tf_read,
...@@ -404,6 +405,7 @@ static struct ata_port_operations optidma_port_ops = { ...@@ -404,6 +405,7 @@ static struct ata_port_operations optidma_port_ops = {
static struct ata_port_operations optiplus_port_ops = { static struct ata_port_operations optiplus_port_ops = {
.set_piomode = optiplus_set_pio_mode, .set_piomode = optiplus_set_pio_mode,
.set_dmamode = optiplus_set_dma_mode, .set_dmamode = optiplus_set_dma_mode,
.mode_filter = ata_pci_default_filter,
.tf_load = ata_tf_load, .tf_load = ata_tf_load,
.tf_read = ata_tf_read, .tf_read = ata_tf_read,
......
...@@ -46,8 +46,6 @@ static int pata_platform_set_mode(struct ata_link *link, struct ata_device **unu ...@@ -46,8 +46,6 @@ static int pata_platform_set_mode(struct ata_link *link, struct ata_device **unu
return 0; return 0;
} }
static int ata_dummy_ret0(struct ata_port *ap) { return 0; }
static struct scsi_host_template pata_platform_sht = { static struct scsi_host_template pata_platform_sht = {
.module = THIS_MODULE, .module = THIS_MODULE,
.name = DRV_NAME, .name = DRV_NAME,
...@@ -88,8 +86,6 @@ static struct ata_port_operations pata_platform_port_ops = { ...@@ -88,8 +86,6 @@ static struct ata_port_operations pata_platform_port_ops = {
.irq_clear = ata_noop_irq_clear, .irq_clear = ata_noop_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_dummy_ret0,
}; };
static void pata_platform_setup_port(struct ata_ioports *ioaddr, static void pata_platform_setup_port(struct ata_ioports *ioaddr,
......
...@@ -117,11 +117,6 @@ static irqreturn_t rb500_pata_irq_handler(int irq, void *dev_instance) ...@@ -117,11 +117,6 @@ static irqreturn_t rb500_pata_irq_handler(int irq, void *dev_instance)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
static int rb500_pata_port_start(struct ata_port *ap)
{
return 0;
}
static struct ata_port_operations rb500_pata_port_ops = { static struct ata_port_operations rb500_pata_port_ops = {
.tf_load = ata_tf_load, .tf_load = ata_tf_load,
.tf_read = ata_tf_read, .tf_read = ata_tf_read,
...@@ -138,12 +133,10 @@ static struct ata_port_operations rb500_pata_port_ops = { ...@@ -138,12 +133,10 @@ static struct ata_port_operations rb500_pata_port_ops = {
.freeze = rb500_pata_freeze, .freeze = rb500_pata_freeze,
.thaw = rb500_pata_thaw, .thaw = rb500_pata_thaw,
.error_handler = ata_bmdma_error_handler, .error_handler = ata_bmdma_error_handler,
.post_internal_cmd = ata_bmdma_post_internal_cmd,
.irq_handler = rb500_pata_irq_handler,
.irq_clear = ata_noop_irq_clear, .irq_clear = ata_noop_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = rb500_pata_port_start,
}; };
/* ------------------------------------------------------------------------ */ /* ------------------------------------------------------------------------ */
......
...@@ -79,11 +79,6 @@ static struct ata_port_operations rz1000_port_ops = { ...@@ -79,11 +79,6 @@ static struct ata_port_operations rz1000_port_ops = {
.exec_command = ata_exec_command, .exec_command = ata_exec_command,
.dev_select = ata_std_dev_select, .dev_select = ata_std_dev_select,
.bmdma_setup = ata_bmdma_setup,
.bmdma_start = ata_bmdma_start,
.bmdma_stop = ata_bmdma_stop,
.bmdma_status = ata_bmdma_status,
.qc_prep = ata_qc_prep, .qc_prep = ata_qc_prep,
.qc_issue = ata_qc_issue_prot, .qc_issue = ata_qc_issue_prot,
...@@ -96,7 +91,7 @@ static struct ata_port_operations rz1000_port_ops = { ...@@ -96,7 +91,7 @@ static struct ata_port_operations rz1000_port_ops = {
.cable_detect = ata_cable_40wire, .cable_detect = ata_cable_40wire,
.irq_handler = ata_interrupt, .irq_handler = ata_interrupt,
.irq_clear = ata_bmdma_irq_clear, .irq_clear = ata_noop_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_sff_port_start, .port_start = ata_sff_port_start,
......
...@@ -1216,6 +1216,7 @@ static const struct ata_port_operations sata_fsl_ops = { ...@@ -1216,6 +1216,7 @@ static const struct ata_port_operations sata_fsl_ops = {
.tf_read = sata_fsl_tf_read, .tf_read = sata_fsl_tf_read,
.qc_defer = ata_std_qc_defer,
.qc_prep = sata_fsl_qc_prep, .qc_prep = sata_fsl_qc_prep,
.qc_issue = sata_fsl_qc_issue, .qc_issue = sata_fsl_qc_issue,
.irq_clear = ata_noop_irq_clear, .irq_clear = ata_noop_irq_clear,
......
...@@ -557,8 +557,6 @@ static const struct ata_port_operations mv5_ops = { ...@@ -557,8 +557,6 @@ static const struct ata_port_operations mv5_ops = {
.exec_command = ata_exec_command, .exec_command = ata_exec_command,
.dev_select = ata_std_dev_select, .dev_select = ata_std_dev_select,
.cable_detect = ata_cable_sata,
.qc_prep = mv_qc_prep, .qc_prep = mv_qc_prep,
.qc_issue = mv_qc_issue, .qc_issue = mv_qc_issue,
.data_xfer = ata_data_xfer, .data_xfer = ata_data_xfer,
...@@ -585,8 +583,6 @@ static const struct ata_port_operations mv6_ops = { ...@@ -585,8 +583,6 @@ static const struct ata_port_operations mv6_ops = {
.exec_command = ata_exec_command, .exec_command = ata_exec_command,
.dev_select = ata_std_dev_select, .dev_select = ata_std_dev_select,
.cable_detect = ata_cable_sata,
.qc_prep = mv_qc_prep, .qc_prep = mv_qc_prep,
.qc_issue = mv_qc_issue, .qc_issue = mv_qc_issue,
.data_xfer = ata_data_xfer, .data_xfer = ata_data_xfer,
...@@ -613,8 +609,6 @@ static const struct ata_port_operations mv_iie_ops = { ...@@ -613,8 +609,6 @@ static const struct ata_port_operations mv_iie_ops = {
.exec_command = ata_exec_command, .exec_command = ata_exec_command,
.dev_select = ata_std_dev_select, .dev_select = ata_std_dev_select,
.cable_detect = ata_cable_sata,
.qc_prep = mv_qc_prep_iie, .qc_prep = mv_qc_prep_iie,
.qc_issue = mv_qc_issue, .qc_issue = mv_qc_issue,
.data_xfer = ata_data_xfer, .data_xfer = ata_data_xfer,
......
...@@ -452,6 +452,7 @@ static const struct ata_port_operations nv_generic_ops = { ...@@ -452,6 +452,7 @@ static const struct ata_port_operations nv_generic_ops = {
.bmdma_status = ata_bmdma_status, .bmdma_status = ata_bmdma_status,
.qc_prep = ata_qc_prep, .qc_prep = ata_qc_prep,
.qc_issue = ata_qc_issue_prot, .qc_issue = ata_qc_issue_prot,
.mode_filter = ata_pci_default_filter,
.freeze = ata_bmdma_freeze, .freeze = ata_bmdma_freeze,
.thaw = ata_bmdma_thaw, .thaw = ata_bmdma_thaw,
.error_handler = nv_error_handler, .error_handler = nv_error_handler,
...@@ -461,7 +462,7 @@ static const struct ata_port_operations nv_generic_ops = { ...@@ -461,7 +462,7 @@ static const struct ata_port_operations nv_generic_ops = {
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.scr_read = nv_scr_read, .scr_read = nv_scr_read,
.scr_write = nv_scr_write, .scr_write = nv_scr_write,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static const struct ata_port_operations nv_nf2_ops = { static const struct ata_port_operations nv_nf2_ops = {
...@@ -476,6 +477,7 @@ static const struct ata_port_operations nv_nf2_ops = { ...@@ -476,6 +477,7 @@ static const struct ata_port_operations nv_nf2_ops = {
.bmdma_status = ata_bmdma_status, .bmdma_status = ata_bmdma_status,
.qc_prep = ata_qc_prep, .qc_prep = ata_qc_prep,
.qc_issue = ata_qc_issue_prot, .qc_issue = ata_qc_issue_prot,
.mode_filter = ata_pci_default_filter,
.freeze = nv_nf2_freeze, .freeze = nv_nf2_freeze,
.thaw = nv_nf2_thaw, .thaw = nv_nf2_thaw,
.error_handler = nv_error_handler, .error_handler = nv_error_handler,
...@@ -485,7 +487,7 @@ static const struct ata_port_operations nv_nf2_ops = { ...@@ -485,7 +487,7 @@ static const struct ata_port_operations nv_nf2_ops = {
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.scr_read = nv_scr_read, .scr_read = nv_scr_read,
.scr_write = nv_scr_write, .scr_write = nv_scr_write,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static const struct ata_port_operations nv_ck804_ops = { static const struct ata_port_operations nv_ck804_ops = {
...@@ -500,6 +502,7 @@ static const struct ata_port_operations nv_ck804_ops = { ...@@ -500,6 +502,7 @@ static const struct ata_port_operations nv_ck804_ops = {
.bmdma_status = ata_bmdma_status, .bmdma_status = ata_bmdma_status,
.qc_prep = ata_qc_prep, .qc_prep = ata_qc_prep,
.qc_issue = ata_qc_issue_prot, .qc_issue = ata_qc_issue_prot,
.mode_filter = ata_pci_default_filter,
.freeze = nv_ck804_freeze, .freeze = nv_ck804_freeze,
.thaw = nv_ck804_thaw, .thaw = nv_ck804_thaw,
.error_handler = nv_error_handler, .error_handler = nv_error_handler,
...@@ -509,7 +512,7 @@ static const struct ata_port_operations nv_ck804_ops = { ...@@ -509,7 +512,7 @@ static const struct ata_port_operations nv_ck804_ops = {
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.scr_read = nv_scr_read, .scr_read = nv_scr_read,
.scr_write = nv_scr_write, .scr_write = nv_scr_write,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
.host_stop = nv_ck804_host_stop, .host_stop = nv_ck804_host_stop,
}; };
...@@ -527,6 +530,7 @@ static const struct ata_port_operations nv_adma_ops = { ...@@ -527,6 +530,7 @@ static const struct ata_port_operations nv_adma_ops = {
.qc_defer = ata_std_qc_defer, .qc_defer = ata_std_qc_defer,
.qc_prep = nv_adma_qc_prep, .qc_prep = nv_adma_qc_prep,
.qc_issue = nv_adma_qc_issue, .qc_issue = nv_adma_qc_issue,
.mode_filter = ata_pci_default_filter,
.freeze = nv_adma_freeze, .freeze = nv_adma_freeze,
.thaw = nv_adma_thaw, .thaw = nv_adma_thaw,
.error_handler = nv_adma_error_handler, .error_handler = nv_adma_error_handler,
...@@ -558,6 +562,7 @@ static const struct ata_port_operations nv_swncq_ops = { ...@@ -558,6 +562,7 @@ static const struct ata_port_operations nv_swncq_ops = {
.qc_defer = ata_std_qc_defer, .qc_defer = ata_std_qc_defer,
.qc_prep = nv_swncq_qc_prep, .qc_prep = nv_swncq_qc_prep,
.qc_issue = nv_swncq_qc_issue, .qc_issue = nv_swncq_qc_issue,
.mode_filter = ata_pci_default_filter,
.freeze = nv_mcp55_freeze, .freeze = nv_mcp55_freeze,
.thaw = nv_mcp55_thaw, .thaw = nv_mcp55_thaw,
.error_handler = nv_swncq_error_handler, .error_handler = nv_swncq_error_handler,
......
...@@ -192,6 +192,7 @@ static const struct ata_port_operations sil_ops = { ...@@ -192,6 +192,7 @@ static const struct ata_port_operations sil_ops = {
.exec_command = ata_exec_command, .exec_command = ata_exec_command,
.dev_select = ata_std_dev_select, .dev_select = ata_std_dev_select,
.set_mode = sil_set_mode, .set_mode = sil_set_mode,
.mode_filter = ata_pci_default_filter,
.bmdma_setup = ata_bmdma_setup, .bmdma_setup = ata_bmdma_setup,
.bmdma_start = ata_bmdma_start, .bmdma_start = ata_bmdma_start,
.bmdma_stop = ata_bmdma_stop, .bmdma_stop = ata_bmdma_stop,
...@@ -207,7 +208,7 @@ static const struct ata_port_operations sil_ops = { ...@@ -207,7 +208,7 @@ static const struct ata_port_operations sil_ops = {
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.scr_read = sil_scr_read, .scr_read = sil_scr_read,
.scr_write = sil_scr_write, .scr_write = sil_scr_write,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static const struct ata_port_info sil_port_info[] = { static const struct ata_port_info sil_port_info[] = {
......
...@@ -116,6 +116,7 @@ static const struct ata_port_operations sis_ops = { ...@@ -116,6 +116,7 @@ static const struct ata_port_operations sis_ops = {
.qc_prep = ata_qc_prep, .qc_prep = ata_qc_prep,
.qc_issue = ata_qc_issue_prot, .qc_issue = ata_qc_issue_prot,
.data_xfer = ata_data_xfer, .data_xfer = ata_data_xfer,
.mode_filter = ata_pci_default_filter,
.freeze = ata_bmdma_freeze, .freeze = ata_bmdma_freeze,
.thaw = ata_bmdma_thaw, .thaw = ata_bmdma_thaw,
.error_handler = ata_bmdma_error_handler, .error_handler = ata_bmdma_error_handler,
...@@ -124,7 +125,7 @@ static const struct ata_port_operations sis_ops = { ...@@ -124,7 +125,7 @@ static const struct ata_port_operations sis_ops = {
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.scr_read = sis_scr_read, .scr_read = sis_scr_read,
.scr_write = sis_scr_write, .scr_write = sis_scr_write,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static const struct ata_port_info sis_port_info = { static const struct ata_port_info sis_port_info = {
......
...@@ -362,6 +362,7 @@ static const struct ata_port_operations k2_sata_ops = { ...@@ -362,6 +362,7 @@ static const struct ata_port_operations k2_sata_ops = {
.qc_prep = ata_qc_prep, .qc_prep = ata_qc_prep,
.qc_issue = ata_qc_issue_prot, .qc_issue = ata_qc_issue_prot,
.data_xfer = ata_data_xfer, .data_xfer = ata_data_xfer,
.mode_filter = ata_pci_default_filter,
.freeze = ata_bmdma_freeze, .freeze = ata_bmdma_freeze,
.thaw = ata_bmdma_thaw, .thaw = ata_bmdma_thaw,
.error_handler = ata_bmdma_error_handler, .error_handler = ata_bmdma_error_handler,
...@@ -370,7 +371,7 @@ static const struct ata_port_operations k2_sata_ops = { ...@@ -370,7 +371,7 @@ static const struct ata_port_operations k2_sata_ops = {
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.scr_read = k2_sata_scr_read, .scr_read = k2_sata_scr_read,
.scr_write = k2_sata_scr_write, .scr_write = k2_sata_scr_write,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static const struct ata_port_info k2_port_info[] = { static const struct ata_port_info k2_port_info[] = {
......
...@@ -108,6 +108,7 @@ static const struct ata_port_operations uli_ops = { ...@@ -108,6 +108,7 @@ static const struct ata_port_operations uli_ops = {
.qc_issue = ata_qc_issue_prot, .qc_issue = ata_qc_issue_prot,
.data_xfer = ata_data_xfer, .data_xfer = ata_data_xfer,
.mode_filter = ata_pci_default_filter,
.freeze = ata_bmdma_freeze, .freeze = ata_bmdma_freeze,
.thaw = ata_bmdma_thaw, .thaw = ata_bmdma_thaw,
.error_handler = ata_bmdma_error_handler, .error_handler = ata_bmdma_error_handler,
...@@ -119,7 +120,7 @@ static const struct ata_port_operations uli_ops = { ...@@ -119,7 +120,7 @@ static const struct ata_port_operations uli_ops = {
.scr_read = uli_scr_read, .scr_read = uli_scr_read,
.scr_write = uli_scr_write, .scr_write = uli_scr_write,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static const struct ata_port_info uli_port_info = { static const struct ata_port_info uli_port_info = {
......
...@@ -118,6 +118,8 @@ static struct scsi_host_template svia_sht = { ...@@ -118,6 +118,8 @@ static struct scsi_host_template svia_sht = {
}; };
static const struct ata_port_operations vt6420_sata_ops = { static const struct ata_port_operations vt6420_sata_ops = {
.mode_filter = ata_pci_default_filter,
.tf_load = ata_tf_load, .tf_load = ata_tf_load,
.tf_read = ata_tf_read, .tf_read = ata_tf_read,
.check_status = ata_check_status, .check_status = ata_check_status,
...@@ -141,12 +143,13 @@ static const struct ata_port_operations vt6420_sata_ops = { ...@@ -141,12 +143,13 @@ static const struct ata_port_operations vt6420_sata_ops = {
.irq_clear = ata_bmdma_irq_clear, .irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static const struct ata_port_operations vt6421_pata_ops = { static const struct ata_port_operations vt6421_pata_ops = {
.set_piomode = vt6421_set_pio_mode, .set_piomode = vt6421_set_pio_mode,
.set_dmamode = vt6421_set_dma_mode, .set_dmamode = vt6421_set_dma_mode,
.mode_filter = ata_pci_default_filter,
.tf_load = ata_tf_load, .tf_load = ata_tf_load,
.tf_read = ata_tf_read, .tf_read = ata_tf_read,
...@@ -172,10 +175,12 @@ static const struct ata_port_operations vt6421_pata_ops = { ...@@ -172,10 +175,12 @@ static const struct ata_port_operations vt6421_pata_ops = {
.irq_clear = ata_bmdma_irq_clear, .irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static const struct ata_port_operations vt6421_sata_ops = { static const struct ata_port_operations vt6421_sata_ops = {
.mode_filter = ata_pci_default_filter,
.tf_load = ata_tf_load, .tf_load = ata_tf_load,
.tf_read = ata_tf_read, .tf_read = ata_tf_read,
.check_status = ata_check_status, .check_status = ata_check_status,
...@@ -195,7 +200,6 @@ static const struct ata_port_operations vt6421_sata_ops = { ...@@ -195,7 +200,6 @@ static const struct ata_port_operations vt6421_sata_ops = {
.thaw = ata_bmdma_thaw, .thaw = ata_bmdma_thaw,
.error_handler = ata_bmdma_error_handler, .error_handler = ata_bmdma_error_handler,
.post_internal_cmd = ata_bmdma_post_internal_cmd, .post_internal_cmd = ata_bmdma_post_internal_cmd,
.cable_detect = ata_cable_sata,
.irq_clear = ata_bmdma_irq_clear, .irq_clear = ata_bmdma_irq_clear,
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
...@@ -203,7 +207,7 @@ static const struct ata_port_operations vt6421_sata_ops = { ...@@ -203,7 +207,7 @@ static const struct ata_port_operations vt6421_sata_ops = {
.scr_read = svia_scr_read, .scr_read = svia_scr_read,
.scr_write = svia_scr_write, .scr_write = svia_scr_write,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static const struct ata_port_info vt6420_port_info = { static const struct ata_port_info vt6420_port_info = {
......
...@@ -331,6 +331,7 @@ static const struct ata_port_operations vsc_sata_ops = { ...@@ -331,6 +331,7 @@ static const struct ata_port_operations vsc_sata_ops = {
.qc_prep = ata_qc_prep, .qc_prep = ata_qc_prep,
.qc_issue = ata_qc_issue_prot, .qc_issue = ata_qc_issue_prot,
.data_xfer = ata_data_xfer, .data_xfer = ata_data_xfer,
.mode_filter = ata_pci_default_filter,
.freeze = vsc_freeze, .freeze = vsc_freeze,
.thaw = vsc_thaw, .thaw = vsc_thaw,
.error_handler = ata_bmdma_error_handler, .error_handler = ata_bmdma_error_handler,
...@@ -339,7 +340,7 @@ static const struct ata_port_operations vsc_sata_ops = { ...@@ -339,7 +340,7 @@ static const struct ata_port_operations vsc_sata_ops = {
.irq_on = ata_irq_on, .irq_on = ata_irq_on,
.scr_read = vsc_sata_scr_read, .scr_read = vsc_sata_scr_read,
.scr_write = vsc_sata_scr_write, .scr_write = vsc_sata_scr_write,
.port_start = ata_port_start, .port_start = ata_sff_port_start,
}; };
static void __devinit vsc_sata_setup_port(struct ata_ioports *port, static void __devinit vsc_sata_setup_port(struct ata_ioports *port,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment