summaryrefslogtreecommitdiff
path: root/drivers/ata
diff options
context:
space:
mode:
authorPatrice Chotard <patrice.chotard@st.com>2016-08-10 18:37:29 +0300
committerTejun Heo <tj@kernel.org>2016-08-10 19:16:49 +0300
commite7190699ca8c8daa52bfc62c01a71dea6decc9ee (patch)
tree0e9abf2e98f60736e271f16cdfafa477e95dd88a /drivers/ata
parent16af080e47785d14919bf94bf8a4097c5c8529fb (diff)
downloadlinux-e7190699ca8c8daa52bfc62c01a71dea6decc9ee.tar.xz
ahci: st: Add ports-implemented property in support
Despite ST AHCI version = 1.3, reading HOST_PORTS_IMPL returns 0. So force_port_map to 1 by using ports-implemented DT property. Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/ahci_st.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/ata/ahci_st.c b/drivers/ata/ahci_st.c
index 8ff428fe8e0f..bc345f249555 100644
--- a/drivers/ata/ahci_st.c
+++ b/drivers/ata/ahci_st.c
@@ -147,6 +147,7 @@ static struct scsi_host_template ahci_platform_sht = {
static int st_ahci_probe(struct platform_device *pdev)
{
+ struct device *dev = &pdev->dev;
struct st_ahci_drv_data *drv_data;
struct ahci_host_priv *hpriv;
int err;
@@ -170,6 +171,9 @@ static int st_ahci_probe(struct platform_device *pdev)
st_ahci_configure_oob(hpriv->mmio);
+ of_property_read_u32(dev->of_node,
+ "ports-implemented", &hpriv->force_port_map);
+
err = ahci_platform_init_host(pdev, hpriv, &st_ahci_port_info,
&ahci_platform_sht);
if (err) {