Re: [PATCH v3 7/8] ata: Add support for the Tegra124 SATA controller

Thierry Reding
2014-07-16T11:42:18Z

[-- Attachment #1: Type: text/plain, Size: 1237 bytes --]

On Wed, Jul 16, 2014 at 01:14:30PM +0200, Hans de Goede wrote:
> On 07/16/2014 10:54 AM, Mikko Perttunen wrote:
[...]
> > +enum sata_clks {
> > + AHCI_CLK_SATA = 0,
> > + AHCI_CLK_SATA_OOB = 1,
> > + AHCI_CLK_CML1 = 2,
> > + AHCI_CLK_PLL_E = 3
> > +};
>
> You should mention that having the clocks in this order is mandatory
> in Documentation/devicetree/bindings/ata/tegra-sata.txt / in
> "[PATCH v3 1/8] of: Add NVIDIA Tegra SATA controller binding"

This is precisely why I said that using a library for resources is a bad
idea. Why on earth would we want to mandate a specific order? The clock
bindings specifically have the clock-names so that the order in which
the clocks are listed in the clocks property doesn't matter. Now because
of these library helpers we can no longer do that, but instead need to
fix the order.

So we're now in a position where a Linux-specific driver, worse
actually, a Linux helper library dictates what the device tree binding
must look like. This obviously conflicts with what device tree people
have been recommending for years.

What this also means is that since the DT bindings are ABI, the libahci
platform library code effectively becomes an ABI too.

Thierry

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]