Skip to contentSkip to conversation

build failure of next-20221005 due to 4078ec1ef5ed ("LoongArch: Use TLB for ioremap()")

DISCUSSION Sudip Mukherjee (Codethink) 3 participants 5 messages Oct 5, 2022 – Oct 6, 2022

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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
maintainer
#1 lore raw

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".

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 | 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.

--
Regards
Sudip

#2 lore raw
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
#3 lore raw

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
maintainer
#4 lore raw

Hi, 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