Re: [PATCH v2] ASoC: qcom: soundwire: Add support for controlling audio CGCR from HLOS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 6/1/2022 4:02 AM, Matthias Kaehlcke wrote:
Thanks for Your Time Matthias!!!
On Tue, May 24, 2022 at 04:19:47PM +0530, Srinivasa Rao Mandadapu wrote:
On 5/21/2022 8:43 AM, Stephen Boyd wrote:
Thanks for your time Stephen!!!
Quoting Srinivasa Rao Mandadapu (2022-05-18 05:42:35)
diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c
index da1ad7e..445e481 100644
--- a/drivers/soundwire/qcom.c
+++ b/drivers/soundwire/qcom.c
@@ -1333,6 +1337,10 @@ static int qcom_swrm_probe(struct platform_device *pdev)
          ctrl->bus.compute_params = &qcom_swrm_compute_params;
          ctrl->bus.clk_stop_timeout = 300;

+       ctrl->audio_cgcr = devm_reset_control_get_exclusive(dev, "swr_audio_cgcr");
+       if (IS_ERR(ctrl->audio_cgcr))
+               dev_err(dev, "Failed to get audio_cgcr reset required for soundwire-v1.6.0\n");
Why is there no return on error here? Is the reset optional?
Yes it's optional. For older platforms this is not required.
If it's optional then either there should be no error message, or the
error message should only be logged when the version is >= 1.6.0. There
are few things worse than a kernel log riddled with misleading error
messages.

In that case, it can be done like below. Kindly let me know your opinion on this.

if (ctrl->version >= 0x01060000) {
    ctrl->audio_cgcr = devm_reset_control_get_exclusive(dev, "swr_audio_cgcr");
        if (IS_ERR(ctrl->audio_cgcr)) {
            dev_err(dev, "Failed to get audio_cgcr reset required for soundwire-v1.6.0\n");
            ret = PTR_ERR(ctrl->audio_cgcr);
            goto err_clk;
        }
    }




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux