Re: [PATCH] firmware: tegra-bpmp: mark PM function as __maybe_unused

2018-10-04 Thread Jon Hunter


On 04/10/18 16:31, Arnd Bergmann wrote:
> On Thu, Oct 4, 2018 at 5:11 PM Timo Alho  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 
 ---
   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 

Cheers
Jon

-- 
nvpublic


Re: [PATCH] firmware: tegra-bpmp: mark PM function as __maybe_unused

2018-10-04 Thread Arnd Bergmann
On Thu, Oct 4, 2018 at 5:11 PM Timo Alho  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 
> >> ---
> >>   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


Re: [PATCH] firmware: tegra-bpmp: mark PM function as __maybe_unused

2018-10-04 Thread Timo Alho




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


Re: [PATCH] firmware: tegra-bpmp: mark PM function as __maybe_unused

2018-10-03 Thread Jon Hunter


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


[PATCH] firmware: tegra-bpmp: mark PM function as __maybe_unused

2018-10-02 Thread Arnd Bergmann
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 
---
 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;
-- 
2.18.0