Re: [PATCH] thermal: devfreq_cooling: Fix kernel-doc

From: Nathan Chancellor
Date: Tue Jun 08 2021 - 15:23:53 EST


On 6/8/2021 11:39 AM, Nick Desaulniers wrote:
On Tue, Jun 8, 2021 at 2:46 AM Yang Li <yang.lee@xxxxxxxxxxxxxxxxx> wrote:

Fix function name in devfreq_cooling.c kernel-doc comment
to remove a warning found by clang(make W=1 LLVM=1).

drivers/thermal/devfreq_cooling.c:479: warning: expecting prototype for
devfreq_cooling_em_register_power(). Prototype was for
devfreq_cooling_em_register() instead.

Reported-by: Abaci Robot <abaci@xxxxxxxxxxxxxxxxx>
Signed-off-by: Yang Li <yang.lee@xxxxxxxxxxxxxxxxx>

That compiler warning doesn't come from kernel-doc. Your diff looks
good (the comment was wrong), but the commit message is curious.

No, this is indeed kernel-doc complaining. Clang should not even be mentioned in the commit message:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/scripts/kernel-doc?h=v5.13-rc5#n1228

The warning could probably be improved to say "definition" instead of "prototype" in certain cases but *shrugs*.

This warning is similar to -Wmissing-prototypes from clang but refers to the fact that the comment claims it is documenting one function but it is really documenting another.

Cheers,
Nathan

Usually that warning is from when the function prototype does not
exist for a function with extern linkage. It looks like that's always
provided though in include/linux/devfreq_cooling.h. Can you share a
link to the original report?

---
drivers/thermal/devfreq_cooling.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/thermal/devfreq_cooling.c b/drivers/thermal/devfreq_cooling.c
index 3a788ac..5a86cff 100644
--- a/drivers/thermal/devfreq_cooling.c
+++ b/drivers/thermal/devfreq_cooling.c
@@ -458,7 +458,7 @@ struct thermal_cooling_device *devfreq_cooling_register(struct devfreq *df)
EXPORT_SYMBOL_GPL(devfreq_cooling_register);

/**
- * devfreq_cooling_em_register_power() - Register devfreq cooling device with
+ * devfreq_cooling_em_register() - Register devfreq cooling device with
* power information and automatically register Energy Model (EM)
* @df: Pointer to devfreq device.
* @dfc_power: Pointer to devfreq_cooling_power.
--
1.8.3.1