Message ID | 20181002212208.2971433-1-arnd@arndb.de |
---|---|
State | New |
Headers | show |
Series | firmware: tegra-bpmp: mark PM function as __maybe_unused | expand |
On 02/10/18 22:21, Arnd Bergmann wrote: > The newly added tegra_bpmp_resume function is unused when CONFIG_PM > is disabled: > > drivers/firmware/tegra/bpmp.c:847:12: error: 'tegra_bpmp_resume' defined but not used [-Werror=unused-function] > static int tegra_bpmp_resume(struct device *dev) > > Mark it as __maybe_unused to avoid the warning and let the compiler > drop it silently. > > Fixes: cd40f6ff124c ("firmware: tegra: bpmp: Implement suspend/resume support") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/firmware/tegra/bpmp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/firmware/tegra/bpmp.c b/drivers/firmware/tegra/bpmp.c > index 41448ba78be9..a3d5b518c10e 100644 > --- a/drivers/firmware/tegra/bpmp.c > +++ b/drivers/firmware/tegra/bpmp.c > @@ -844,7 +844,7 @@ static int tegra_bpmp_probe(struct platform_device *pdev) > return err; > } > > -static int tegra_bpmp_resume(struct device *dev) > +static int __maybe_unused tegra_bpmp_resume(struct device *dev) > { > struct tegra_bpmp *bpmp = dev_get_drvdata(dev); > unsigned int i; Arnd, is this seen with 32-bit ARM configs? Timo, does it make sense to make BPMP dependent on ARCH_TEGRA_186_SOC and ARCH_TEGRA_194_SOC instead of just ARCH_TEGRA? For 64-bit Tegra we have a dependency on PM so this should not be seen for 64-bit Tegra. Cheers Jon -- nvpublic
On 03.10.2018 11:26, Jonathan Hunter wrote: > > On 02/10/18 22:21, Arnd Bergmann wrote: >> The newly added tegra_bpmp_resume function is unused when CONFIG_PM >> is disabled: >> >> drivers/firmware/tegra/bpmp.c:847:12: error: 'tegra_bpmp_resume' defined but not used [-Werror=unused-function] >> static int tegra_bpmp_resume(struct device *dev) >> >> Mark it as __maybe_unused to avoid the warning and let the compiler >> drop it silently. >> >> Fixes: cd40f6ff124c ("firmware: tegra: bpmp: Implement suspend/resume support") >> Signed-off-by: Arnd Bergmann <arnd@arndb.de> >> --- >> drivers/firmware/tegra/bpmp.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/firmware/tegra/bpmp.c b/drivers/firmware/tegra/bpmp.c >> index 41448ba78be9..a3d5b518c10e 100644 >> --- a/drivers/firmware/tegra/bpmp.c >> +++ b/drivers/firmware/tegra/bpmp.c >> @@ -844,7 +844,7 @@ static int tegra_bpmp_probe(struct platform_device *pdev) >> return err; >> } >> >> -static int tegra_bpmp_resume(struct device *dev) >> +static int __maybe_unused tegra_bpmp_resume(struct device *dev) >> { >> struct tegra_bpmp *bpmp = dev_get_drvdata(dev); >> unsigned int i; > > Arnd, is this seen with 32-bit ARM configs? > > Timo, does it make sense to make BPMP dependent on ARCH_TEGRA_186_SOC > and ARCH_TEGRA_194_SOC instead of just ARCH_TEGRA? For 64-bit Tegra we > have a dependency on PM so this should not be seen for 64-bit Tegra. Jon, there will be eventually a BPMP driver for ARCH_TEGRA_210_SOC as well. So it is probably more appropriate to make BPMP dependent on ARM64 & ARCH_TEGRA. -Timo
On Thu, Oct 4, 2018 at 5:11 PM Timo Alho <talho@nvidia.com> wrote: > On 03.10.2018 11:26, Jonathan Hunter wrote: > > On 02/10/18 22:21, Arnd Bergmann wrote: > >> The newly added tegra_bpmp_resume function is unused when CONFIG_PM > >> is disabled: > >> > >> drivers/firmware/tegra/bpmp.c:847:12: error: 'tegra_bpmp_resume' defined but not used [-Werror=unused-function] > >> static int tegra_bpmp_resume(struct device *dev) > >> > >> Mark it as __maybe_unused to avoid the warning and let the compiler > >> drop it silently. > >> > >> Fixes: cd40f6ff124c ("firmware: tegra: bpmp: Implement suspend/resume support") > >> Signed-off-by: Arnd Bergmann <arnd@arndb.de> > >> --- > >> drivers/firmware/tegra/bpmp.c | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/drivers/firmware/tegra/bpmp.c b/drivers/firmware/tegra/bpmp.c > >> index 41448ba78be9..a3d5b518c10e 100644 > >> --- a/drivers/firmware/tegra/bpmp.c > >> +++ b/drivers/firmware/tegra/bpmp.c > >> @@ -844,7 +844,7 @@ static int tegra_bpmp_probe(struct platform_device *pdev) > >> return err; > >> } > >> > >> -static int tegra_bpmp_resume(struct device *dev) > >> +static int __maybe_unused tegra_bpmp_resume(struct device *dev) > >> { > >> struct tegra_bpmp *bpmp = dev_get_drvdata(dev); > >> unsigned int i; > > > > Arnd, is this seen with 32-bit ARM configs? This was with a randconfig build on 64-bit ARM. I don't know exactly what combination of options caused it. > > Timo, does it make sense to make BPMP dependent on ARCH_TEGRA_186_SOC > > and ARCH_TEGRA_194_SOC instead of just ARCH_TEGRA? For 64-bit Tegra we > > have a dependency on PM so this should not be seen for 64-bit Tegra. CONFIG_PM does not imply CONFIG_PM_SLEEP, so probably it was just broken for PM=y, PM_SLEEP=n. > Jon, there will be eventually a BPMP driver for ARCH_TEGRA_210_SOC as > well. So it is probably more appropriate to make BPMP dependent on ARM64 > & ARCH_TEGRA. Generally speaking, we are trying to allow building all drivers at least with CONFIG_COMPILE_TEST, in order to get the best build coverage. Arnd
On 04/10/18 16:31, Arnd Bergmann wrote: > On Thu, Oct 4, 2018 at 5:11 PM Timo Alho <talho@nvidia.com> wrote: >> On 03.10.2018 11:26, Jonathan Hunter wrote: >>> On 02/10/18 22:21, Arnd Bergmann wrote: >>>> The newly added tegra_bpmp_resume function is unused when CONFIG_PM >>>> is disabled: >>>> >>>> drivers/firmware/tegra/bpmp.c:847:12: error: 'tegra_bpmp_resume' defined but not used [-Werror=unused-function] >>>> static int tegra_bpmp_resume(struct device *dev) >>>> >>>> Mark it as __maybe_unused to avoid the warning and let the compiler >>>> drop it silently. >>>> >>>> Fixes: cd40f6ff124c ("firmware: tegra: bpmp: Implement suspend/resume support") >>>> Signed-off-by: Arnd Bergmann <arnd@arndb.de> >>>> --- >>>> drivers/firmware/tegra/bpmp.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/drivers/firmware/tegra/bpmp.c b/drivers/firmware/tegra/bpmp.c >>>> index 41448ba78be9..a3d5b518c10e 100644 >>>> --- a/drivers/firmware/tegra/bpmp.c >>>> +++ b/drivers/firmware/tegra/bpmp.c >>>> @@ -844,7 +844,7 @@ static int tegra_bpmp_probe(struct platform_device *pdev) >>>> return err; >>>> } >>>> >>>> -static int tegra_bpmp_resume(struct device *dev) >>>> +static int __maybe_unused tegra_bpmp_resume(struct device *dev) >>>> { >>>> struct tegra_bpmp *bpmp = dev_get_drvdata(dev); >>>> unsigned int i; >>> >>> Arnd, is this seen with 32-bit ARM configs? > > This was with a randconfig build on 64-bit ARM. I don't know exactly > what combination of options caused it. > >>> Timo, does it make sense to make BPMP dependent on ARCH_TEGRA_186_SOC >>> and ARCH_TEGRA_194_SOC instead of just ARCH_TEGRA? For 64-bit Tegra we >>> have a dependency on PM so this should not be seen for 64-bit Tegra. > > CONFIG_PM does not imply CONFIG_PM_SLEEP, so probably it > was just broken for PM=y, PM_SLEEP=n. Yes that would make sense. >> Jon, there will be eventually a BPMP driver for ARCH_TEGRA_210_SOC as >> well. So it is probably more appropriate to make BPMP dependent on ARM64 >> & ARCH_TEGRA. > > Generally speaking, we are trying to allow building all drivers at least > with CONFIG_COMPILE_TEST, in order to get the best build coverage. True. Thinking some more it is fine with me, so ... Acked-by: Jon Hunter <jonathanh@nvidia.com> Cheers Jon -- nvpublic
diff --git a/drivers/firmware/tegra/bpmp.c b/drivers/firmware/tegra/bpmp.c index 41448ba78be9..a3d5b518c10e 100644 --- a/drivers/firmware/tegra/bpmp.c +++ b/drivers/firmware/tegra/bpmp.c @@ -844,7 +844,7 @@ static int tegra_bpmp_probe(struct platform_device *pdev) return err; } -static int tegra_bpmp_resume(struct device *dev) +static int __maybe_unused tegra_bpmp_resume(struct device *dev) { struct tegra_bpmp *bpmp = dev_get_drvdata(dev); unsigned int i;
The newly added tegra_bpmp_resume function is unused when CONFIG_PM is disabled: drivers/firmware/tegra/bpmp.c:847:12: error: 'tegra_bpmp_resume' defined but not used [-Werror=unused-function] static int tegra_bpmp_resume(struct device *dev) Mark it as __maybe_unused to avoid the warning and let the compiler drop it silently. Fixes: cd40f6ff124c ("firmware: tegra: bpmp: Implement suspend/resume support") Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/firmware/tegra/bpmp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.18.0