2022-12-23 15:55:19

by Ammar Faizi

[permalink] [raw]
Subject: [PATCH v1] driver core: Silence 'unused-but-set variable' warning

From: Ammar Faizi <[email protected]>

Compiling with clang-16:

drivers/base/module.c:36:6: error: variable 'no_warn' set but not \
used [-Werror,-Wunused-but-set-variable]
int no_warn;
^
1 error generated.

A reason the @no_warn variable exists is:
sysfs_create_link() return value needs not be ignored to silence
another warning.

So don't remove @no_warn, but add a '(void)no_warn;'.

Cc: LLVM Mailing List <[email protected]>
Signed-off-by: Ammar Faizi <[email protected]>
---
drivers/base/module.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/base/module.c b/drivers/base/module.c
index 46ad4d636731..42f0b3b9e7f8 100644
--- a/drivers/base/module.c
+++ b/drivers/base/module.c
@@ -59,22 +59,23 @@ void module_add_driver(struct module *mod, struct device_driver *drv)
return;

/* Don't check return codes; these calls are idempotent */
no_warn = sysfs_create_link(&drv->p->kobj, &mk->kobj, "module");
driver_name = make_driver_name(drv);
if (driver_name) {
module_create_drivers_dir(mk);
no_warn = sysfs_create_link(mk->drivers_dir, &drv->p->kobj,
driver_name);
kfree(driver_name);
}
+ (void)no_warn;
}

void module_remove_driver(struct device_driver *drv)
{
struct module_kobject *mk = NULL;
char *driver_name;

if (!drv)
return;

sysfs_remove_link(&drv->p->kobj, "module");

base-commit: 8395ae05cb5a2e31d36106e8c85efa11cda849be
--
Ammar Faizi