On Fri, Jun 3, 2022 at 1:03 PM Srinivasa Rao Mandadapu quic_srivasam@quicinc.com wrote:
@@ -149,6 +159,10 @@ static const struct of_device_id lpi_pinctrl_of_match[] = { .compatible = "qcom,sc7280-lpass-lpi-pinctrl", .data = &sc7280_lpi_data, },
{
.compatible = "qcom,sc7280-lpass-adsp-lpi-pinctrl",
.data = &sc7280_adsp_lpi_data,
},
Drop this and instead add some code in the probe() in drivers/pinctrl/qcom/pinctrl-lpass-lpi.c lines:
if (of_device_is_compatible(np, "qcom,sc7280-lpass-lpi-pinctrl") && of_property_read_bool(np, "qcom,adsp-mode)) data = &sc7280_adsp_lpi_data;
Here, only diff between ADSP and ADSP bypass variant dats is "is_clk_optional" field.
So we can keep something like this. Kindly suggest, if it's not making sense.
if (of_device_is_compatible(np, "qcom,sc7280-lpass-lpi-pinctrl") && of_property_read_bool(np, "qcom,adsp-mode)) data->is_clk_optional = false;
Looks good to me!
Yours, Linus Walleij