2022-04-25 11:37:04

by Ren Zhijie

[permalink] [raw]
Subject: [PATCH -next] base: topology: fix unused variable compile error

compile error:
drivers/base/topology.c: In function ‘topology_is_visible’:
drivers/base/topology.c:158:17: error: unused variable ‘dev’ [-Werror=unused-variable]
struct device *dev = kobj_to_dev(kobj);
^~~
cc1: all warnings being treated as errors

If CONFIG_SMP is N, the macro 'topology_ppin()'expands as follows.
"topology_ppin(dev->id) -> boot_cpu_data.ppin"
This cause an unused variable warning for 'dev' which used in the
topology_is_visible().

To fix build warning unused attribute added to the 'dev' variable.

Reported-by: Hulk Robot <[email protected]>
Fixes:aa63a74d4535("topology/sysfs: Hide PPIN on systems that do not support it.")
Signed-off-by: Ren Zhijie <[email protected]>
---
drivers/base/topology.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/base/topology.c b/drivers/base/topology.c
index 706dbf8bf249..70962a4bcb1f 100644
--- a/drivers/base/topology.c
+++ b/drivers/base/topology.c
@@ -155,7 +155,8 @@ static struct attribute *default_attrs[] = {
static umode_t topology_is_visible(struct kobject *kobj,
struct attribute *attr, int unused)
{
- struct device *dev = kobj_to_dev(kobj);
+ struct device *dev __maybe_unused;

+ dev = kobj_to_dev(kobj);

if (attr == &dev_attr_ppin.attr && !topology_ppin(dev->id))
return 0;
--
2.17.1


2022-04-25 13:36:44

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH -next] base: topology: fix unused variable compile error

On Mon, Apr 25, 2022 at 10:41:49AM +0800, Ren Zhijie wrote:
> compile error:
> drivers/base/topology.c: In function ‘topology_is_visible’:
> drivers/base/topology.c:158:17: error: unused variable ‘dev’ [-Werror=unused-variable]
> struct device *dev = kobj_to_dev(kobj);
> ^~~
> cc1: all warnings being treated as errors
>
> If CONFIG_SMP is N, the macro 'topology_ppin()'expands as follows.
> "topology_ppin(dev->id) -> boot_cpu_data.ppin"
> This cause an unused variable warning for 'dev' which used in the
> topology_is_visible().
>
> To fix build warning unused attribute added to the 'dev' variable.
>
> Reported-by: Hulk Robot <[email protected]>
> Fixes:aa63a74d4535("topology/sysfs: Hide PPIN on systems that do not support it.")
> Signed-off-by: Ren Zhijie <[email protected]>
> ---
> drivers/base/topology.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/base/topology.c b/drivers/base/topology.c
> index 706dbf8bf249..70962a4bcb1f 100644
> --- a/drivers/base/topology.c
> +++ b/drivers/base/topology.c
> @@ -155,7 +155,8 @@ static struct attribute *default_attrs[] = {
> static umode_t topology_is_visible(struct kobject *kobj,
> struct attribute *attr, int unused)
> {
> - struct device *dev = kobj_to_dev(kobj);
> + struct device *dev __maybe_unused;
>
> + dev = kobj_to_dev(kobj);
>
> if (attr == &dev_attr_ppin.attr && !topology_ppin(dev->id))
> return 0;
> --
> 2.17.1
>

Thanks for this, but I've already queued up the commit here:
https://lore.kernel.org/r/[email protected]
which is simpler and smaller and it should show up in the next
linux-next release.

greg k-h