[PATCH] can: rockchip_canfd: fix return type of rkcanfd_start_xmit()

Marc Kleine-Budde mkl at pengutronix.de
Wed Sep 11 01:18:04 PDT 2024


On 10.09.2024 12:05:25, Nathan Chancellor wrote:
> > I was a bit hasty yesterday, clang-20 and W=1 produces these errors:
> > 
> > | include/linux/vmstat.h:517:36: error: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Werror,-Wenum-enum-conversion]
> > |   517 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
> > |       |                               ~~~~~~~~~~~ ^ ~~~
> > | 1 error generated.
> 
> Unfortunately, this is a completely tangential issue. You can see some
> backstory behind it in commit 75b5ab134bb5 ("kbuild: Move
> -Wenum-{compare-conditional,enum-conversion} into W=1"). To be honest, I
> should consider moving that to W=2...

Thanks for the background info. I wanted to point out that at least
clang-20 with W=1 finds _something_, though not that what I wanted to
reproduce :)

> > However I fail to reproduce the ndo_start_xmit problem. Even with 18.1.8
> > from kernel.org.
> > 
> > 
> > The following command (ARCH is unset, compiling x86 -> x86) produces the
> > above shown "vmstat.h" problems....
> > 
> > | $ make LLVM=1 LLVM_IAS=1 LLVM_SUFFIX=-20 drivers/net/can/rockchip/  W=1 CONFIG_WERROR=0
> 
> FYI, you could shorten this to just:
> 
>   $ make LLVM=-20 drivers/net/can/rockchip/ W=1 CONFIG_WERROR=0
> 
> As LLVM_SUFFIX will be set through LLVM and LLVM_IAS has defaulted to 1
> since 5.15.

Thanks, scripts updated :)

> Does CONFIG_WERROR=0 work? It seems like it is still present above.

Yes, it works.

> > ... but not the ndo_start_xmit problem.
> > 
> > Am I missing a vital .config option?
> 
> No, I might not have made it clear in this commit message but this
> warning is not on by default. I am looking to turn it on at some point
> so I keep up with the warnings that it produces but there is one
> subsystem that has several instances and I am unsure of how to solve
> them to the maintainer's satisfaction. You can test it by adding
> 
>   KCFLAGS=-Wincompatible-function-pointer-types-strict
> 
> to your make command above and it should reproduce.

That was the missing link. Can reproduce now, thanks!

regards,
Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde          |
Embedded Linux                   | https://www.pengutronix.de |
Vertretung Nürnberg              | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-9   |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-rockchip/attachments/20240911/6f564948/attachment.sig>


More information about the Linux-rockchip mailing list