2022-10-05 12:09:13

by Sudip Mukherjee

[permalink] [raw]
Subject: build failure of next-20221005 due to 4078ec1ef5ed ("LoongArch: Use TLB for ioremap()")

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


2022-10-05 13:03:30

by Huacai Chen

[permalink] [raw]
Subject: Re: build failure of next-20221005 due to 4078ec1ef5ed ("LoongArch: Use TLB for ioremap()")

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

On Wed, Oct 5, 2022 at 7:43 PM Sudip Mukherjee (Codethink)
<[email protected]> wrote:
>
> 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
>

2022-10-05 13:27:04

by Sudip Mukherjee

[permalink] [raw]
Subject: Re: build failure of next-20221005 due to 4078ec1ef5ed ("LoongArch: Use TLB for ioremap()")

On Wed, Oct 5, 2022 at 1:30 PM Huacai Chen <[email protected]> wrote:
>
> 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.

--
Regards
Sudip

2022-10-05 14:23:35

by Xi Ruoyao

[permalink] [raw]
Subject: Re: build failure of next-20221005 due to 4078ec1ef5ed ("LoongArch: Use TLB for ioremap()")

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.

On Wed, 2022-10-05 at 13:54 +0100, Sudip Mukherjee wrote:
> On Wed, Oct 5, 2022 at 1:30 PM Huacai Chen <[email protected]>
> wrote:
> >
> > 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.
>

--
Xi Ruoyao <[email protected]>
School of Aerospace Science and Technology, Xidian University

2022-10-06 06:31:09

by Huacai Chen

[permalink] [raw]
Subject: Re: build failure of next-20221005 due to 4078ec1ef5ed ("LoongArch: Use TLB for ioremap()")

Hi, Ruoyao,

On Wed, Oct 5, 2022 at 10:14 PM Xi Ruoyao <[email protected]> wrote:
>
> 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

>
> This is how we normally silence an unused variable or parameter warning.
> Not sure if the kernel uses the same convention though.
>
> On Wed, 2022-10-05 at 13:54 +0100, Sudip Mukherjee wrote:
> > On Wed, Oct 5, 2022 at 1:30 PM Huacai Chen <[email protected]>
> > wrote:
> > >
> > > 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.
> >
>
> --
> Xi Ruoyao <[email protected]>
> School of Aerospace Science and Technology, Xidian University
>