aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/ahci.h
diff options
context:
space:
mode:
authorAntoine Ténart <antoine.tenart@free-electrons.com>2014-07-30 14:13:57 -0400
committerTejun Heo <tj@kernel.org>2014-07-30 15:39:46 -0400
commitb1a9edbda040a43583ff14d63ebeb91abe5848b9 (patch)
tree6ff80c6cafbd903fbf3bdea1af7ef4c696ee9f90 /drivers/ata/ahci.h
parent725c7b570fda4207e465ff8856c2c12c2645a685 (diff)
ata: libahci: allow to use multiple PHYs
The current implementation of the libahci does not allow to use multiple PHYs. This patch adds the support of multiple PHYs by the libahci while keeping the old bindings valid for device tree compatibility. This introduce a new way of defining SATA ports in the device tree, with one port per sub-node. This as the advantage of allowing a per port configuration. Because some ports may be accessible but disabled in the device tree, the port_map mask is computed automatically when using this. Signed-off-by: Antoine Ténart <antoine.tenart@free-electrons.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'drivers/ata/ahci.h')
-rw-r--r--drivers/ata/ahci.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
index 15396f0330ae..59ae0ee00149 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -334,7 +334,12 @@ struct ahci_host_priv {
334 bool got_runtime_pm; /* Did we do pm_runtime_get? */ 334 bool got_runtime_pm; /* Did we do pm_runtime_get? */
335 struct clk *clks[AHCI_MAX_CLKS]; /* Optional */ 335 struct clk *clks[AHCI_MAX_CLKS]; /* Optional */
336 struct regulator *target_pwr; /* Optional */ 336 struct regulator *target_pwr; /* Optional */
337 struct phy *phy; /* If platform uses phy */ 337 /*
338 * If platform uses PHYs. There is a 1:1 relation between the port number and
339 * the PHY position in this array.
340 */
341 struct phy **phys;
342 unsigned nports; /* Number of ports */
338 void *plat_data; /* Other platform data */ 343 void *plat_data; /* Other platform data */
339 /* 344 /*
340 * Optional ahci_start_engine override, if not set this gets set to the 345 * Optional ahci_start_engine override, if not set this gets set to the