summaryrefslogtreecommitdiffstats
path: root/drivers/ata/ahci.h
diff options
context:
space:
mode:
authorAntoine Ténart <antoine.tenart@free-electrons.com>2014-07-30 20:13:57 +0200
committerTejun Heo <tj@kernel.org>2014-07-30 21:39:46 +0200
commitb1a9edbda040a43583ff14d63ebeb91abe5848b9 (patch)
tree6ff80c6cafbd903fbf3bdea1af7ef4c696ee9f90 /drivers/ata/ahci.h
parentata: libahci_platform: move port_map parameters into the AHCI structure (diff)
downloadlinux-b1a9edbda040a43583ff14d63ebeb91abe5848b9.tar.xz
linux-b1a9edbda040a43583ff14d63ebeb91abe5848b9.zip
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 {
bool got_runtime_pm; /* Did we do pm_runtime_get? */
struct clk *clks[AHCI_MAX_CLKS]; /* Optional */
struct regulator *target_pwr; /* Optional */
- struct phy *phy; /* If platform uses phy */
+ /*
+ * If platform uses PHYs. There is a 1:1 relation between the port number and
+ * the PHY position in this array.
+ */
+ struct phy **phys;
+ unsigned nports; /* Number of ports */
void *plat_data; /* Other platform data */
/*
* Optional ahci_start_engine override, if not set this gets set to the