From: Tejun Heo <htejun@gmail.com>
To: jeff@garzik.org, linux-ide@vger.kernel.org, liml@rtr.ca,
alan@lxorguk.ukuu.org.uk, James.Bottomley@HansenPartnership.com,
brking@us.ibm.com, ashish.kalra@freescale.com,
leoli@freescale.com
Subject: [PATCHSET #upstream] libata: modularize SFF support, take #1
Date: Tue, 25 Mar 2008 22:16:38 +0900 [thread overview]
Message-ID: <1206451025926-git-send-email-htejun@gmail.com> (raw)
Hello, all.
This humongous patchset modularizes SFF support and cleans up whole
lot of other stuff in the course. At the end, core layer is leaner
and simpler, SFF support is well modularized and made optional and
LLDs don't have to worry about how it's gonna meet the pseudo SFFism
libata used to require.
This patchset is comprised of the following 27 patches.
0001-libata-drop-ata_dev_select-from-ata_dev_read_id.patch
0002-libata-reorder-functions-in-libata-sff.c.patch
0003-libata-reorganize-SFF-related-stuff.patch
0004-libata-move-ata_pci_default_filter-out-of-CONFIG_.patch
0005-libata-kill-ata_chk_status-call-from-ata_dev_conf.patch
0006-libata-kill-ata_chk_status.patch
0007-libata-rename-SFF-functions.patch
0008-libata-rename-SFF-port-ops.patch
0009-libata-clean-up-port_ops-sff_irq_clear.patch
0010-libata-separate-out-ata_std_prereset-from-ata_sff.patch
0011-libata-separate-out-ata_std_postreset-from-ata_sf.patch
0012-libata-restructure-SFF-post-reset-readiness-waits.patch
0013-libata-separate-out-ata_wait_ready-and-implement.patch
0014-ahci-use-ata_wait_after_reset-instead-of-ata_sff_.patch
0015-libata-move-generic-hardreset-code-from-sata_sff_ha.patch
0016-libata-implement-and-use-sata_std_hardreset.patch
0017-libata-clear-SError-after-link-resume.patch
0018-libata-move-PMP-SCR-access-failure-during-reset-to.patch
0019-libata-unify-mechanism-to-request-follow-up-SRST.patch
0020-libata-add-qc_fill_rtf-port-operation.patch
0021-libata-drop-finish_qc-from-ata_qc_complete_multipl.patch
0022-libata-replace-tf_read-with-qc_fill_rtf-for-non-SFF.patch
0023-libata-remove-check_status-from-non-SFF-drivers.patch
0024-libata-kill-ata_noop_dev_select.patch
0025-libata-clean-up-dummy-port_ops.patch
0026-libata-don-t-use-ap-ioaddr-in-non-SFF-drivers.patch
0027-libata-make-SFF-support-optional.patch
0001-0006 prepare for the soon-to-follow changes by dropping
unncessary stuff and reorganizing code.
0007-0008 mass renames SFF related stuff. Over the time, the naming
has become quite chaotic. Core and SFF stuff are mixed and various
prefixes are in use pseudo-randomly. These two patches make the names
consistent. By doing so make it clear which belongs where - ie. it
sets the requirements for the soon-to-follow modularization. Stuff
named with SFF and BMDMA prefixes should only live in libata-sff.c and
can't be directly referenced from core layer.
0009-0011 separate out SFF specific parts regarding ->sff_irq_clear,
prereset and postreset.
0012-0019 refactor post-reset wait code, separate out SFF specific
parts regarding resets and clean up resulting code.
0020-0023 separate out TF access code out of core layer.
0024-0026 separate out what's left of SFF from core layer.
0027 makes SFF support optional.
The patchset has been tested on the following LLDs.
ahci, ata_piix, sata_sil, sata_sil24, pdc_adma, pata_hpt366,
sata_promise, pata_jmicron
sata_fsl, ipr and libsas received good amount of modification but I
couldn't test them. Especially, I couldn't even compile test
sata_fsl. If you have access to the above drivers, please verify they
are okay.
On x86_64 w/o any debugging turned on, on-disk size of libata.ko is
reduced from 226k to 193k if SFF is turned off. The loaded size is
changed from 157k to 133k.
This patchset is on top of
upstream-fixes (4cde32fc4b32e96a99063af3183acdfd54c563f0)
+ prefer-hardreset (990d6db0af21830681157317ab58c10f80277cb8)
+ cleanup-sht-ops (ed75ba53c883bc7a63fa1b60c63f33fcf395e751)
+ [1] cleanup-pdc_adma
This patchset is available as git tree.
http://git.kernel.org/?p=linux/kernel/git/tj/libata-dev.git;a=shortlog;h=modularize-SFF
git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata-dev.git modularize-SFF
Thanks.
--
tejun
[1] http://thread.gmane.org/gmane.linux.ide/29978
next reply other threads:[~2008-03-25 13:17 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-25 13:16 Tejun Heo [this message]
2008-03-25 13:16 ` [PATCH 01/27] libata: drop ata_dev_select() from ata_dev_read_id Tejun Heo
2008-03-25 13:16 ` [PATCH 02/27] libata: reorder functions in libata-sff.c Tejun Heo
2008-03-25 13:16 ` [PATCH 03/27] libata: reorganize SFF related stuff Tejun Heo
2008-03-25 13:16 ` [PATCH 04/27] libata: move ata_pci_default_filter() out of CONFIG_PCI Tejun Heo
2008-03-25 13:16 ` [PATCH 05/27] libata: kill ata_chk_status() call from ata_dev_configure() Tejun Heo
2008-03-25 13:16 ` [PATCH 06/27] libata: kill ata_chk_status() Tejun Heo
2008-04-04 7:29 ` Jeff Garzik
2008-03-25 13:16 ` [PATCH 07/27] libata: rename SFF functions Tejun Heo
2008-03-25 13:16 ` [PATCH 08/27] libata: rename SFF port ops Tejun Heo
2008-03-25 13:16 ` [PATCH 09/27] libata: clean up port_ops->sff_irq_clear() Tejun Heo
2008-03-25 13:16 ` [PATCH 10/27] libata: separate out ata_std_prereset() from ata_sff_prereset() Tejun Heo
2008-03-25 13:16 ` [PATCH 11/27] libata: separate out ata_std_postreset() from ata_sff_postreset() Tejun Heo
2008-03-25 13:16 ` [PATCH 12/27] libata: restructure SFF post-reset readiness waits Tejun Heo
2008-04-04 6:58 ` Jeff Garzik
2008-03-25 13:16 ` [PATCH 13/27] libata: separate out ata_wait_ready() and implement ata_wait_after_reset() Tejun Heo
2008-03-25 13:16 ` [PATCH 14/27] ahci: use ata_wait_after_reset() instead of ata_sff_wait_ready() Tejun Heo
2008-03-25 13:16 ` [PATCH 15/27] libata: move generic hardreset code from sata_sff_hardreset() to sata_link_hardreset() Tejun Heo
2008-03-25 13:16 ` [PATCH 16/27] libata: implement and use sata_std_hardreset() Tejun Heo
2008-03-25 13:16 ` [PATCH 17/27] libata: clear SError after link resume Tejun Heo
2008-03-25 13:16 ` [PATCH 18/27] libata: move PMP SCR access failure during reset to ata_eh_reset() Tejun Heo
2008-03-25 13:16 ` [PATCH 19/27] libata: unify mechanism to request follow-up SRST Tejun Heo
2008-04-04 7:00 ` Jeff Garzik
2008-03-25 13:16 ` [PATCH 20/27] libata: add qc_fill_rtf port operation Tejun Heo
2008-03-25 13:16 ` [PATCH 21/27] libata: drop @finish_qc from ata_qc_complete_multiple() Tejun Heo
2008-03-25 13:17 ` [PATCH 22/27] libata: replace tf_read with qc_fill_rtf for non-SFF drivers Tejun Heo
2008-03-25 13:17 ` [PATCH 23/27] libata: remove check_status from " Tejun Heo
2008-03-25 13:17 ` [PATCH 24/27] libata: kill ata_noop_dev_select() Tejun Heo
2008-03-25 13:17 ` [PATCH 25/27] libata: clean up dummy port_ops Tejun Heo
2008-03-25 13:17 ` [PATCH 26/27] libata: don't use ap->ioaddr in non-SFF drivers Tejun Heo
2008-03-25 13:17 ` [PATCH 27/27] libata: make SFF support optional Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1206451025926-git-send-email-htejun@gmail.com \
--to=htejun@gmail.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=ashish.kalra@freescale.com \
--cc=brking@us.ibm.com \
--cc=jeff@garzik.org \
--cc=leoli@freescale.com \
--cc=liml@rtr.ca \
--cc=linux-ide@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).