staging: dwc2: use irq_return_t for interrupt handlers
authorMatthijs Kooijman <matthijs@stdin.nl>
Thu, 25 Apr 2013 21:39:14 +0000 (23:39 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 May 2013 22:22:38 +0000 (15:22 -0700)
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>
drivers/staging/dwc2/core_intr.c
drivers/staging/dwc2/hcd.c
drivers/staging/dwc2/hcd.h
drivers/staging/dwc2/hcd_intr.c

index 4c9ad14e90ecdc42af8c611869ba5b14ac576192..e393a95e83b35c7911c5b064dfd9290c3c524f2a 100644 (file)
@@ -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);
index efad02f84e2060a3a04c11a0ddeb36d50722379e..916dceaf6b05f828e063d6f6b65830342a214d5e 100644 (file)
@@ -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);
 }
 
 /*
index d071f1a05df154e12c2213e9c6a524d9f90718b5..8595c31b36ec86918916f860c842601a6a2b5290 100644 (file)
@@ -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
index 6e5dbed6ccec06d8427b995f88bad428d6fcdf15..103c893da4f60d4e48373b518330d5a1d41cdc02 100644 (file)
@@ -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