ravb: make ravb_ptp_interrupt() *void*
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>
This commit is contained in:
parent
b9aa78d4fb
commit
d0988a5f77
|
@ -1045,7 +1045,7 @@ void ravb_modify(struct net_device *ndev, enum ravb_reg reg, u32 clear,
|
||||||
u32 set);
|
u32 set);
|
||||||
int ravb_wait(struct net_device *ndev, enum ravb_reg reg, u32 mask, u32 value);
|
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_init(struct net_device *ndev, struct platform_device *pdev);
|
||||||
void ravb_ptp_stop(struct net_device *ndev);
|
void ravb_ptp_stop(struct net_device *ndev);
|
||||||
|
|
||||||
|
|
|
@ -807,8 +807,10 @@ static irqreturn_t ravb_interrupt(int irq, void *dev_id)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* gPTP interrupt status summary */
|
/* 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;
|
result = IRQ_HANDLED;
|
||||||
|
}
|
||||||
|
|
||||||
mmiowb();
|
mmiowb();
|
||||||
spin_unlock(&priv->lock);
|
spin_unlock(&priv->lock);
|
||||||
|
@ -838,8 +840,10 @@ static irqreturn_t ravb_multi_interrupt(int irq, void *dev_id)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* gPTP interrupt status summary */
|
/* 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;
|
result = IRQ_HANDLED;
|
||||||
|
}
|
||||||
|
|
||||||
mmiowb();
|
mmiowb();
|
||||||
spin_unlock(&priv->lock);
|
spin_unlock(&priv->lock);
|
||||||
|
|
|
@ -296,7 +296,7 @@ static const struct ptp_clock_info ravb_ptp_info = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Caller must hold the lock */
|
/* 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);
|
struct ravb_private *priv = netdev_priv(ndev);
|
||||||
u32 gis = ravb_read(ndev, GIS);
|
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);
|
||||||
ravb_write(ndev, ~gis, GIS);
|
|
||||||
return IRQ_HANDLED;
|
|
||||||
}
|
|
||||||
|
|
||||||
return IRQ_NONE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ravb_ptp_init(struct net_device *ndev, struct platform_device *pdev)
|
void ravb_ptp_init(struct net_device *ndev, struct platform_device *pdev)
|
||||||
|
|
Loading…
Reference in New Issue