[git patches] libata updates

Jeff Garzik
2007-04-29T16:15:45Z

(just sent this upstream to Linus and Andrew)

Noteworthy changes:
* remove combined mode PCI quirk. IDE driver selection (libata or
old-IDE) is now determined purely by module load order.
* new driver API, that is far more like other kernel APIs:
alloc...register...unregister...free.
* More Alan PATA work
* Lots of other little bits.

Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git upstream-linus

to receive the following updates:

arch/i386/defconfig | 1 -
arch/parisc/configs/c3000_defconfig | 1 -
arch/x86_64/defconfig | 1 -
drivers/ata/Kconfig | 43 +-
drivers/ata/Makefile | 1 +
drivers/ata/ahci.c | 473 ++++++++---------
drivers/ata/ata_generic.c | 32 +-
drivers/ata/ata_piix.c | 56 +--
drivers/ata/libata-core.c | 1015 ++++++++++++++++++++++++-----------
drivers/ata/libata-eh.c | 15 +-
drivers/ata/libata-scsi.c | 85 +++-
drivers/ata/libata-sff.c | 631 ++++++++++++++--------
drivers/ata/libata.h | 10 +-
drivers/ata/pata_ali.c | 74 +---
drivers/ata/pata_amd.c | 89 ++--
drivers/ata/pata_artop.c | 26 +-
drivers/ata/pata_atiixp.c | 26 +-
drivers/ata/pata_cmd640.c | 312 +++++++++++
drivers/ata/pata_cmd64x.c | 34 +-
drivers/ata/pata_cs5520.c | 145 +++---
drivers/ata/pata_cs5530.c | 15 +-
drivers/ata/pata_cs5535.c | 24 +-
drivers/ata/pata_cypress.c | 14 +-
drivers/ata/pata_efar.c | 31 +-
drivers/ata/pata_hpt366.c | 26 +-
drivers/ata/pata_hpt37x.c | 381 ++++++--------
drivers/ata/pata_hpt3x2n.c | 74 ++-
drivers/ata/pata_hpt3x3.c | 22 +-
drivers/ata/pata_isapnp.c | 44 +-
drivers/ata/pata_it8213.c | 36 +-
drivers/ata/pata_it821x.c | 36 +-
drivers/ata/pata_ixp4xx_cf.c | 40 +-
drivers/ata/pata_legacy.c | 45 +-
drivers/ata/pata_marvell.c | 20 +-
drivers/ata/pata_mpc52xx.c | 49 +-
drivers/ata/pata_mpiix.c | 40 +-
drivers/ata/pata_netcell.c | 31 +-
drivers/ata/pata_ns87410.c | 6 +-
drivers/ata/pata_oldpiix.c | 6 +-
drivers/ata/pata_opti.c | 5 +-
drivers/ata/pata_optidma.c | 54 +-
drivers/ata/pata_pcmcia.c | 77 ++-
drivers/ata/pata_pdc2027x.c | 158 +++---
drivers/ata/pata_pdc202xx_old.c | 45 +--
drivers/ata/pata_platform.c | 44 +-
drivers/ata/pata_qdi.c | 47 +-
drivers/ata/pata_radisys.c | 37 +--
drivers/ata/pata_rz1000.c | 28 +-
drivers/ata/pata_sc1200.c | 1 +
drivers/ata/pata_scc.c | 51 +--
drivers/ata/pata_serverworks.c | 34 +-
drivers/ata/pata_sil680.c | 11 +-
drivers/ata/pata_sis.c | 109 +---
drivers/ata/pata_sl82c105.c | 2 +-
drivers/ata/pata_triflex.c | 4 +-
drivers/ata/pata_via.c | 27 +-
drivers/ata/pata_winbond.c | 101 ++--
drivers/ata/pdc_adma.c | 85 ++--
drivers/ata/sata_inic162x.c | 86 ++--
drivers/ata/sata_mv.c | 213 ++++----
drivers/ata/sata_nv.c | 130 ++---
drivers/ata/sata_promise.c | 398 ++++++++-------
drivers/ata/sata_qstor.c | 62 +--
drivers/ata/sata_sil.c | 118 ++--
drivers/ata/sata_sil24.c | 122 ++---
drivers/ata/sata_sis.c | 50 +--
drivers/ata/sata_svw.c | 107 ++--
drivers/ata/sata_sx4.c | 150 +++---
drivers/ata/sata_uli.c | 65 +--
drivers/ata/sata_via.c | 217 +++-----
drivers/ata/sata_vsc.c | 72 +--
drivers/pci/quirks.c | 113 ----
drivers/scsi/ipr.c | 3 +-
include/linux/ata.h | 10 +
include/linux/ioport.h | 1 -
include/linux/libata.h | 78 ++--
include/linux/pci.h | 1 +
include/linux/pci_ids.h | 1 -
kernel/resource.c | 21 -
lib/devres.c | 26 +
80 files changed, 3656 insertions(+), 3318 deletions(-)
create mode 100644 drivers/ata/pata_cmd640.c

