diff options
author | Antoine Ténart <antoine.tenart@free-electrons.com> | 2014-07-30 20:13:57 +0200 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2014-07-30 15:39:46 -0400 |
commit | b1a9edbda040a43583ff14d63ebeb91abe5848b9 (patch) | |
tree | 6ff80c6cafbd903fbf3bdea1af7ef4c696ee9f90 /drivers/ata/ahci.h | |
parent | 725c7b570fda4207e465ff8856c2c12c2645a685 (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.h | 7 |
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 |