Revert "ata: sata_mv: Convert to devm_ioremap_resource()"
This reverts commit 368e5fbdfc
.
devm_ioremap_resource() enforces that there are no overlapping
resources, where as devm_ioremap() does not. The sata phy driver needs
a subset of the sata IO address space, so maps some of the sata
address space. As a result, sata_mv now fails to probe, reporting it
cannot get its resources, and so we don't have any SATA disks.
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Cc: stable@vger.kernel.org # v4.11+
Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
c034640a32
commit
3e4240da0e
|
@ -4067,7 +4067,6 @@ static int mv_platform_probe(struct platform_device *pdev)
|
||||||
struct ata_host *host;
|
struct ata_host *host;
|
||||||
struct mv_host_priv *hpriv;
|
struct mv_host_priv *hpriv;
|
||||||
struct resource *res;
|
struct resource *res;
|
||||||
void __iomem *mmio;
|
|
||||||
int n_ports = 0, irq = 0;
|
int n_ports = 0, irq = 0;
|
||||||
int rc;
|
int rc;
|
||||||
int port;
|
int port;
|
||||||
|
@ -4086,9 +4085,8 @@ static int mv_platform_probe(struct platform_device *pdev)
|
||||||
* Get the register base first
|
* Get the register base first
|
||||||
*/
|
*/
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||||
mmio = devm_ioremap_resource(&pdev->dev, res);
|
if (res == NULL)
|
||||||
if (IS_ERR(mmio))
|
return -EINVAL;
|
||||||
return PTR_ERR(mmio);
|
|
||||||
|
|
||||||
/* allocate host */
|
/* allocate host */
|
||||||
if (pdev->dev.of_node) {
|
if (pdev->dev.of_node) {
|
||||||
|
@ -4132,7 +4130,12 @@ static int mv_platform_probe(struct platform_device *pdev)
|
||||||
hpriv->board_idx = chip_soc;
|
hpriv->board_idx = chip_soc;
|
||||||
|
|
||||||
host->iomap = NULL;
|
host->iomap = NULL;
|
||||||
hpriv->base = mmio - SATAHC0_REG_BASE;
|
hpriv->base = devm_ioremap(&pdev->dev, res->start,
|
||||||
|
resource_size(res));
|
||||||
|
if (!hpriv->base)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
|
hpriv->base -= SATAHC0_REG_BASE;
|
||||||
|
|
||||||
hpriv->clk = clk_get(&pdev->dev, NULL);
|
hpriv->clk = clk_get(&pdev->dev, NULL);
|
||||||
if (IS_ERR(hpriv->clk))
|
if (IS_ERR(hpriv->clk))
|
||||||
|
|
Loading…
Reference in New Issue