clk: qcom: gcc-msm8960: create tsens device if there are no child nodes
Currently gcc-msm8960 driver manually creates tsens platform device manually. It would be better to follow IPQ8064 approach, where tsens device is defined as gcc's child device in the device tree. If nothing else, it removes gcc's dependency on QFPROM, thus allowing clock controller to be probed earlier. Don't create it in case there are available child nodes (tsens) inside the gcc's device tree node. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Link: https://lore.kernel.org/r/20220521151437.1489111-4-dmitry.baryshkov@linaro.org
This commit is contained in:
parent
621f984840
commit
93b793d88d
@ -3641,6 +3641,9 @@ static int gcc_msm8960_probe(struct platform_device *pdev)
|
||||
hfpll_l2.d = &hfpll_l2_8064_data;
|
||||
}
|
||||
|
||||
if (of_get_available_child_count(pdev->dev.of_node) != 0)
|
||||
return devm_of_platform_populate(&pdev->dev);
|
||||
|
||||
tsens = platform_device_register_data(&pdev->dev, "qcom-tsens", -1,
|
||||
NULL, 0);
|
||||
if (IS_ERR(tsens))
|
||||
@ -3655,7 +3658,8 @@ static int gcc_msm8960_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct platform_device *tsens = platform_get_drvdata(pdev);
|
||||
|
||||
platform_device_unregister(tsens);
|
||||
if (tsens)
|
||||
platform_device_unregister(tsens);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user