Merge "slim_msm: Initialize controller before clk_get is called." into msm-3.0
This commit is contained in:
committed by
QuIC Gerrit Code Review
commit
27a4a9b1e1
@@ -1862,11 +1862,6 @@ static int __devinit msm_slim_probe(struct platform_device *pdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
dev->rclk = clk_get(dev->dev, "audio_slimbus_clk");
|
|
||||||
if (!dev->rclk) {
|
|
||||||
dev_err(dev->dev, "slimbus clock not found");
|
|
||||||
goto err_clk_get_failed;
|
|
||||||
}
|
|
||||||
dev->framer.rootfreq = SLIM_ROOT_FREQ >> 3;
|
dev->framer.rootfreq = SLIM_ROOT_FREQ >> 3;
|
||||||
dev->framer.superfreq =
|
dev->framer.superfreq =
|
||||||
dev->framer.rootfreq / SLIM_CL_PER_SUPERFRAME_DIV8;
|
dev->framer.rootfreq / SLIM_CL_PER_SUPERFRAME_DIV8;
|
||||||
@@ -1882,6 +1877,20 @@ static int __devinit msm_slim_probe(struct platform_device *pdev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
msm_slim_prg_slew(pdev, dev);
|
msm_slim_prg_slew(pdev, dev);
|
||||||
|
|
||||||
|
/* Register with framework before enabling frame, clock */
|
||||||
|
ret = slim_add_numbered_controller(&dev->ctrl);
|
||||||
|
if (ret) {
|
||||||
|
dev_err(dev->dev, "error adding controller\n");
|
||||||
|
goto err_ctrl_failed;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
dev->rclk = clk_get(dev->dev, "audio_slimbus_clk");
|
||||||
|
if (!dev->rclk) {
|
||||||
|
dev_err(dev->dev, "slimbus clock not found");
|
||||||
|
goto err_clk_get_failed;
|
||||||
|
}
|
||||||
clk_set_rate(dev->rclk, SLIM_ROOT_FREQ);
|
clk_set_rate(dev->rclk, SLIM_ROOT_FREQ);
|
||||||
clk_enable(dev->rclk);
|
clk_enable(dev->rclk);
|
||||||
|
|
||||||
@@ -1910,13 +1919,6 @@ static int __devinit msm_slim_probe(struct platform_device *pdev)
|
|||||||
*/
|
*/
|
||||||
wmb();
|
wmb();
|
||||||
|
|
||||||
/* Register with framework before enabling frame, clock */
|
|
||||||
ret = slim_add_numbered_controller(&dev->ctrl);
|
|
||||||
if (ret) {
|
|
||||||
dev_err(dev->dev, "error adding controller\n");
|
|
||||||
goto err_ctrl_failed;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Framer register initialization */
|
/* Framer register initialization */
|
||||||
writel_relaxed((0xA << REF_CLK_GEAR) | (0xA << CLK_GEAR) |
|
writel_relaxed((0xA << REF_CLK_GEAR) | (0xA << CLK_GEAR) |
|
||||||
(1 << ROOT_FREQ) | (1 << FRM_ACTIVE) | 1,
|
(1 << ROOT_FREQ) | (1 << FRM_ACTIVE) | 1,
|
||||||
@@ -1969,11 +1971,9 @@ static int __devinit msm_slim_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
err_ctrl_failed:
|
err_ctrl_failed:
|
||||||
writel_relaxed(0, dev->base + COMP_CFG);
|
writel_relaxed(0, dev->base + COMP_CFG);
|
||||||
|
err_clk_get_failed:
|
||||||
kfree(dev->satd);
|
kfree(dev->satd);
|
||||||
err_request_irq_failed:
|
err_request_irq_failed:
|
||||||
clk_disable(dev->rclk);
|
|
||||||
clk_put(dev->rclk);
|
|
||||||
err_clk_get_failed:
|
|
||||||
msm_slim_sps_exit(dev);
|
msm_slim_sps_exit(dev);
|
||||||
err_sps_init_failed:
|
err_sps_init_failed:
|
||||||
iounmap(dev->bam.base);
|
iounmap(dev->bam.base);
|
||||||
|
|||||||
Reference in New Issue
Block a user