Alan Cox (37):
libata: dev_config does not need ap and adev passing
libata: cable detection fixes
pata_cmd640: CMD640 PCI support
pata_it8213: Cable detect
pata_marvell: Cable and reset fixes
pata_sis: Clean up using cable_detect methods
pata_via: Use cable_detect method
pata_cmd640: Multiple updates
libata: Restore Kconfig updated experimental levels and correct
libata-core: fix comments on cable type
sata_promise: Switch to cable method, clean up some bits as a result
pata_platform: Add cable_detect method
pata_rz1000: support cable_detect
pata_sc1200: restore cable type
pata_radisys: support cable_detect
pata_atiixp: support ->cable_detect
pata_efar: support ->cable_detect
pata_hpt366: support ->cable_detect
pata_hpt37x: Updates from drivers/ide work
pata: expose set_mode method so it can be wrapped
libata-core: Fix the iordy methods
sata_sil: First step to removing ->post_set_mode
libata: Change prototype of mode_filter to remove ata_port*
pcmcia - spot slave decode flaws (for testing)
pata_ali: remove all the crap again and switch to cable_detect method
pata_qdI: restore cable detect
pata_netcell: re-remove all the crud
pata_sl82c105: restore cable detect method
pata_winbond: restore cable method
pata_optidma: rework for cable detect and to remove post_set_mode()
pata: cable methods
pata_winbond
pata_pdc2027x: Updates
libata: HPA support
ata_timing: ensure t->cycle is always correct
pata_hpt3x2n: Add HPT371N support and other bits
pata_hpt37x: Further small fixes

Andrew Morton (3):
git-libata-all-ipr-fix
ata: printk warning fixes
drivers/ata/pata_cmd640.c: fix build with CONFIG_PM=n

Conke Hu (1):
ahci.c: remove non-existing SB600 raid id (re-send)

Dmitriy Monakhov (1):
libata: handle ata_pci_device_do_resume() failure while resuming

Jeff Garzik (8):
[libata] sata_mv: remove extra braces
[libata] export sata_print_link_status()
[libata] sata_mv: clean up DMA boundary issues, turn on 64-bit DMA
[libata] Update several PATA drivers for new ->cable_detect hook
[libata] More PATA driver ->cable_detect support
[libata] sata_mv: support ->cable_detect
[libata] turn on !IORDY filter
libata/IDE: remove combined mode quirk

Mark Lord (3):
RESEND: libata: check cdb len per dev instead of per host
libata: add support for READ/WRITE LONG
libata: Handle drives that require a spin-up command before first access

Mikael Pettersson (4):
sata_promise: add missing cable_detect hooks
sata_promise: separate SATA and PATA ops
sata_promise: decode and report error reasons
sata_promise: fix error decode regression

Milind Arun Choudhary (1):
SPIN_LOCK_UNLOCKED cleanup in drivers/ata/pata_winbond.c

Morrison, Tom (1):
Support for Marvell 7042 Chip

Robert Hancock (2):
libata: warn if speed limited due to 40-wire cable
sata_nv: don't read shadow registers when in ADMA mode

Robin H\. Johnson (1):
Add notation that the Asus W5F laptop has a short cable instead of 80-wire.

Tejun Heo (24):
iomap: implement pcim_iounmap_regions()
libata: hardreset on SERR_INTERNAL
ahci: implement ata_save/restore_initial_config()
ahci: move port_map handling to ahci_save_initial_config()
libata: fix native mode disabled port handling
libata: improve AC_ERR_DEV handling for ->post_internal_cmd
libata: kill type mismatch compile warning
ahci: add PCI ID for new VIA chip
libata: allocate ap separately from shost
libata: separate out ata_host_start()
libata: separate out ata_host_alloc() and ata_host_register()
libata: implement ata_host_alloc_pinfo() and ata_host_register()
libata: convert legacy PCI host handling to new init model
libata: convert native PCI host handling to new init model
libata: add init helpers including ata_pci_prepare_native_host()
libata: convert drivers with combined SATA/PATA ports to new init model
libata: convert ata_pci_init_native_mode() users to new init model
libata: convert the remaining SATA drivers to new init model
libata: convert the remaining PATA drivers to new init model
libata: kill probe_ent and related helpers
pata_amd: remove contamination added during cable_detect conversion
libata: add missing call to ->cable_detect() in new EH path
ahci: consolidate common port flags
libata: separate ATA_EHI_DID_RESET into DID_SOFTRESET and DID_HARDRESET

[patch snipped due to size; it's in git]