Dear Oliver Schinagl, On Fri, 06 Dec 2013 10:12:34 +0100, Oliver Schinagl wrote: > > From my point of view, ahci_platform should be turned into a small > > "library", that provides an API for ahci_<foo> drivers to 1/ do their > > own custom stuff and 2/ do the common ahci_platform stuff. > > > > This way we avoid the registration of two platform_device for the same > > piece of hardware, and we avoid the duplication of code. > > > > Want me to propose a RFC for this idea? > I've started to do what sdhci does with their pltfrm driver, assuming > that's the right approach. Since i'm only dabbling and not always 100% > sure what should or shouldn't be done, it may take a little while, but > looks promising from my end ;) Yes, the approach of shdci_pltfrm is exactly the one I was proposing here, so it definitely looks like the right direction to me (though my opinion is not authoritative at all in this area, obviously). > So is the sdhci-pltfrm approach the correct one? We still have ahci_* > drivers, but ahci_platform.c won't be a driver in the sense that it is > now anymore. Yes, seems good. We will still need ahci_<foo> for the various SoC families, because depending on the SoC, you have different things to do (take various clocks, or do other SoC-specific configuration). As an example, the main thing I have to do on the SoC I'm working with is configuring some memory windows that allow the SATA controller to do DMA to the DRAM. This configuration is inherently completely specific to this SoC family, and it wouldn't make sense to have that in an ahci_platform driver shared by all platforms. Oliver, can you Cc me on your future patches about this topic, so that I can test them in the context of the SoC I'm working on? Thanks! Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html