[PATCH 00/68] ide2libata

From: Bartlomiej Zolnierkiewicz
Date: Fri Jan 29 2010 - 11:03:26 EST



Hi,

Here is a patchset (on top of atang-v3.1 tree) applying "out-of-the-box"
thinking to duplicated libata PATA and IDE subsystem host driver sets.
Namely, it modifies IDE API slightly to match libata's one more, adds
a tiny source-code level translation layer (ide2libata.h header file
which consists of only 17 lines of code) and then converts host drivers
to use shared source code for low-level operations (all drivers have
been carefully audited during porting to minimize the probability of
adding regressions accidentally). As an end result it is much easier
to maintain both driver sets (differences between 'new'/'old' drivers
are now apparent and there is no longer a need to manually back-port
many classes of bugfixes) and over 2500 LOC are gone.


The following changes since commit 7a4716f9084b32e32511cdea64ba538ac11e2c90:
Bartlomiej Zolnierkiewicz (1):
ide: ide_timing_compute() fixup

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/bart/misc.git atang-v4.0

Bartlomiej Zolnierkiewicz (68):
piix: add new short cable IDs
libata: CodingStyle fixes for ATA timings code
libata: move ATA timings code to ata-timings.c
ata: make ATA timings code independent of libata
ata: enable XFER_PIO_SLOW mode in ata_timing table
ide: switch to generic ATA timings code
pata_pcmcia: move IDs table to pata_pcmcia.h
ide-cs: use pata_pcmcia.h
ata_piix: factor out short cable detection code to ich_short_ata40()
ata_piix: move short cable handling to ata_piix.h
piix: use ata_piix.h
pata_ali: move short cable handling to pata_ali.h
alim15x3: use pata_ali.h
pata_sis: move short cable handling to pata_sis.h
sis5513: use pata_sis.h
pata_via: move short cable handling to pata_via.h
via82cxxx: use pata_via.h
ide: split host->dev table
ide: add hwif->port_no field
ide: add hwif->udma_mask field
ide: add hwif->private_data field
ide: add drive->devno field
ide: add drive->class field
ide: change ->cable_detect method return type to 'int'
it8213: always program control bits
piix: always program control bits
slc90e66: always program control bits
add ide2libata header file
ata_piix: move code to be re-used by ide2libata to ata_piix.h
piix: convert to ide2libata
pata_ali: move code to be re-used by ide2libata to pata_ali.h
alim15x3: convert to ide2libata
pata_amd: move code to be re-used by ide2libata to pata_amd.h
amd74xx: convert to ide2libata
pata_artop: move code to be re-used by ide2libata to pata_artop.h
aec62xx: convert to ide2libata
pata_atiixp: move code to be re-used by ide2libata to pata_atiixp.h
atiixp: convert to ide2libata
pata_cmd64x: documentation fix
pata_cmd64x: move code to be re-used by ide2libata to pata_cmd64x.h
pata_cmd64x: convert to ide2libata
pata_cs5520: move code to be re-used by ide2libata to pata_cs5520.h
cs5520: convert to ide2libata
pata_cs5530: move code to be re-used by ide2libata to pata_cs5530.h
cs5530: convert to ide2libata
pata_cs5535: move code to be re-used by ide2libata to pata_cs5535.h
cs5535: convert to ide2libata
pata_cypress: move code to be re-used by ide2libata to pata_cypress.h
cy82c693: convert to ide2libata
pata_efar: move code to be re-used by ide2libata to pata_efar.h
slc90e66: convert to ide2libata
pata_it8213: move code to be re-used by ide2libata to pata_it8213.h
it8213: convert to ide2libata
pata_it821x: move code to be re-used by ide2libata to pata_it821x.h
it821x: convert to ide2libata
pata_pdc202xx_old: move code to be re-used by ide2libata to pata_pdc202xx_old.h
pdc202xx_old: convert to ide2libata
pata_sc1200: move code to be re-used by ide2libata to pata_sc1200.h
sc1200: convert to ide2libata
pata_serverworks: move cable handling to pata_serverworks.h
serverworks: convert to ide2libata
pata_sl82c105: move code to be re-used by ide2libata to pata_sl82c105.h
sl82c105: convert to ide2libata
pata_triflex: move code to be re-used by ide2libata to pata_triflex.h
triflex: convert to ide2libata
pata_via: factor out code for finding ISA bridge
pata_via: move code to be re-used by ide2libata to pata_via.h
via82cxxx: convert to ide2libata

drivers/ata/Kconfig | 4 +
drivers/ata/Makefile | 2 +
drivers/ata/ata-timings.c | 178 ++++++++++++++++++
drivers/ata/ata_piix.c | 263 +---------------------------
drivers/ata/ata_piix.h | 278 +++++++++++++++++++++++++++++
drivers/ata/libata-core.c | 162 -----------------
drivers/ata/pata_ali.c | 270 +----------------------------
drivers/ata/pata_ali.h | 326 ++++++++++++++++++++++++++++++++++
drivers/ata/pata_amd.c | 89 +---------
drivers/ata/pata_amd.h | 94 ++++++++++
drivers/ata/pata_artop.c | 232 +------------------------
drivers/ata/pata_artop.h | 293 ++++++++++++++++++++++++++++++
drivers/ata/pata_at32.c | 8 +-
drivers/ata/pata_at91.c | 18 +--
drivers/ata/pata_atiixp.c | 114 +------------
drivers/ata/pata_atiixp.h | 116 ++++++++++++
drivers/ata/pata_atp867x.c | 5 +-
drivers/ata/pata_cmd640.c | 9 +-
drivers/ata/pata_cmd64x.c | 216 +----------------------
drivers/ata/pata_cmd64x.h | 246 +++++++++++++++++++++++++
drivers/ata/pata_cs5520.c | 60 +------
drivers/ata/pata_cs5520.h | 60 ++++++
drivers/ata/pata_cs5530.c | 178 +------------------
drivers/ata/pata_cs5530.h | 185 +++++++++++++++++++
drivers/ata/pata_cs5535.c | 113 +------------
drivers/ata/pata_cs5535.h | 114 ++++++++++++
drivers/ata/pata_cypress.c | 91 +----------
drivers/ata/pata_cypress.h | 108 +++++++++++
drivers/ata/pata_efar.c | 151 +----------------
drivers/ata/pata_efar.h | 161 +++++++++++++++++
drivers/ata/pata_icside.c | 4 +-
drivers/ata/pata_it8213.c | 150 +----------------
drivers/ata/pata_it8213.h | 157 ++++++++++++++++
drivers/ata/pata_it821x.c | 319 +---------------------------------
drivers/ata/pata_it821x.h | 337 +++++++++++++++++++++++++++++++++++
drivers/ata/pata_legacy.c | 32 ++--
drivers/ata/pata_ns87410.c | 7 +-
drivers/ata/pata_ns87415.c | 2 +-
drivers/ata/pata_octeon_cf.c | 4 +-
drivers/ata/pata_pcmcia.c | 67 +-------
drivers/ata/pata_pcmcia.h | 66 +++++++
drivers/ata/pata_pdc202xx_old.c | 109 +-----------
drivers/ata/pata_pdc202xx_old.h | 121 +++++++++++++
drivers/ata/pata_sc1200.c | 108 +-----------
drivers/ata/pata_sc1200.h | 112 ++++++++++++
drivers/ata/pata_serverworks.c | 282 +-----------------------------
drivers/ata/pata_serverworks.h | 303 +++++++++++++++++++++++++++++++
drivers/ata/pata_sis.c | 30 +---
drivers/ata/pata_sis.h | 30 +++
drivers/ata/pata_sl82c105.c | 106 +-----------
drivers/ata/pata_sl82c105.h | 110 ++++++++++++
drivers/ata/pata_triflex.c | 72 +--------
drivers/ata/pata_triflex.h | 69 +++++++
drivers/ata/pata_via.c | 255 +--------------------------
drivers/ata/pata_via.h | 269 ++++++++++++++++++++++++++++
drivers/ide/Kconfig | 1 +
drivers/ide/Makefile | 1 -
drivers/ide/aec62xx.c | 172 +-----------------
drivers/ide/ali14xx.c | 2 +-
drivers/ide/alim15x3.c | 295 ++-----------------------------
drivers/ide/amd74xx.c | 90 +++-------
drivers/ide/at91_ide.c | 9 +-
drivers/ide/atiixp.c | 126 +-------------
drivers/ide/cmd640.c | 4 +-
drivers/ide/cmd64x.c | 196 +-------------------
drivers/ide/cs5520.c | 44 +----
drivers/ide/cs5530.c | 149 ++--------------
drivers/ide/cs5535.c | 141 +--------------
drivers/ide/cs5536.c | 2 +-
drivers/ide/cy82c693.c | 132 +-------------
drivers/ide/hpt366.c | 8 +-
drivers/ide/ht6560b.c | 3 +-
drivers/ide/ide-cs.c | 68 +-------
drivers/ide/ide-probe.c | 3 +-
drivers/ide/ide-timings.c | 217 ----------------------
drivers/ide/ide-xfer-mode.c | 25 +++
drivers/ide/ide.c | 4 +-
drivers/ide/it8213.c | 140 +--------------
drivers/ide/it821x.c | 375 +--------------------------------------
drivers/ide/jmicron.c | 2 +-
drivers/ide/palm_bk3710.c | 9 +-
drivers/ide/pdc202xx_new.c | 4 +-
drivers/ide/pdc202xx_old.c | 80 +--------
drivers/ide/piix.c | 226 ++----------------------
drivers/ide/pmac.c | 8 +-
drivers/ide/qd65xx.c | 2 +-
drivers/ide/sc1200.c | 113 +-----------
drivers/ide/scc_pata.c | 2 +-
drivers/ide/serverworks.c | 281 ++---------------------------
drivers/ide/setup-pci.c | 6 +-
drivers/ide/siimage.c | 2 +-
drivers/ide/sis5513.c | 27 +---
drivers/ide/sl82c105.c | 105 +----------
drivers/ide/slc90e66.c | 117 +------------
drivers/ide/tc86c001.c | 2 +-
drivers/ide/triflex.c | 57 +------
drivers/ide/tx4938ide.c | 2 +-
drivers/ide/tx4939ide.c | 2 +-
drivers/ide/via82cxxx.c | 290 +++---------------------------
include/linux/ata.h | 43 +++++
include/linux/ide.h | 66 +++----
include/linux/ide2libata.h | 17 ++
include/linux/libata.h | 37 ----
103 files changed, 4147 insertions(+), 6825 deletions(-)
create mode 100644 drivers/ata/ata-timings.c
create mode 100644 drivers/ata/ata_piix.h
create mode 100644 drivers/ata/pata_ali.h
create mode 100644 drivers/ata/pata_amd.h
create mode 100644 drivers/ata/pata_artop.h
create mode 100644 drivers/ata/pata_atiixp.h
create mode 100644 drivers/ata/pata_cmd64x.h
create mode 100644 drivers/ata/pata_cs5520.h
create mode 100644 drivers/ata/pata_cs5530.h
create mode 100644 drivers/ata/pata_cs5535.h
create mode 100644 drivers/ata/pata_cypress.h
create mode 100644 drivers/ata/pata_efar.h
create mode 100644 drivers/ata/pata_it8213.h
create mode 100644 drivers/ata/pata_it821x.h
create mode 100644 drivers/ata/pata_pcmcia.h
create mode 100644 drivers/ata/pata_pdc202xx_old.h
create mode 100644 drivers/ata/pata_sc1200.h
create mode 100644 drivers/ata/pata_serverworks.h
create mode 100644 drivers/ata/pata_sis.h
create mode 100644 drivers/ata/pata_sl82c105.h
create mode 100644 drivers/ata/pata_triflex.h
create mode 100644 drivers/ata/pata_via.h
delete mode 100644 drivers/ide/ide-timings.c
create mode 100644 include/linux/ide2libata.h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/