From: Yanfei Xu <[email protected]> After the commit 83521390e("s32: flexcan: Remove duplicated code as part of kernel 5.4-rt initial merge"), the flexcan_mailbox_read() is not invoked anymore. To avoid the below compile-time warning, let's remove it.
warning: 'flexcan_mailbox_read' defined but not used[-Wunused-function] Signed-off-by: Yanfei Xu <[email protected]> --- drivers/net/can/flexcan.c | 111 -------------------------------------- 1 file changed, 111 deletions(-) diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c index 69d055127406..9cf016f7021a 100755 --- a/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c @@ -1051,117 +1051,6 @@ static inline struct flexcan_priv *rx_offload_to_priv(struct can_rx_offload *off return container_of(offload, struct flexcan_priv, offload); } -static unsigned int flexcan_mailbox_read(struct can_rx_offload *offload, - bool drop, struct sk_buff **skb, - u32 *timestamp, unsigned int n) -{ - struct flexcan_priv *priv = rx_offload_to_priv(offload); - struct flexcan_regs __iomem *regs = priv->regs; - struct flexcan_mb __iomem *mb; - struct canfd_frame *cf; - u32 reg_ctrl, reg_id, reg_iflag1; - int i, j; - unsigned long flags; - - mb = flexcan_get_mb(priv, n); - - spin_lock_irqsave(&priv->timer_access, flags); - if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) { - u32 code; - - do { - reg_ctrl = priv->read(&mb->can_ctrl); - } while (reg_ctrl & FLEXCAN_MB_CODE_RX_BUSY_BIT); - - /* is this MB empty? */ - code = reg_ctrl & FLEXCAN_MB_CODE_MASK; - if ((code != FLEXCAN_MB_CODE_RX_FULL) && - (code != FLEXCAN_MB_CODE_RX_OVERRUN)) { - spin_unlock_irqrestore(&priv->timer_access, flags); - return 0; - } - - if (code == FLEXCAN_MB_CODE_RX_OVERRUN) { - /* This MB was overrun, we lost data */ - offload->dev->stats.rx_over_errors++; - offload->dev->stats.rx_errors++; - } - } else { - reg_iflag1 = priv->read(®s->iflag1); - if (!(reg_iflag1 & FLEXCAN_IFLAG_RX_FIFO_AVAILABLE)) { - spin_unlock_irqrestore(&priv->timer_access, flags); - return 0; - } - - reg_ctrl = priv->read(&mb->can_ctrl); - } - - if (!drop) { - if (reg_ctrl & FLEXCAN_MB_CNT_EDL) - *skb = alloc_canfd_skb(offload->dev, &cf); - else - *skb = alloc_can_skb(offload->dev, - (struct can_frame **)&cf); - - if (!*skb) - goto ack_mailbox; - - /* increase timstamp to full 32 bit */ - *timestamp = reg_ctrl << 16; - - reg_id = priv->read(&mb->can_id); - if (reg_ctrl & FLEXCAN_MB_CNT_IDE) - cf->can_id = ((reg_id >> 0) & CAN_EFF_MASK) | - CAN_EFF_FLAG; - else - cf->can_id = (reg_id >> 18) & CAN_SFF_MASK; - - if (reg_ctrl & FLEXCAN_MB_CNT_EDL) { - cf->len = can_dlc2len((reg_ctrl >> 16) & 0x0F); - - - if (reg_ctrl & FLEXCAN_MB_CNT_BRS) - cf->flags |= CANFD_BRS; - } else { - cf->len = get_can_dlc((reg_ctrl >> 16) & 0x0F); - - if (reg_ctrl & FLEXCAN_MB_CNT_RTR) - cf->can_id |= CAN_RTR_FLAG; - } - - if (reg_ctrl & FLEXCAN_MB_CNT_ESI) { - cf->flags |= CANFD_ESI; - netdev_warn(priv->can.dev, "ESI Error\n"); - } - - for (i = 0, j = 0; i < cf->len; i += sizeof(u32), j++) { - __be32 data = cpu_to_be32(priv->read(&mb->data[j])); - *(__be32 *)(cf->data + i) = data; - } - } - -ack_mailbox: - /* mark as read */ - if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) { - /* Clear IRQ */ - if (n < 32) - priv->write(BIT(n), ®s->iflag1); - else - priv->write(BIT(n - 32), ®s->iflag2); - } else { - priv->write(FLEXCAN_IFLAG_RX_FIFO_AVAILABLE, ®s->iflag1); - } - - /* Read the Free Running Timer. It is optional but recommended - * to unlock Mailbox as soon as possible and make it available - * for reception. - */ - priv->read(®s->timer); - spin_unlock_irqrestore(&priv->timer_access, flags); - - return 1; -} - static inline u64 flexcan_read_reg_iflag_rx(struct flexcan_priv *priv) { struct flexcan_regs __iomem *regs = priv->regs; -- 2.18.2
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#9398): https://lists.yoctoproject.org/g/linux-yocto/message/9398 Mute This Topic: https://lists.yoctoproject.org/mt/79974658/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
