Loading drivers/platform/msm/sps/sps.c +34 −24 Original line number Diff line number Diff line Loading @@ -2534,20 +2534,8 @@ static int msm_sps_probe(struct platform_device *pdev) goto device_create_err; } sps->dfab_clk = clk_get(sps->dev, "dfab_clk"); if (IS_ERR(sps->dfab_clk)) { if (PTR_ERR(sps->dfab_clk) == -EPROBE_DEFER) ret = -EPROBE_DEFER; else SPS_ERR("sps:fail to get dfab_clk."); goto dfab_clk_err; } else { ret = clk_set_rate(sps->dfab_clk, 64000000); if (ret) { SPS_ERR("sps:failed to set dfab_clk rate."); goto dfab_clk_set_err; } } if (pdev->dev.of_node) sps->dev->of_node = pdev->dev.of_node; if (!d_type) { sps->pmem_clk = clk_get(sps->dev, "mem_clk"); Loading @@ -2556,38 +2544,58 @@ static int msm_sps_probe(struct platform_device *pdev) ret = -EPROBE_DEFER; else SPS_ERR("sps:fail to get pmem_clk."); goto dfab_clk_set_err; goto pmem_clk_err; } else { ret = clk_prepare_enable(sps->pmem_clk); if (ret) { SPS_ERR("sps:failed to enable pmem_clk."); goto pmem_clk_set_err; goto pmem_clk_en_err; } } } #ifdef CONFIG_SPS_SUPPORT_BAMDMA sps->dfab_clk = clk_get(sps->dev, "dfab_clk"); if (IS_ERR(sps->dfab_clk)) { if (PTR_ERR(sps->dfab_clk) == -EPROBE_DEFER) ret = -EPROBE_DEFER; else SPS_ERR("sps:fail to get dfab_clk."); goto dfab_clk_err; } else { ret = clk_set_rate(sps->dfab_clk, 64000000); if (ret) { SPS_ERR("sps:failed to set dfab_clk rate."); clk_put(sps->dfab_clk); goto dfab_clk_err; } } sps->bamdma_clk = clk_get(sps->dev, "dma_bam_pclk"); if (IS_ERR(sps->bamdma_clk)) { if (PTR_ERR(sps->bamdma_clk) == -EPROBE_DEFER) ret = -EPROBE_DEFER; else SPS_ERR("sps:fail to get bamdma_clk."); goto pmem_clk_set_err; clk_put(sps->dfab_clk); goto dfab_clk_err; } else { ret = clk_prepare_enable(sps->bamdma_clk); if (ret) { SPS_ERR("sps:failed to enable bamdma_clk. ret=%d", ret); clk_put(sps->bamdma_clk); goto pmem_clk_set_err; clk_put(sps->dfab_clk); goto dfab_clk_err; } } ret = clk_prepare_enable(sps->dfab_clk); if (ret) { SPS_ERR("sps:failed to enable dfab_clk. ret=%d", ret); clk_disable_unprepare(sps->bamdma_clk); clk_put(sps->bamdma_clk); goto pmem_clk_set_err; clk_put(sps->dfab_clk); goto dfab_clk_err; } #endif ret = sps_device_init(); Loading @@ -2597,8 +2605,9 @@ static int msm_sps_probe(struct platform_device *pdev) clk_disable_unprepare(sps->dfab_clk); clk_disable_unprepare(sps->bamdma_clk); clk_put(sps->bamdma_clk); clk_put(sps->dfab_clk); #endif goto pmem_clk_set_err; goto dfab_clk_err; } #ifdef CONFIG_SPS_SUPPORT_BAMDMA clk_disable_unprepare(sps->dfab_clk); Loading @@ -2609,12 +2618,13 @@ static int msm_sps_probe(struct platform_device *pdev) SPS_INFO("sps:sps is ready."); return 0; pmem_clk_set_err: dfab_clk_err: if (!d_type) clk_disable_unprepare(sps->pmem_clk); pmem_clk_en_err: if (!d_type) clk_put(sps->pmem_clk); dfab_clk_set_err: clk_put(sps->dfab_clk); dfab_clk_err: pmem_clk_err: device_destroy(sps->dev_class, sps->dev_num); device_create_err: unregister_chrdev_region(sps->dev_num, 1); Loading Loading
drivers/platform/msm/sps/sps.c +34 −24 Original line number Diff line number Diff line Loading @@ -2534,20 +2534,8 @@ static int msm_sps_probe(struct platform_device *pdev) goto device_create_err; } sps->dfab_clk = clk_get(sps->dev, "dfab_clk"); if (IS_ERR(sps->dfab_clk)) { if (PTR_ERR(sps->dfab_clk) == -EPROBE_DEFER) ret = -EPROBE_DEFER; else SPS_ERR("sps:fail to get dfab_clk."); goto dfab_clk_err; } else { ret = clk_set_rate(sps->dfab_clk, 64000000); if (ret) { SPS_ERR("sps:failed to set dfab_clk rate."); goto dfab_clk_set_err; } } if (pdev->dev.of_node) sps->dev->of_node = pdev->dev.of_node; if (!d_type) { sps->pmem_clk = clk_get(sps->dev, "mem_clk"); Loading @@ -2556,38 +2544,58 @@ static int msm_sps_probe(struct platform_device *pdev) ret = -EPROBE_DEFER; else SPS_ERR("sps:fail to get pmem_clk."); goto dfab_clk_set_err; goto pmem_clk_err; } else { ret = clk_prepare_enable(sps->pmem_clk); if (ret) { SPS_ERR("sps:failed to enable pmem_clk."); goto pmem_clk_set_err; goto pmem_clk_en_err; } } } #ifdef CONFIG_SPS_SUPPORT_BAMDMA sps->dfab_clk = clk_get(sps->dev, "dfab_clk"); if (IS_ERR(sps->dfab_clk)) { if (PTR_ERR(sps->dfab_clk) == -EPROBE_DEFER) ret = -EPROBE_DEFER; else SPS_ERR("sps:fail to get dfab_clk."); goto dfab_clk_err; } else { ret = clk_set_rate(sps->dfab_clk, 64000000); if (ret) { SPS_ERR("sps:failed to set dfab_clk rate."); clk_put(sps->dfab_clk); goto dfab_clk_err; } } sps->bamdma_clk = clk_get(sps->dev, "dma_bam_pclk"); if (IS_ERR(sps->bamdma_clk)) { if (PTR_ERR(sps->bamdma_clk) == -EPROBE_DEFER) ret = -EPROBE_DEFER; else SPS_ERR("sps:fail to get bamdma_clk."); goto pmem_clk_set_err; clk_put(sps->dfab_clk); goto dfab_clk_err; } else { ret = clk_prepare_enable(sps->bamdma_clk); if (ret) { SPS_ERR("sps:failed to enable bamdma_clk. ret=%d", ret); clk_put(sps->bamdma_clk); goto pmem_clk_set_err; clk_put(sps->dfab_clk); goto dfab_clk_err; } } ret = clk_prepare_enable(sps->dfab_clk); if (ret) { SPS_ERR("sps:failed to enable dfab_clk. ret=%d", ret); clk_disable_unprepare(sps->bamdma_clk); clk_put(sps->bamdma_clk); goto pmem_clk_set_err; clk_put(sps->dfab_clk); goto dfab_clk_err; } #endif ret = sps_device_init(); Loading @@ -2597,8 +2605,9 @@ static int msm_sps_probe(struct platform_device *pdev) clk_disable_unprepare(sps->dfab_clk); clk_disable_unprepare(sps->bamdma_clk); clk_put(sps->bamdma_clk); clk_put(sps->dfab_clk); #endif goto pmem_clk_set_err; goto dfab_clk_err; } #ifdef CONFIG_SPS_SUPPORT_BAMDMA clk_disable_unprepare(sps->dfab_clk); Loading @@ -2609,12 +2618,13 @@ static int msm_sps_probe(struct platform_device *pdev) SPS_INFO("sps:sps is ready."); return 0; pmem_clk_set_err: dfab_clk_err: if (!d_type) clk_disable_unprepare(sps->pmem_clk); pmem_clk_en_err: if (!d_type) clk_put(sps->pmem_clk); dfab_clk_set_err: clk_put(sps->dfab_clk); dfab_clk_err: pmem_clk_err: device_destroy(sps->dev_class, sps->dev_num); device_create_err: unregister_chrdev_region(sps->dev_num, 1); Loading