@@ -391,5 +391,17 @@ int qcom_cc_probe_by_index(struct platform_device *pdev, int index,
}
EXPORT_SYMBOL_GPL(qcom_cc_probe_by_index);
+int qcom_cc_attach_pds(struct device *dev, struct qcom_cc_desc *desc)
+{
+ int ret;
+
+ ret = devm_pm_domain_attach_list(dev, NULL, &desc->pd_list);
+ if (ret < 0 && ret != -EEXIST)
+ return ret;
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(qcom_cc_attach_pds);
+
MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("QTI Common Clock module");
@@ -38,6 +38,7 @@ struct qcom_cc_desc {
const struct qcom_icc_hws_data *icc_hws;
size_t num_icc_hws;
unsigned int icc_first_node_id;
+ struct dev_pm_domain_list *pd_list;
};
/**
@@ -76,5 +77,6 @@ extern int qcom_cc_probe(struct platform_device *pdev,
const struct qcom_cc_desc *desc);
extern int qcom_cc_probe_by_index(struct platform_device *pdev, int index,
const struct qcom_cc_desc *desc);
+extern int qcom_cc_attach_pds(struct device *dev, struct qcom_cc_desc *desc);
#endif