diff options
author | Matthijs Kooijman <matthijs@stdin.nl> | 2013-04-26 01:39:14 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-05-17 02:22:38 +0400 |
commit | 6aafb003852a8d0c7b96705bab330cb8d51a3c0a (patch) | |
tree | 59935951a821a4aa94d4da03a92177298128d34b /drivers/staging | |
parent | 66513f4926fc66d6839262de1d435e461624a21a (diff) | |
download | linux-6aafb003852a8d0c7b96705bab330cb8d51a3c0a.tar.xz |
staging: dwc2: use irq_return_t for interrupt handlers
The top-level hcd interrupt handlers already used irq_return_t, but the
functions to which it delegates the actual work and the common irq
handler returned plain ints. In addition, they used the IRQ_RETVAL in
the wrong way (but because of the values of the various constants, this
didn't result in wrong behaviour).
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
[matthijs@stdin.nl: Split patch from bigger patch and added commit message]
Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/dwc2/core_intr.c | 6 | ||||
-rw-r--r-- | drivers/staging/dwc2/hcd.c | 3 | ||||
-rw-r--r-- | drivers/staging/dwc2/hcd.h | 6 | ||||
-rw-r--r-- | drivers/staging/dwc2/hcd_intr.c | 10 |
4 files changed, 12 insertions, 13 deletions
diff --git a/drivers/staging/dwc2/core_intr.c b/drivers/staging/dwc2/core_intr.c index 4c9ad14e90ec..e393a95e83b3 100644 --- a/drivers/staging/dwc2/core_intr.c +++ b/drivers/staging/dwc2/core_intr.c @@ -450,7 +450,7 @@ irqreturn_t dwc2_handle_common_intr(int irq, void *dev) { struct dwc2_hsotg *hsotg = dev; u32 gintsts; - int retval = 0; + irqreturn_t retval = IRQ_NONE; if (dwc2_check_core_status(hsotg) < 0) { dev_warn(hsotg->dev, "Controller is disconnected\n"); @@ -461,7 +461,7 @@ irqreturn_t dwc2_handle_common_intr(int irq, void *dev) gintsts = dwc2_read_common_intr(hsotg); if (gintsts & ~GINTSTS_PRTINT) - retval = 1; + retval = IRQ_HANDLED; if (gintsts & GINTSTS_MODEMIS) dwc2_handle_mode_mismatch_intr(hsotg); @@ -500,6 +500,6 @@ irqreturn_t dwc2_handle_common_intr(int irq, void *dev) spin_unlock(&hsotg->lock); out: - return IRQ_RETVAL(retval); + return retval; } EXPORT_SYMBOL_GPL(dwc2_handle_common_intr); diff --git a/drivers/staging/dwc2/hcd.c b/drivers/staging/dwc2/hcd.c index efad02f84e20..916dceaf6b05 100644 --- a/drivers/staging/dwc2/hcd.c +++ b/drivers/staging/dwc2/hcd.c @@ -2533,9 +2533,8 @@ static void _dwc2_hcd_endpoint_reset(struct usb_hcd *hcd, static irqreturn_t _dwc2_hcd_irq(struct usb_hcd *hcd) { struct dwc2_hsotg *hsotg = dwc2_hcd_to_hsotg(hcd); - int retval = dwc2_hcd_intr(hsotg); - return IRQ_RETVAL(retval); + return dwc2_hcd_intr(hsotg); } /* diff --git a/drivers/staging/dwc2/hcd.h b/drivers/staging/dwc2/hcd.h index d071f1a05df1..8595c31b36ec 100644 --- a/drivers/staging/dwc2/hcd.h +++ b/drivers/staging/dwc2/hcd.h @@ -650,10 +650,10 @@ extern void dwc2_hcd_save_data_toggle(struct dwc2_hsotg *hsotg, * * @hsotg: The DWC2 HCD * - * Returns non zero if interrupt is handled - * Return 0 if interrupt is not handled + * Returns IRQ_HANDLED if interrupt is handled + * Return IRQ_NONE if interrupt is not handled */ -extern int dwc2_hcd_intr(struct dwc2_hsotg *hsotg); +extern irqreturn_t dwc2_hcd_intr(struct dwc2_hsotg *hsotg); /** * dwc2_hcd_stop() - Halts the DWC_otg host mode operation diff --git a/drivers/staging/dwc2/hcd_intr.c b/drivers/staging/dwc2/hcd_intr.c index 6e5dbed6ccec..103c893da4f6 100644 --- a/drivers/staging/dwc2/hcd_intr.c +++ b/drivers/staging/dwc2/hcd_intr.c @@ -2062,14 +2062,14 @@ static void dwc2_hc_intr(struct dwc2_hsotg *hsotg) } /* This function handles interrupts for the HCD */ -int dwc2_hcd_intr(struct dwc2_hsotg *hsotg) +irqreturn_t dwc2_hcd_intr(struct dwc2_hsotg *hsotg) { u32 gintsts, dbg_gintsts; - int retval = 0; + irqreturn_t retval = IRQ_NONE; if (dwc2_check_core_status(hsotg) < 0) { dev_warn(hsotg->dev, "Controller is disconnected\n"); - return 0; + return retval; } spin_lock(&hsotg->lock); @@ -2079,10 +2079,10 @@ int dwc2_hcd_intr(struct dwc2_hsotg *hsotg) gintsts = dwc2_read_core_intr(hsotg); if (!gintsts) { spin_unlock(&hsotg->lock); - return 0; + return retval; } - retval = 1; + retval = IRQ_HANDLED; dbg_gintsts = gintsts; #ifndef DEBUG_SOF |