Commit a6a5c173 authored by Srinivasa Rao Mandadapu's avatar Srinivasa Rao Mandadapu Committed by Linus Walleij

pinctrl: qcom: Update clock voting as optional

Update bulk clock voting to optional voting as ADSP bypass platform doesn't
need macro and decodec clocks, as these macro and dcodec GDSC switches are
maintained as power domains and operated from lpass clock drivers.
Signed-off-by: default avatarSrinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: default avatarVenkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: default avatarVenkata Prasad Potturu <quic_potturu@quicinc.com>
Reviewed-by: default avatarMatthias Kaehlcke <mka@chromium.org>
Reviewed-by: default avatarStephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/1650285427-19752-8-git-send-email-quic_srivasam@quicinc.comSigned-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 120a5f2e
...@@ -401,9 +401,13 @@ int lpi_pinctrl_probe(struct platform_device *pdev) ...@@ -401,9 +401,13 @@ int lpi_pinctrl_probe(struct platform_device *pdev)
return dev_err_probe(dev, PTR_ERR(pctrl->slew_base), return dev_err_probe(dev, PTR_ERR(pctrl->slew_base),
"Slew resource not provided\n"); "Slew resource not provided\n");
ret = devm_clk_bulk_get(dev, MAX_LPI_NUM_CLKS, pctrl->clks); if (data->is_clk_optional)
ret = devm_clk_bulk_get_optional(dev, MAX_LPI_NUM_CLKS, pctrl->clks);
else
ret = devm_clk_bulk_get(dev, MAX_LPI_NUM_CLKS, pctrl->clks);
if (ret) if (ret)
return dev_err_probe(dev, ret, "Can't get clocks\n"); return ret;
ret = clk_bulk_prepare_enable(MAX_LPI_NUM_CLKS, pctrl->clks); ret = clk_bulk_prepare_enable(MAX_LPI_NUM_CLKS, pctrl->clks);
if (ret) if (ret)
......
...@@ -77,6 +77,7 @@ struct lpi_pinctrl_variant_data { ...@@ -77,6 +77,7 @@ struct lpi_pinctrl_variant_data {
int ngroups; int ngroups;
const struct lpi_function *functions; const struct lpi_function *functions;
int nfunctions; int nfunctions;
bool is_clk_optional;
}; };
int lpi_pinctrl_probe(struct platform_device *pdev); int lpi_pinctrl_probe(struct platform_device *pdev);
......
...@@ -141,6 +141,7 @@ static const struct lpi_pinctrl_variant_data sc7280_lpi_data = { ...@@ -141,6 +141,7 @@ static const struct lpi_pinctrl_variant_data sc7280_lpi_data = {
.ngroups = ARRAY_SIZE(sc7280_groups), .ngroups = ARRAY_SIZE(sc7280_groups),
.functions = sc7280_functions, .functions = sc7280_functions,
.nfunctions = ARRAY_SIZE(sc7280_functions), .nfunctions = ARRAY_SIZE(sc7280_functions),
.is_clk_optional = true,
}; };
static const struct of_device_id lpi_pinctrl_of_match[] = { static const struct of_device_id lpi_pinctrl_of_match[] = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment