Re: sata AHCI controller over non-PCI bus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 2009-08-16 at 08:53 -0400, Jeff Garzik wrote:
> Subbrathnam, Swaminathan wrote:
> > Jeff,
> > 	From the below link (from Sergei) it seems that you have already re-factored the AHCI implementation dependency on PCI.  I would like to add support for the OMAPL138 SATA on top of your changes.  That would be the ideal way forward for me.
> > 
> > 	Have the ahci re-factoring changes queued for mainline merge already?  I just joined the list and hence do not know the status.
> > 
> > Sergei,
> > 	Appreciate the response.
> 
> I store the refactoring in git, on the "libahci" branch of
> git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev.git
> 
> Unfortunately, I am having second thoughts about an element of the 
> current design.  With current Linux distributions, they do not appear to 
> deal well with the multi-module dependency libata -> libahci -> ahci. 
> If I had to guess, I would say that mkinitrd creation tools only look at 
> one tree level's worth of kernel module dependencies.
> 
> Thus, ahci would wind up -not- in initrd, in a libahci solution.
> 
> I am thinking that I will just add Marvell and ATP support to ahci.c, 
> and let someone else deal with libahci separation -- which is still needed.
> 
> At this point, I would rather get Marvell/ATP support into users' hands, 
> rather than wait for distros to catch up to modern technology.

Can't you get the best of both worlds?  Do the separation but
artificially glue them together again as a module at link time.  This
solves the current distro problem and you can remove the linker hack as
soon as the distros get their act together.

James

---

diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile
index 9f7b500..10101d7 100644
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
@@ -1,8 +1,10 @@
 
 obj-$(CONFIG_ATA)		+= libata.o
 
-obj-$(CONFIG_SATA_AHCI)		+= libahci.o ahci.o
-obj-$(CONFIG_SATA_ACARD_AHCI)	+= libahci.o acard-ahci.o
+obj-$(CONFIG_SATA_AHCI)		+= ahci_mod.o
+obj-ahci_mod-y			+= libahci.o ahci.o
+obj-ahci_mod-$(CONFIG_SATA_ACARD_AHCI)	+= acard-ahci.o
+obj-ahci_mod-$(CONFIG_SATA_MV_AHCI)	+= mv-ahci.o
 obj-$(CONFIG_SATA_SVW)		+= sata_svw.o
 obj-$(CONFIG_ATA_PIIX)		+= ata_piix.o
 obj-$(CONFIG_SATA_PROMISE)	+= sata_promise.o
@@ -15,7 +17,6 @@ obj-$(CONFIG_SATA_SIS)		+= sata_sis.o
 obj-$(CONFIG_SATA_SX4)		+= sata_sx4.o
 obj-$(CONFIG_SATA_NV)		+= sata_nv.o
 obj-$(CONFIG_SATA_ULI)		+= sata_uli.o
-obj-$(CONFIG_SATA_MV_AHCI)	+= libahci.o mv-ahci.o
 obj-$(CONFIG_SATA_MV)		+= sata_mv.o
 obj-$(CONFIG_SATA_INIC162X)	+= sata_inic162x.o
 obj-$(CONFIG_PDC_ADMA)		+= pdc_adma.o


--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux