linux/drivers/ata
Mikael Pettersson 724114a573 sata_promise: separate SATA and PATA ops
This patch changes sata_promise so that the PATA ports
on TX2plus chips are bound to the pdc_pata_ops structure.
This means that operations called from the SATA ops
structures don't need any SATA-vs-PATA tests any more.
Instead, operations that depend on a port being SATA or
PATA are separated into different procedures.

* pdc_cable_type() is split into a PATA version and a
  SATA version
* pdc_error_handler() is split into a PATA version and a
  SATA version, that both call a common version after
  setting up the `hardreset' function pointer
* pdc_old_check_atapi_dma() is now only used for SATAI
  ports, so is renamed to pdc_old_sata_check_atapi_dma()
  and simplified
* pdc_sata_scr_{read,write}() are now only used for SATA
  ports, so their is-not-SATA tests are removed
* pdc_port_start() is split into three procedures: a wrapper
  which performs the ->ops adjustment on TX2plus PATA ports,
  a procedure with the common code, and a procedure with
  the SATA-specific code (this bit might be cleaned up by
  Tejun's new init model)

Tested on 20619, 20575, and 20775 chips.

Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-04-28 14:15:59 -04:00
..
Kconfig libata/IDE: remove combined mode quirk 2007-04-28 14:15:59 -04:00
Makefile pata_cmd640: CMD640 PCI support 2007-04-28 14:15:55 -04:00
ahci.c ahci.c: walkaround for SB600 SATA internal error issue 2007-03-28 02:04:27 -04:00
ata_generic.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
ata_piix.c ata_piix: Remove ugly layering violation 2007-03-09 08:41:15 -05:00
libata-acpi.c [libata] Disable ACPI by default; fix namespace problems 2007-03-28 01:57:37 -04:00
libata-core.c [libata] turn on !IORDY filter 2007-04-28 14:15:59 -04:00
libata-eh.c libata: Clear tf before doing request sense (take 3) 2007-04-04 02:12:27 -04:00
libata-scsi.c RESEND: libata: check cdb len per dev instead of per host 2007-04-28 14:15:55 -04:00
libata-sff.c libata/IDE: remove combined mode quirk 2007-04-28 14:15:59 -04:00
libata.h [libata] Disable ACPI by default; fix namespace problems 2007-03-28 01:57:37 -04:00
pata_ali.c libata: Change prototype of mode_filter to remove ata_port* 2007-04-28 14:15:58 -04:00
pata_amd.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_artop.c [libata] More PATA driver ->cable_detect support 2007-04-28 14:15:57 -04:00
pata_atiixp.c pata_atiixp: support ->cable_detect 2007-04-28 14:15:57 -04:00
pata_cmd64x.c [libata] More PATA driver ->cable_detect support 2007-04-28 14:15:57 -04:00
pata_cmd640.c pata_cmd640: Multiple updates 2007-04-28 14:15:56 -04:00
pata_cs5520.c [libata] More PATA driver ->cable_detect support 2007-04-28 14:15:57 -04:00
pata_cs5530.c [libata] More PATA driver ->cable_detect support 2007-04-28 14:15:57 -04:00
pata_cs5535.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_cypress.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_efar.c pata_efar: support ->cable_detect 2007-04-28 14:15:57 -04:00
pata_hpt3x2n.c [libata] Update several PATA drivers for new ->cable_detect hook 2007-04-28 14:15:56 -04:00
pata_hpt3x3.c [libata] More PATA driver ->cable_detect support 2007-04-28 14:15:57 -04:00
pata_hpt37x.c libata: Change prototype of mode_filter to remove ata_port* 2007-04-28 14:15:58 -04:00
pata_hpt366.c libata: Change prototype of mode_filter to remove ata_port* 2007-04-28 14:15:58 -04:00
pata_isapnp.c [libata] More PATA driver ->cable_detect support 2007-04-28 14:15:57 -04:00
pata_it821x.c [libata] Update several PATA drivers for new ->cable_detect hook 2007-04-28 14:15:56 -04:00
pata_it8213.c pata_it8213: Cable detect 2007-04-28 14:15:56 -04:00
pata_ixp4xx_cf.c [libata] More PATA driver ->cable_detect support 2007-04-28 14:15:57 -04:00
pata_jmicron.c [libata] pata_jmicron: build fix 2007-03-03 10:36:19 -05:00
pata_legacy.c [libata] More PATA driver ->cable_detect support 2007-04-28 14:15:57 -04:00
pata_marvell.c pata_marvell: Cable and reset fixes 2007-04-28 14:15:56 -04:00
pata_mpc52xx.c [libata] Update several PATA drivers for new ->cable_detect hook 2007-04-28 14:15:56 -04:00
pata_mpiix.c [libata] Update several PATA drivers for new ->cable_detect hook 2007-04-28 14:15:56 -04:00
pata_netcell.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_ns87410.c [libata] Update several PATA drivers for new ->cable_detect hook 2007-04-28 14:15:56 -04:00
pata_oldpiix.c [libata] Update several PATA drivers for new ->cable_detect hook 2007-04-28 14:15:56 -04:00
pata_opti.c [libata] Update several PATA drivers for new ->cable_detect hook 2007-04-28 14:15:56 -04:00
pata_optidma.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_pcmcia.c [libata] Update several PATA drivers for new ->cable_detect hook 2007-04-28 14:15:56 -04:00
pata_pdc202xx_old.c [libata] Update several PATA drivers for new ->cable_detect hook 2007-04-28 14:15:56 -04:00
pata_pdc2027x.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pata_platform.c pata_platform: Add cable_detect method 2007-04-28 14:15:57 -04:00
pata_qdi.c pata_qdi: Fix initialisation 2007-03-02 18:18:38 -05:00
pata_radisys.c pata_radisys: support cable_detect 2007-04-28 14:15:57 -04:00
pata_rz1000.c pata_rz1000: support cable_detect 2007-04-28 14:15:57 -04:00
pata_sc1200.c pata_sc1200: restore cable type 2007-04-28 14:15:57 -04:00
pata_scc.c libata: add missing CONFIG_PM in LLDs 2007-03-02 18:30:35 -05:00
pata_serverworks.c libata: Change prototype of mode_filter to remove ata_port* 2007-04-28 14:15:58 -04:00
pata_sil680.c [libata] Update several PATA drivers for new ->cable_detect hook 2007-04-28 14:15:56 -04:00
pata_sis.c pata_sis: Clean up using cable_detect methods 2007-04-28 14:15:56 -04:00
pata_sl82c105.c [libata] pata_{legacy,sc1200,sl82c105}: add missing hooks 2007-03-02 18:09:05 -05:00
pata_triflex.c [libata] Update several PATA drivers for new ->cable_detect hook 2007-04-28 14:15:56 -04:00
pata_via.c pata_via: Use cable_detect method 2007-04-28 14:15:56 -04:00
pata_winbond.c [libata] bump versions 2007-02-26 06:04:24 -05:00
pdc_adma.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_inic162x.c libata: handle ata_pci_device_do_resume() failure while resuming 2007-04-28 14:15:55 -04:00
sata_mv.c [libata] sata_mv: support ->cable_detect 2007-04-28 14:15:58 -04:00
sata_nv.c sata_nv: revert use of notifiers for now 2007-03-09 08:41:16 -05:00
sata_promise.c sata_promise: separate SATA and PATA ops 2007-04-28 14:15:59 -04:00
sata_promise.h
sata_qstor.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_sil.c sata_sil: First step to removing ->post_set_mode 2007-04-28 14:15:58 -04:00
sata_sil24.c libata: dev_config does not need ap and adev passing 2007-04-28 14:15:55 -04:00
sata_sis.c [PATCH] trivial ATA iomem annotations 2007-03-14 15:27:50 -07:00
sata_svw.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_sx4.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_uli.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sata_via.c [libata] Update several PATA drivers for new ->cable_detect hook 2007-04-28 14:15:56 -04:00
sata_vsc.c [libata] bump versions 2007-02-26 06:04:24 -05:00
sis.h SiS warning fixes 2007-02-21 04:58:17 -05:00