net: ks8851: Inline ks8851_rx_skb()
[ Upstream commit f96f700449b6d190e06272f1cf732ae8e45b73df ] Both ks8851_rx_skb_par() and ks8851_rx_skb_spi() call netif_rx(skb), inline the netif_rx(skb) call directly into ks8851_common.c and drop the .rx_skb callback and ks8851_rx_skb() wrapper. This removes one indirect call from the driver, no functional change otherwise. Signed-off-by: Marek Vasut <marex@denx.de> Link: https://lore.kernel.org/r/20240405203204.82062-1-marex@denx.de Signed-off-by: Jakub Kicinski <kuba@kernel.org> Stable-dep-of: be0384bf599c ("net: ks8851: Handle softirqs at the end of IRQ thread to fix hang") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
499c993ca7
commit
e454abe5cc
|
@ -368,7 +368,6 @@ union ks8851_tx_hdr {
|
|||
* @rdfifo: FIFO read callback
|
||||
* @wrfifo: FIFO write callback
|
||||
* @start_xmit: start_xmit() implementation callback
|
||||
* @rx_skb: rx_skb() implementation callback
|
||||
* @flush_tx_work: flush_tx_work() implementation callback
|
||||
*
|
||||
* The @statelock is used to protect information in the structure which may
|
||||
|
@ -423,8 +422,6 @@ struct ks8851_net {
|
|||
struct sk_buff *txp, bool irq);
|
||||
netdev_tx_t (*start_xmit)(struct sk_buff *skb,
|
||||
struct net_device *dev);
|
||||
void (*rx_skb)(struct ks8851_net *ks,
|
||||
struct sk_buff *skb);
|
||||
void (*flush_tx_work)(struct ks8851_net *ks);
|
||||
};
|
||||
|
||||
|
|
|
@ -231,16 +231,6 @@ static void ks8851_dbg_dumpkkt(struct ks8851_net *ks, u8 *rxpkt)
|
|||
rxpkt[12], rxpkt[13], rxpkt[14], rxpkt[15]);
|
||||
}
|
||||
|
||||
/**
|
||||
* ks8851_rx_skb - receive skbuff
|
||||
* @ks: The device state.
|
||||
* @skb: The skbuff
|
||||
*/
|
||||
static void ks8851_rx_skb(struct ks8851_net *ks, struct sk_buff *skb)
|
||||
{
|
||||
ks->rx_skb(ks, skb);
|
||||
}
|
||||
|
||||
/**
|
||||
* ks8851_rx_pkts - receive packets from the host
|
||||
* @ks: The device information.
|
||||
|
@ -309,7 +299,7 @@ static void ks8851_rx_pkts(struct ks8851_net *ks)
|
|||
ks8851_dbg_dumpkkt(ks, rxpkt);
|
||||
|
||||
skb->protocol = eth_type_trans(skb, ks->netdev);
|
||||
ks8851_rx_skb(ks, skb);
|
||||
netif_rx(skb);
|
||||
|
||||
ks->netdev->stats.rx_packets++;
|
||||
ks->netdev->stats.rx_bytes += rxlen;
|
||||
|
|
|
@ -210,16 +210,6 @@ static void ks8851_wrfifo_par(struct ks8851_net *ks, struct sk_buff *txp,
|
|||
iowrite16_rep(ksp->hw_addr, txp->data, len / 2);
|
||||
}
|
||||
|
||||
/**
|
||||
* ks8851_rx_skb_par - receive skbuff
|
||||
* @ks: The device state.
|
||||
* @skb: The skbuff
|
||||
*/
|
||||
static void ks8851_rx_skb_par(struct ks8851_net *ks, struct sk_buff *skb)
|
||||
{
|
||||
netif_rx(skb);
|
||||
}
|
||||
|
||||
static unsigned int ks8851_rdreg16_par_txqcr(struct ks8851_net *ks)
|
||||
{
|
||||
return ks8851_rdreg16_par(ks, KS_TXQCR);
|
||||
|
@ -298,7 +288,6 @@ static int ks8851_probe_par(struct platform_device *pdev)
|
|||
ks->rdfifo = ks8851_rdfifo_par;
|
||||
ks->wrfifo = ks8851_wrfifo_par;
|
||||
ks->start_xmit = ks8851_start_xmit_par;
|
||||
ks->rx_skb = ks8851_rx_skb_par;
|
||||
|
||||
#define STD_IRQ (IRQ_LCI | /* Link Change */ \
|
||||
IRQ_RXI | /* RX done */ \
|
||||
|
|
|
@ -298,16 +298,6 @@ static unsigned int calc_txlen(unsigned int len)
|
|||
return ALIGN(len + 4, 4);
|
||||
}
|
||||
|
||||
/**
|
||||
* ks8851_rx_skb_spi - receive skbuff
|
||||
* @ks: The device state
|
||||
* @skb: The skbuff
|
||||
*/
|
||||
static void ks8851_rx_skb_spi(struct ks8851_net *ks, struct sk_buff *skb)
|
||||
{
|
||||
netif_rx(skb);
|
||||
}
|
||||
|
||||
/**
|
||||
* ks8851_tx_work - process tx packet(s)
|
||||
* @work: The work strucutre what was scheduled.
|
||||
|
@ -435,7 +425,6 @@ static int ks8851_probe_spi(struct spi_device *spi)
|
|||
ks->rdfifo = ks8851_rdfifo_spi;
|
||||
ks->wrfifo = ks8851_wrfifo_spi;
|
||||
ks->start_xmit = ks8851_start_xmit_spi;
|
||||
ks->rx_skb = ks8851_rx_skb_spi;
|
||||
ks->flush_tx_work = ks8851_flush_tx_work_spi;
|
||||
|
||||
#define STD_IRQ (IRQ_LCI | /* Link Change */ \
|
||||
|
|
Loading…
Reference in New Issue