mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 08:02:27 +02:00
Qualcomm clock fixes for v6.9
The introduction of support for the external VDD_GFX supply in SA8295P ADP unearthed a lockdep problem in the GDSC code w.r.t regulator supplies. Make the regulator optional, to avoid creating a dummy regulator, on those boards that doesn't use this. While not solving the root cause of the problem, it reduces the impact of the lockdep warning - and it avoids wasting resources. Refactoring of the RPM clock driver accidentally removed num_clks from msm8976. Reintroduce this to get the clocks back. -----BEGIN PGP SIGNATURE----- iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmYj7GAVHGFuZGVyc3Nv bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FNtsQAJMiFTCWPmEw0YHgOh8tu9wKY0E+ ctZ3nwtTC5M9dUTGylcgfXp/swC+nDVUz9xdcYZV1Brx3UffOt3Lk4ypDvYZ94dy tMqN1l9JK5SfffMaYZLzUiWax27zu5L8qmFeLVWFnK7Ot5hd+xa7LFuAS1VDiBbA blkV10KmHG3HwfLd4hyCkXSvFBPtmMDLCTDkwPHmE0tUF9Fu0owRvLmWZVAauiCh fqPOHTW/Hfkg9EavG2eYsy0+kOlO8CEChEAcoOmojv+/3gXdjD4rKuI3KKNprsD7 /ha5PLb2lUagpViKZKjeM83rTRCj6DptFzqzndanqkQUFtjONMWkljdA6+k0sgL2 Cyx+TqbGdIqXp9zcRk1Kc+Lddy/OuekXBDHeZEZL6Rf5ZG84POycbcpmUEjZPGuu KTf/CgDCkfnzqzXJDwhV4qttSdK0eQRoAOPBj2ggCYPjEti7gsmSV8RwaVY/unaR 7buKZRARVt/qrSneF/A4V9b/LsRp9AmMM1lCaEahdL8siGAWUnEV+x2fF2hFLzpR e2azchxRB9+mqrkb1eFfWnThXql/NTMfY8PhPg5cwIKQ/6ldeGQn3/fedOsGCAPa mMKjjVQWWNKFAMcT5H9sgG3YKOxtzhNjCf1NMOthQ5ivDCnyuQhcBNm8dsucnzU3 OJ7sOyYXwBrgeli8 =pzdH -----END PGP SIGNATURE----- Merge tag 'qcom-clk-fixes-for-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into clk-fixes Pull Qualcomm clk driver fixes from Bjorn Andersson: The introduction of support for the external VDD_GFX supply in SA8295P ADP unearthed a lockdep problem in the GDSC code w.r.t regulator supplies. Make the regulator optional, to avoid creating a dummy regulator, on those boards that doesn't use this. While not solving the root cause of the problem, it reduces the impact of the lockdep warning - and it avoids wasting resources. Refactoring of the RPM clock driver accidentally removed num_clks from msm8976. Reintroduce this to get the clocks back. * tag 'qcom-clk-fixes-for-6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: clk: qcom: smd-rpm: Restore msm8976 num_clk clk: qcom: gdsc: treat optional supplies as optional
This commit is contained in:
commit
f8981b0d52
|
|
@ -768,6 +768,7 @@ static struct clk_smd_rpm *msm8976_clks[] = {
|
|||
|
||||
static const struct rpm_smd_clk_desc rpm_clk_msm8976 = {
|
||||
.clks = msm8976_clks,
|
||||
.num_clks = ARRAY_SIZE(msm8976_clks),
|
||||
.icc_clks = bimc_pcnoc_snoc_smmnoc_icc_clks,
|
||||
.num_icc_clks = ARRAY_SIZE(bimc_pcnoc_snoc_smmnoc_icc_clks),
|
||||
};
|
||||
|
|
|
|||
|
|
@ -487,9 +487,14 @@ int gdsc_register(struct gdsc_desc *desc,
|
|||
if (!scs[i] || !scs[i]->supply)
|
||||
continue;
|
||||
|
||||
scs[i]->rsupply = devm_regulator_get(dev, scs[i]->supply);
|
||||
if (IS_ERR(scs[i]->rsupply))
|
||||
return PTR_ERR(scs[i]->rsupply);
|
||||
scs[i]->rsupply = devm_regulator_get_optional(dev, scs[i]->supply);
|
||||
if (IS_ERR(scs[i]->rsupply)) {
|
||||
ret = PTR_ERR(scs[i]->rsupply);
|
||||
if (ret != -ENODEV)
|
||||
return ret;
|
||||
|
||||
scs[i]->rsupply = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
data->num_domains = num;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user