|
@@ -3506,6 +3506,8 @@ static int gcc_msm8960_probe(struct platform_device *pdev)
|
|
|
struct clk *clk;
|
|
|
struct device *dev = &pdev->dev;
|
|
|
const struct of_device_id *match;
|
|
|
+ struct platform_device *tsens;
|
|
|
+ int ret;
|
|
|
|
|
|
match = of_match_device(gcc_msm8960_match_table, &pdev->dev);
|
|
|
if (!match)
|
|
@@ -3520,11 +3522,26 @@ static int gcc_msm8960_probe(struct platform_device *pdev)
|
|
|
if (IS_ERR(clk))
|
|
|
return PTR_ERR(clk);
|
|
|
|
|
|
- return qcom_cc_probe(pdev, match->data);
|
|
|
+ ret = qcom_cc_probe(pdev, match->data);
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
+
|
|
|
+ tsens = platform_device_register_data(&pdev->dev, "qcom-tsens", -1,
|
|
|
+ NULL, 0);
|
|
|
+ if (IS_ERR(tsens))
|
|
|
+ return PTR_ERR(tsens);
|
|
|
+
|
|
|
+ platform_set_drvdata(pdev, tsens);
|
|
|
+
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
static int gcc_msm8960_remove(struct platform_device *pdev)
|
|
|
{
|
|
|
+ struct platform_device *tsens = platform_get_drvdata(pdev);
|
|
|
+
|
|
|
+ platform_device_unregister(tsens);
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|