]> Pileus Git - ~andy/linux/blobdiff - sound/soc/fsl/fsl_ssi.c
ASoC: p1022ds: fix incorrect referencing of device tree properties
[~andy/linux] / sound / soc / fsl / fsl_ssi.c
index 313e0ccedd5b6ad64d270367a4e40ac78f80adf8..d48afea5d93d91c5b95d718768a239683c4f05d3 100644 (file)
@@ -678,7 +678,12 @@ static int __devinit fsl_ssi_probe(struct platform_device *pdev)
                kfree(ssi_private);
                return ret;
        }
-       ssi_private->ssi = ioremap(res.start, 1 + res.end - res.start);
+       ssi_private->ssi = of_iomap(np, 0);
+       if (!ssi_private->ssi) {
+               dev_err(&pdev->dev, "could not map device resources\n");
+               kfree(ssi_private);
+               return -ENOMEM;
+       }
        ssi_private->ssi_phys = res.start;
        ssi_private->irq = irq_of_parse_and_map(np, 0);
 
@@ -691,7 +696,7 @@ static int __devinit fsl_ssi_probe(struct platform_device *pdev)
        /* Determine the FIFO depth. */
        iprop = of_get_property(np, "fsl,fifo-depth", NULL);
        if (iprop)
-               ssi_private->fifo_depth = *iprop;
+               ssi_private->fifo_depth = be32_to_cpup(iprop);
        else
                 /* Older 8610 DTs didn't have the fifo-depth property */
                ssi_private->fifo_depth = 8;