linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHSET] libata: implement new initialization model, take #4
@ 2007-04-11  6:42 Tejun Heo
  2007-04-11  6:42 ` [PATCH 03/12] libata: separate out ata_host_alloc() and ata_host_register() Tejun Heo
                   ` (11 more replies)
  0 siblings, 12 replies; 16+ messages in thread
From: Tejun Heo @ 2007-04-11  6:42 UTC (permalink / raw)
  To: jeff, alan, linux-ide, brking, htejun

Hello, all.

This is the fourth take of new-init-model patchset.  Changes from the
last take[L] are...

* memory leak fixed in patch#1
* s/attach/register/g
* ap->cbl == ATA_CBL_* test replaced with ATA_FLAG_SATA test
* updated to the current upstream
* dependency to pci_configure_dma_masks() dropped

This patchset is against

 upstream(c602a03a610d0626599dbfb28e073c58699e5f94)
 + [1] libata-fix-native-mode-disabled-port-handling
 + [2] ahci-implement-ata_save-restore_initial_config
 + [3] ahci-move-port_map-handling-to-ahci_save_initial_config

Thanks.

--
tejun

[L] http://thread.gmane.org/gmane.linux.ide/16810
[1] http://article.gmane.org/gmane.linux.ide/16804
[2] http://article.gmane.org/gmane.linux.ide/17302
[3] http://article.gmane.org/gmane.linux.ide/17303



^ permalink raw reply	[flat|nested] 16+ messages in thread
* [PATCHSET] libata: implement new initialization model, take #3
@ 2007-03-09 11:15 Tejun Heo
  2007-03-09 11:15 ` [PATCH 12/12] libata: kill probe_ent and related helpers Tejun Heo
  0 siblings, 1 reply; 16+ messages in thread
From: Tejun Heo @ 2007-03-09 11:15 UTC (permalink / raw)
  To: jeff, alan, linux-ide, htejun

Hello, all.

This is the third take of new init model.  Previously, libata LLDs
should have filled probe_ent with appropriate info and pass it to
ata_device_add() which will allocate and initialize ata_host
accordingly, request IRQs and attache the host.

The problem with the previous approach was that the info which can be
passed via probe_ent is inflexible.  This made init path of peculiar
controllers twisted.  For example, sata_promise and sata_via support
heterogeneous configuration where PATA and SATA ports reside on the
same host.  As probe_ent couldn't carry this information to
ata_device_add(), those controllers had to override stuff in
->port_start() and add branches in various places.

New init model is a bit more conventional than the old one.  It
follows the good old allocate-init-attach model.  A LLD allocates a
host populated with the specified number of ports, initializes the
host as it wishes and tell libata to attach the initialized host.  So,
LLDs can intialize the host anyway it wants to.

Helpers to do a series of things in one go are provided such that
simple/common initialization can be performed easily.  Requesting IRQ
is now LLD's responsibility and libata knows nothing about it (except
in activation helper).  This nicely allows MSIX support if ever
needed.

This patchset increases code in libata core layer but makes LLDs
simpler.  For details, please read description in each patch.

As devres is now in place, libata core layer can offload resource
management to it.  This makes this take very different and much
simpler than the last take[L].  As it's a vastly different
implementation, detailed change list isn't very meaningful and
thus omitted.

This patchset is against...

libata-dev#upstream (bbaa9bb11c6854781ac13c64954f42bc0e067c09)
+ [1] libata-fix-ata_host_release-free-order
+ [2] libata-fix-native-mode-disabled-port-handling
+ [3] iomap-implement-pcim-iounmap-regions
+ [4] ahci-separate-port-number-determination-from-host-initialization

Thanks.

--
tejun

[L] http://thread.gmane.org/gmane.linux.ide/12741
[1] http://article.gmane.org/gmane.linux.ide/16802
[2] http://article.gmane.org/gmane.linux.ide/16804
[3] http://article.gmane.org/gmane.linux.ide/16805
[4] http://article.gmane.org/gmane.linux.ide/16806



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2007-04-11  8:37 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-11  6:42 [PATCHSET] libata: implement new initialization model, take #4 Tejun Heo
2007-04-11  6:42 ` [PATCH 03/12] libata: separate out ata_host_alloc() and ata_host_register() Tejun Heo
2007-04-11  6:42 ` [PATCH 01/12] libata: allocate ap separately from shost Tejun Heo
2007-04-11  6:42 ` [PATCH 04/12] libata: implement ata_host_alloc_pinfo() and ata_host_register() Tejun Heo
2007-04-11  6:42 ` [PATCH 02/12] libata: separate out ata_host_start() Tejun Heo
2007-04-11  6:42 ` [PATCH 09/12] libata: convert ata_pci_init_native_mode() users to new init model Tejun Heo
2007-04-11  6:42 ` [PATCH 06/12] libata: convert native PCI host handling " Tejun Heo
2007-04-11  6:42 ` [PATCH 08/12] libata: convert drivers with combined SATA/PATA ports " Tejun Heo
2007-04-11  6:42 ` [PATCH 12/12] libata: kill probe_ent and related helpers Tejun Heo
2007-04-11  6:42 ` [PATCH 10/12] libata: convert the remaining SATA drivers to new init model Tejun Heo
2007-04-11  6:42 ` [PATCH 07/12] libata: add init helpers including ata_pci_prepare_native_host() Tejun Heo
2007-04-11  6:42 ` [PATCH 05/12] libata: convert legacy PCI host handling to new init model Tejun Heo
2007-04-11  6:42 ` [PATCH 11/12] libata: convert the remaining PATA drivers " Tejun Heo
2007-04-11  8:22   ` Alan Cox
2007-04-11  8:37     ` [PATCH 11/12 UPDATED] " Tejun Heo
  -- strict thread matches above, loose matches on Subject: below --
2007-03-09 11:15 [PATCHSET] libata: implement new initialization model, take #3 Tejun Heo
2007-03-09 11:15 ` [PATCH 12/12] libata: kill probe_ent and related helpers Tejun Heo

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).