CHECK: Macro argument 'm' may be better as '(m)' to avoid precedence issues #44: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:992: +#define STAT_RTNL(m) { \ .stat_string = __stringify(m), \ + .stat_sizeof = sizeof(((struct rtnl_link_stats64 *)0)->m), \ + .stat_offset = offsetof(struct rtnl_link_stats64, m), \ + .type = BCMGENET_STAT_RTNL, \ } CHECK: Macro argument 's' may be better as '(s)' to avoid precedence issues #59: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:1006: +#define STAT_GENET_SOFT_MIB64(str, s, m) { \ + .stat_string = str, \ + .stat_sizeof = sizeof(((struct bcmgenet_priv *)0)->s.m), \ + .stat_offset = offsetof(struct bcmgenet_priv, s.m), \ + .type = BCMGENET_STAT_SOFT64, \ + .syncp_offset = offsetof(struct bcmgenet_priv, s.syncp), \ +} CHECK: Macro argument 'stats' may be better as '(stats)' to avoid precedence issues #130: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:1147: +#define BCMGENET_STATS64_ADD(stats, m, v) \ + do { \ + u64_stats_update_begin(&stats->syncp); \ + u64_stats_add(&stats->m, v); \ + u64_stats_update_end(&stats->syncp); \ + } while (0) CHECK: Macro argument 'm' may be better as '(m)' to avoid precedence issues #130: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:1147: +#define BCMGENET_STATS64_ADD(stats, m, v) \ + do { \ + u64_stats_update_begin(&stats->syncp); \ + u64_stats_add(&stats->m, v); \ + u64_stats_update_end(&stats->syncp); \ + } while (0) CHECK: Macro argument 'stats' may be better as '(stats)' to avoid precedence issues #137: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:1154: +#define BCMGENET_STATS64_INC(stats, m) \ + do { \ + u64_stats_update_begin(&stats->syncp); \ + u64_stats_inc(&stats->m); \ + u64_stats_update_end(&stats->syncp); \ + } while (0) CHECK: Macro argument 'm' may be better as '(m)' to avoid precedence issues #137: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:1154: +#define BCMGENET_STATS64_INC(stats, m) \ + do { \ + u64_stats_update_begin(&stats->syncp); \ + u64_stats_inc(&stats->m); \ + u64_stats_update_end(&stats->syncp); \ + } while (0) WARNING: line length of 94 exceeds 80 columns #194: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:1305: + data[i] = u64_stats_read((u64_stats_t *)(p + s->stat_offset)); CHECK: Alignment should match open parenthesis #202: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:1313: + if (sizeof(unsigned long) != sizeof(u32) && + s->stat_sizeof == sizeof(unsigned long)) WARNING: line length of 97 exceeds 80 columns #375: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:3567: + struct rtnl_link_stats64 *stats) CHECK: Alignment should match open parenthesis #375: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:3567: +static void bcmgenet_get_stats64(struct net_device *dev, + struct rtnl_link_stats64 *stats) ERROR: trailing whitespace #402: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:3586: +^I^I^I$ CHECK: Blank lines aren't necessary after an open brace '{' #402: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:3586: + do { + WARNING: line length of 84 exceeds 80 columns #430: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:3608: + rx_length_errors = u64_stats_read(&rx_stats->length_errors); WARNING: line length of 82 exceeds 80 columns #433: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:3611: + rx_frame_errors = u64_stats_read(&rx_stats->frame_errors); WARNING: line length of 92 exceeds 80 columns #434: FILE: drivers/net/ethernet/broadcom/genet/bcmgenet.c:3612: + rx_fragmented_errors = u64_stats_read(&rx_stats->fragmented_errors); total: 1 errors, 5 warnings, 9 checks, 481 lines checked NOTE: For some of the reported defects, checkpatch may be able to mechanically convert to the typical style using --fix or --fix-inplace. NOTE: Whitespace errors detected. You may wish to use scripts/cleanpatch or scripts/cleanfile Commit a6df1ccfcdcb ("net: bcmgenet: switch to use 64bit statistics") has style problems, please review. NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT BAD_REPORTED_BY_LINK CAMELCASE COMMIT_LOG_LONG_LINE GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS.