All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Andersson <andersson@kernel.org>
To: Krishna Kurapati <quic_kriskura@quicinc.com>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	 Rob Herring <robh+dt@kernel.org>,
	Wesley Cheng <quic_wcheng@quicinc.com>,
	 Konrad Dybcio <konrad.dybcio@linaro.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	 Conor Dooley <conor+dt@kernel.org>,
	Thinh Nguyen <Thinh.Nguyen@synopsys.com>,
	 Felipe Balbi <balbi@kernel.org>,
	devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	 linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	quic_ppratap@quicinc.com,  quic_jackp@quicinc.com
Subject: Re: [PATCH v14 6/9] usb: dwc3: qcom: Add helper function to request wakeup interrupts
Date: Thu, 8 Feb 2024 20:55:15 -0600	[thread overview]
Message-ID: <emhh7z7dy7jgnmjcefdzmpwz4nf6657zhzow3uxrc2rd347ooi@ks7rfyac56vv> (raw)
In-Reply-To: <20240206051825.1038685-7-quic_kriskura@quicinc.com>

On Tue, Feb 06, 2024 at 10:48:22AM +0530, Krishna Kurapati wrote:
> The logic for requesting interrupts is duplicated for each interrupt. In
> the upcoming patches that introduces support for multiport, it would be
> better to clean up the duplication before reading mulitport related
> interrupts.
> 
> Refactor interrupt setup call by adding a new helper function for
> requesting the wakeup interrupts. To simplify implementation, make
> the display name same as the interrupt name expected in DT.
> 
> Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>

Reviewed-by: Bjorn Andersson <andersson@kernel.org>

Regards,
Bjorn

