ravb: make ravb_ptp_interrupt() *void*
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Sun, 10 Apr 2016 20:55:15 +0000 (23:55 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 14 Apr 2016 04:48:33 +0000 (00:48 -0400)
When we have the ISS.CGIS bit set, we already know that gPTP interrupt has
happened, so an extra GIS register check at the end of ravb_ptp_interrupt()
seems superfluous.  We can model the gPTP interrupt  handler like all other
dedicated interrupt handlers in the driver and make it *void*.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/renesas/ravb.h
drivers/net/ethernet/renesas/ravb_main.c
drivers/net/ethernet/renesas/ravb_ptp.c

index 5c1624147778a509f59282d74d5a79941c66d776..4e5d5e953e15b680a2660a5b381d0a2eaec28782 100644 (file)
@@ -1045,7 +1045,7 @@ void ravb_modify(struct net_device *ndev, enum ravb_reg reg, u32 clear,
                 u32 set);
 int ravb_wait(struct net_device *ndev, enum ravb_reg reg, u32 mask, u32 value);
 
-irqreturn_t ravb_ptp_interrupt(struct net_device *ndev);
+void ravb_ptp_interrupt(struct net_device *ndev);
 void ravb_ptp_init(struct net_device *ndev, struct platform_device *pdev);
 void ravb_ptp_stop(struct net_device *ndev);
 
index 4b71951e185d8ad73e145d95693be097c46e33d0..0f1b314f4d64ec509a053ad637a280261db26e1f 100644 (file)
@@ -807,8 +807,10 @@ static irqreturn_t ravb_interrupt(int irq, void *dev_id)
        }
 
        /* gPTP interrupt status summary */
-       if ((iss & ISS_CGIS) && ravb_ptp_interrupt(ndev) == IRQ_HANDLED)
+       if (iss & ISS_CGIS) {
+               ravb_ptp_interrupt(ndev);
                result = IRQ_HANDLED;
+       }
 
        mmiowb();
        spin_unlock(&priv->lock);
@@ -838,8 +840,10 @@ static irqreturn_t ravb_multi_interrupt(int irq, void *dev_id)
        }
 
        /* gPTP interrupt status summary */
-       if ((iss & ISS_CGIS) && ravb_ptp_interrupt(ndev) == IRQ_HANDLED)
+       if (iss & ISS_CGIS) {
+               ravb_ptp_interrupt(ndev);
                result = IRQ_HANDLED;
+       }
 
        mmiowb();
        spin_unlock(&priv->lock);
index f1b2cbb336e8343aab95e301cac778a099d41950..eede70ec37f8c02759727ff7e881464adf7fe707 100644 (file)
@@ -296,7 +296,7 @@ static const struct ptp_clock_info ravb_ptp_info = {
 };
 
 /* Caller must hold the lock */
-irqreturn_t ravb_ptp_interrupt(struct net_device *ndev)
+void ravb_ptp_interrupt(struct net_device *ndev)
 {
        struct ravb_private *priv = netdev_priv(ndev);
        u32 gis = ravb_read(ndev, GIS);
@@ -319,12 +319,7 @@ irqreturn_t ravb_ptp_interrupt(struct net_device *ndev)
                }
        }
 
-       if (gis) {
-               ravb_write(ndev, ~gis, GIS);
-               return IRQ_HANDLED;
-       }
-
-       return IRQ_NONE;
+       ravb_write(ndev, ~gis, GIS);
 }
 
 void ravb_ptp_init(struct net_device *ndev, struct platform_device *pdev)