[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