> ---
>  drivers/usb/dwc3/dwc3-qcom.c | 53 ++++++++++++++++--------------------
>  1 file changed, 24 insertions(+), 29 deletions(-)
> 
> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
> index dbd6a5b2b289..08df29584366 100644
> --- a/drivers/usb/dwc3/dwc3-qcom.c
> +++ b/drivers/usb/dwc3/dwc3-qcom.c
> @@ -535,6 +535,22 @@ static int dwc3_qcom_get_irq(struct platform_device *pdev,
>  	return ret;
>  }
>  
> +static int dwc3_qcom_request_irq(struct dwc3_qcom *qcom, int irq,
> +				 const char *name)
> +{
> +	int ret;
> +
> +	/* Keep wakeup interrupts disabled until suspend */
> +	ret = devm_request_threaded_irq(qcom->dev, irq, NULL,
> +					qcom_dwc3_resume_irq,
> +					IRQF_ONESHOT | IRQF_NO_AUTOEN,
> +					name, qcom);
> +	if (ret)
> +		dev_err(qcom->dev, "failed to request irq %s: %d\n", name, ret);
> +
> +	return ret;
> +}
> +
>  static int dwc3_qcom_setup_irq(struct platform_device *pdev)
>  {
>  	struct dwc3_qcom *qcom = platform_get_drvdata(pdev);
> @@ -545,57 +561,36 @@ static int dwc3_qcom_setup_irq(struct platform_device *pdev)
>  	irq = dwc3_qcom_get_irq(pdev, "qusb2_phy",
>  				pdata ? pdata->qusb2_phy_irq_index : -1);
>  	if (irq > 0) {
> -		/* Keep wakeup interrupts disabled until suspend */
> -		ret = devm_request_threaded_irq(qcom->dev, irq, NULL,
> -					qcom_dwc3_resume_irq,
> -					IRQF_ONESHOT | IRQF_NO_AUTOEN,
> -					"qcom_dwc3 QUSB2", qcom);
> -		if (ret) {
> -			dev_err(qcom->dev, "qusb2_phy_irq failed: %d\n", ret);
> +		ret = dwc3_qcom_request_irq(qcom, irq, "hs_phy_irq");
> +		if (ret)
>  			return ret;
> -		}
>  		qcom->qusb2_phy_irq = irq;
>  	}
>  
>  	irq = dwc3_qcom_get_irq(pdev, "dp_hs_phy_irq",
>  				pdata ? pdata->dp_hs_phy_irq_index : -1);
>  	if (irq > 0) {
> -		ret = devm_request_threaded_irq(qcom->dev, irq, NULL,
> -					qcom_dwc3_resume_irq,
> -					IRQF_ONESHOT | IRQF_NO_AUTOEN,
> -					"qcom_dwc3 DP_HS", qcom);
> -		if (ret) {
> -			dev_err(qcom->dev, "dp_hs_phy_irq failed: %d\n", ret);
> +		ret = dwc3_qcom_request_irq(qcom, irq, "dp_hs_phy_irq");
> +		if (ret)
>  			return ret;
> -		}
>  		qcom->dp_hs_phy_irq = irq;
>  	}
>  
>  	irq = dwc3_qcom_get_irq(pdev, "dm_hs_phy_irq",
>  				pdata ? pdata->dm_hs_phy_irq_index : -1);
>  	if (irq > 0) {
> -		ret = devm_request_threaded_irq(qcom->dev, irq, NULL,
> -					qcom_dwc3_resume_irq,
> -					IRQF_ONESHOT | IRQF_NO_AUTOEN,
> -					"qcom_dwc3 DM_HS", qcom);
> -		if (ret) {
> -			dev_err(qcom->dev, "dm_hs_phy_irq failed: %d\n", ret);
> +		ret = dwc3_qcom_request_irq(qcom, irq, "dm_hs_phy_irq");
> +		if (ret)
>  			return ret;
> -		}
>  		qcom->dm_hs_phy_irq = irq;
>  	}
>  
>  	irq = dwc3_qcom_get_irq(pdev, "ss_phy_irq",
>  				pdata ? pdata->ss_phy_irq_index : -1);
>  	if (irq > 0) {
> -		ret = devm_request_threaded_irq(qcom->dev, irq, NULL,
> -					qcom_dwc3_resume_irq,
> -					IRQF_ONESHOT | IRQF_NO_AUTOEN,
> -					"qcom_dwc3 SS", qcom);
> -		if (ret) {
> -			dev_err(qcom->dev, "ss_phy_irq failed: %d\n", ret);
> +		ret = dwc3_qcom_request_irq(qcom, irq, "ss_phy_irq");
> +		if (ret)
>  			return ret;
> -		}
>  		qcom->ss_phy_irq = irq;
>  	}
>  
> -- 
> 2.34.1
> 

  reply	other threads:[~2024-02-09  2:55 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-06  5:18 [PATCH v14 0/9] Add multiport support for DWC3 controllers Krishna Kurapati
2024-02-06  5:18 ` [PATCH v14 1/9] dt-bindings: usb: Add bindings for multiport properties on DWC3 controller Krishna Kurapati
2024-02-09  3:00   ` Bjorn Andersson
2024-02-13 15:29   ` Rob Herring
2024-02-06  5:18 ` [PATCH v14 2/9] usb: dwc3: core: Access XHCI address space temporarily to read port info Krishna Kurapati
2024-02-08 23:42   ` Thinh Nguyen
2024-02-09  2:00     ` Krishna Kurapati PSSNV
2024-02-15 23:43       ` Thinh Nguyen
2024-02-09  2:45   ` Bjorn Andersson
2024-02-06  5:18 ` [PATCH v14 3/9] usb: dwc3: core: Skip setting event buffers for host only controllers Krishna Kurapati
2024-02-09  2:46   ` Bjorn Andersson
2024-02-06  5:18 ` [PATCH v14 4/9] usb: dwc3: core: Refactor PHY logic to support Multiport Controller Krishna Kurapati
2024-02-09  2:53   ` Bjorn Andersson
2024-02-15 23:46   ` Thinh Nguyen
2024-02-06  5:18 ` [PATCH v14 5/9] dt-bindings: usb: qcom,dwc3: Add bindings for SC8280 Multiport Krishna Kurapati
2024-02-09  2:54   ` Bjorn Andersson
2024-02-13 15:32   ` Rob Herring
2024-02-06  5:18 ` [PATCH v14 6/9] usb: dwc3: qcom: Add helper function to request wakeup interrupts Krishna Kurapati
2024-02-09  2:55   ` Bjorn Andersson [this message]
2024-02-15 23:47   ` Thinh Nguyen
2024-02-06  5:18 ` [PATCH v14 7/9] usb: dwc3: qcom: Refactor IRQ handling in glue driver Krishna Kurapati
2024-02-09  2:57   ` Bjorn Andersson
2024-02-15 23:48   ` Thinh Nguyen
2024-02-06  5:18 ` [PATCH v14 8/9] usb: dwc3: qcom: Enable wakeup for applicable ports of multiport Krishna Kurapati
2024-02-09  2:58   ` Bjorn Andersson
2024-02-15 23:49   ` Thinh Nguyen
2024-02-06  5:18 ` [PATCH v14 9/9] usb: dwc3: qcom: Add multiport suspend/resume support for wrapper Krishna Kurapati
2024-02-09  2:59   ` Bjorn Andersson
2024-02-15 23:49   ` Thinh Nguyen
2024-02-06  8:00 ` [PATCH v14 0/9] Add multiport support for DWC3 controllers Dmitry Baryshkov
2024-02-06  8:15   ` Krishna Kurapati PSSNV
2024-02-06  8:43     ` Dmitry Baryshkov
2024-02-06  8:45       ` Krishna Kurapati PSSNV
2024-02-06  8:47         ` Dmitry Baryshkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=emhh7z7dy7jgnmjcefdzmpwz4nf6657zhzow3uxrc2rd347ooi@ks7rfyac56vv \
    --to=andersson@kernel.org \
    --cc=Thinh.Nguyen@synopsys.com \
    --cc=balbi@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=quic_jackp@quicinc.com \
    --cc=quic_kriskura@quicinc.com \
    --cc=quic_ppratap@quicinc.com \
    --cc=quic_wcheng@quicinc.com \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.