Commit 272ecd60 authored by Florian Fainelli's avatar Florian Fainelli Committed by Jens Axboe

ata: ahci_brcm: BCM7216 reset is self de-asserting

The BCM7216 reset controller line is self-deasserting, unlike other
platforms, so make use of reset_control_reset() instead of
reset_control_deassert().
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 1a0600d1
...@@ -352,7 +352,8 @@ static int brcm_ahci_suspend(struct device *dev) ...@@ -352,7 +352,8 @@ static int brcm_ahci_suspend(struct device *dev)
else else
ret = 0; ret = 0;
reset_control_assert(priv->rcdev); if (priv->version != BRCM_SATA_BCM7216)
reset_control_assert(priv->rcdev);
return ret; return ret;
} }
...@@ -364,7 +365,10 @@ static int __maybe_unused brcm_ahci_resume(struct device *dev) ...@@ -364,7 +365,10 @@ static int __maybe_unused brcm_ahci_resume(struct device *dev)
struct brcm_ahci_priv *priv = hpriv->plat_data; struct brcm_ahci_priv *priv = hpriv->plat_data;
int ret = 0; int ret = 0;
ret = reset_control_deassert(priv->rcdev); if (priv->version == BRCM_SATA_BCM7216)
ret = reset_control_reset(priv->rcdev);
else
ret = reset_control_deassert(priv->rcdev);
if (ret) if (ret)
return ret; return ret;
...@@ -475,7 +479,10 @@ static int brcm_ahci_probe(struct platform_device *pdev) ...@@ -475,7 +479,10 @@ static int brcm_ahci_probe(struct platform_device *pdev)
break; break;
} }
ret = reset_control_deassert(priv->rcdev); if (priv->version == BRCM_SATA_BCM7216)
ret = reset_control_reset(priv->rcdev);
else
ret = reset_control_deassert(priv->rcdev);
if (ret) if (ret)
return ret; return ret;
...@@ -520,7 +527,8 @@ static int brcm_ahci_probe(struct platform_device *pdev) ...@@ -520,7 +527,8 @@ static int brcm_ahci_probe(struct platform_device *pdev)
out_disable_clks: out_disable_clks:
ahci_platform_disable_clks(hpriv); ahci_platform_disable_clks(hpriv);
out_reset: out_reset:
reset_control_assert(priv->rcdev); if (priv->version != BRCM_SATA_BCM7216)
reset_control_assert(priv->rcdev);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment