build failure of next-20221005 due to 4078ec1ef5ed ("LoongArch: Use TLB for ioremap()")
Subsystems (2)
Hi All,
The builds of loongarch allmodconfig have failed to build next-20221005 with errors
sound/soc/mediatek/common/mtk-btcvsd.c: In function 'mtk_btcvsd_snd_remove':sound/soc/mediatek/common/mtk-btcvsd.c:1394:32: error: unused variable 'btcvsd' [-Werror=unused-variable]
1394 | struct mtk_btcvsd_snd *btcvsd = dev_get_drvdata(&pdev->dev);
| ^~~~~~
sound/soc/sof/intel/hda.c: In function 'hda_dsp_remove':sound/soc/sof/intel/hda.c:1185:26: error: unused variable 'bus' [-Werror=unused-variable]
1185 | struct hdac_bus *bus = sof_to_bus(sdev);
| ^~~
drivers/mfd/asic3.c: In function 'asic3_mfd_remove':drivers/mfd/asic3.c:940:23: error: unused variable 'asic' [-Werror=unused-variable]
940 | struct asic3 *asic = platform_get_drvdata(pdev);
| ^~~~
drivers/gpu/drm/exynos/exynos7_drm_decon.c: In function 'decon_remove':drivers/gpu/drm/exynos/exynos7_drm_decon.c:771:31: error: unused variable 'ctx' [-Werror=unused-variable]
771 | struct decon_context *ctx = dev_get_drvdata(&pdev->dev);
| git bisect pointed to 4078ec1ef5ed ("LoongArch: Use TLB for ioremap()")
I will be happy to test any patch or provide any extra log if needed.
Signature · 2 lines
Regards Sudip
Huacai Chen
maintainerHi, Sudip,
This seems a false positive. When the implementation of iounmap() is empty (but this is completely legal I think), these drivers will cause "unused variable error".
Huacai
Quoted 39 lines · Sudip Mukherjee (Codethink)
Hi All,
The builds of loongarch allmodconfig have failed to build next-20221005 with errors
sound/soc/mediatek/common/mtk-btcvsd.c: In function 'mtk_btcvsd_snd_remove':sound/soc/mediatek/common/mtk-btcvsd.c:1394:32: error: unused variable 'btcvsd' [-Werror=unused-variable]
1394 | structmtk_btcvsd_snd*btcvsd =dev_get_drvdata(&pdev->dev);
| ^~~~~~
sound/soc/sof/intel/hda.c: In function 'hda_dsp_remove':sound/soc/sof/intel/hda.c:1185:26: error: unused variable 'bus' [-Werror=unused-variable]
1185 | structhdac_bus*bus =sof_to_bus(sdev);
| ^~~
drivers/mfd/asic3.c: In function 'asic3_mfd_remove':drivers/mfd/asic3.c:940:23: error: unused variable 'asic' [-Werror=unused-variable]
940 | struct asic3 *asic =platform_get_drvdata(pdev);
| ^~~~
drivers/gpu/drm/exynos/exynos7_drm_decon.c: In function 'decon_remove':drivers/gpu/drm/exynos/exynos7_drm_decon.c:771:31: error: unused variable 'ctx' [-Werror=unused-variable]771 | struct decon_context *ctx = dev_get_drvdata(&pdev->dev); |git bisect pointed to
4078ec1ef5ed("LoongArch: Use TLB forioremap()")I will be happy to test any patch or provide any extra log if needed.
--
Regards
Sudip
Quoted 6 lines · Huacai Chen
Hi, Sudip,
This seems a false positive. When the implementation of
iounmap()is empty (but this is completely legal I think), these drivers will cause "unused variable error".
And that error will fail the build as allmodconfig will have CONFIG_WERROR=y.
Signature · 2 lines
Regards Sudip
Hi Huacai,
Try:
#define iounmap(addr) ((void)(addr))
This is how we normally silence an unused variable or parameter warning. Not sure if the kernel uses the same convention though.
Quoted 13 lines · Sudip Mukherjee
Quoted 7 lines · Huacai Chen
Hi, Sudip,
This seems a false positive. When the implementation of
iounmap()is empty (but this is completely legal I think), these drivers will cause
"unused variable error".And that error will fail the build as allmodconfig will have
CONFIG_WERROR=y.
Signature · 2 lines
Xi Ruoyao <[email protected]> School of Aerospace Science and Technology, Xidian University
Huacai Chen
maintainerHi, Ruoyao,
Quoted 6 lines · Xi Ruoyao
Hi Huacai,
Try:
#define iounmap(addr) ((void)(addr))
This can solve the problem, and arm use the same way:
#define tlb_flush(tlb) ((void) tlb)
but I don't know whether this is the correct way.
Huacai
Quoted 23 lines
This is how we normally silence an unused variable or parameter warning. Not sure if the kernel uses the same convention though.
Quoted 5 lines · Sudip Mukherjee
Quoted 3 lines · Huacai Chen
Hi, Sudip,
Quoted 8 lines
Quoted 4 lines
This seems a false positive. When the implementation of
iounmap()is empty (but this is completely legal I think), these drivers will cause
"unused variable error".And that error will fail the build as allmodconfig will have
CONFIG_WERROR=y.--
Xi Ruoyao <[email protected]>
School of Aerospace Science and Technology, Xidian University