tree: https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git testing head: 90e9dec4c7e53c3420fbc3c3b5a0204fff729907 commit: 394975d07b72243e5528674e20c80d3bb39cefa7 [5/6] net: can: flexcan: enable flexcan for all architectures reproduce: # apt-get install sparse git checkout 394975d07b72243e5528674e20c80d3bb39cefa7 make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) >> drivers/net/can/flexcan.c:633:29: sparse: expression using sizeof(void) >> drivers/net/can/flexcan.c:633:29: sparse: expression using sizeof(void) drivers/net/can/flexcan.c:709:23: sparse: expression using sizeof(void) vim +633 drivers/net/can/flexcan.c e955cead Marc Kleine-Budde 2009-07-29 617 30164759 Marc Kleine-Budde 2015-05-10 618 static void flexcan_irq_state(struct net_device *dev, u32 reg_esr) e955cead Marc Kleine-Budde 2009-07-29 619 { e955cead Marc Kleine-Budde 2009-07-29 620 struct flexcan_priv *priv = netdev_priv(dev); e955cead Marc Kleine-Budde 2009-07-29 621 struct sk_buff *skb; e955cead Marc Kleine-Budde 2009-07-29 622 struct can_frame *cf; 238443df Marc Kleine-Budde 2017-01-18 623 enum can_state new_state, rx_state, tx_state; e955cead Marc Kleine-Budde 2009-07-29 624 int flt; 71a3aedc Andri Yngvason 2014-12-03 625 struct can_berr_counter bec; e955cead Marc Kleine-Budde 2009-07-29 626 e955cead Marc Kleine-Budde 2009-07-29 627 flt = reg_esr & FLEXCAN_ESR_FLT_CONF_MASK; e955cead Marc Kleine-Budde 2009-07-29 628 if (likely(flt == FLEXCAN_ESR_FLT_CONF_ACTIVE)) { 71a3aedc Andri Yngvason 2014-12-03 629 tx_state = unlikely(reg_esr & FLEXCAN_ESR_TX_WRN) ? 71a3aedc Andri Yngvason 2014-12-03 630 CAN_STATE_ERROR_WARNING : CAN_STATE_ERROR_ACTIVE; 71a3aedc Andri Yngvason 2014-12-03 631 rx_state = unlikely(reg_esr & FLEXCAN_ESR_RX_WRN) ? 71a3aedc Andri Yngvason 2014-12-03 632 CAN_STATE_ERROR_WARNING : CAN_STATE_ERROR_ACTIVE; 71a3aedc Andri Yngvason 2014-12-03 @633 new_state = max(tx_state, rx_state); 258ce80e Andri Yngvason 2015-03-17 634 } else { 71a3aedc Andri Yngvason 2014-12-03 635 __flexcan_get_berr_counter(dev, &bec); 258ce80e Andri Yngvason 2015-03-17 636 new_state = flt == FLEXCAN_ESR_FLT_CONF_PASSIVE ? 258ce80e Andri Yngvason 2015-03-17 637 CAN_STATE_ERROR_PASSIVE : CAN_STATE_BUS_OFF; 71a3aedc Andri Yngvason 2014-12-03 638 rx_state = bec.rxerr >= bec.txerr ? new_state : 0; 71a3aedc Andri Yngvason 2014-12-03 639 tx_state = bec.rxerr <= bec.txerr ? new_state : 0; 71a3aedc Andri Yngvason 2014-12-03 640 } e955cead Marc Kleine-Budde 2009-07-29 641 e955cead Marc Kleine-Budde 2009-07-29 642 /* state hasn't changed */ e955cead Marc Kleine-Budde 2009-07-29 643 if (likely(new_state == priv->can.state)) 30164759 Marc Kleine-Budde 2015-05-10 644 return; e955cead Marc Kleine-Budde 2009-07-29 645 e955cead Marc Kleine-Budde 2009-07-29 646 skb = alloc_can_err_skb(dev, &cf); e955cead Marc Kleine-Budde 2009-07-29 647 if (unlikely(!skb)) 30164759 Marc Kleine-Budde 2015-05-10 648 return; e955cead Marc Kleine-Budde 2009-07-29 649 71a3aedc Andri Yngvason 2014-12-03 650 can_change_state(dev, cf, tx_state, rx_state); 71a3aedc Andri Yngvason 2014-12-03 651 71a3aedc Andri Yngvason 2014-12-03 652 if (unlikely(new_state == CAN_STATE_BUS_OFF)) 71a3aedc Andri Yngvason 2014-12-03 653 can_bus_off(dev); 71a3aedc Andri Yngvason 2014-12-03 654 30164759 Marc Kleine-Budde 2015-05-10 655 can_rx_offload_irq_queue_err_skb(&priv->offload, skb); 30164759 Marc Kleine-Budde 2015-05-10 656 } e955cead Marc Kleine-Budde 2009-07-29 657 :::::: The code at line 633 was first introduced by commit :::::: 71a3aedce6b37318d0e38676681dff179ec42874 can: flexcan: Consolidate and unify state change handling :::::: TO: Andri Yngvason <andri.yngvason@xxxxxxxxx> :::::: CC: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation -- To unsubscribe from this list: send the line "unsubscribe linux-can" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html