Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

watchdog: coh901327_wdt: constify watchdog_ops structure

Check for watchdog_ops structures that are only stored in the ops field of
a watchdog_device structure. This field is declared const, so watchdog_ops
structures that have this property can be declared as const also.

This issue was detected using Coccinelle and the following semantic patch:

@r
disable optional_qualifier@
identifier i;
position p;
@@
static struct watchdog_ops i@p = { ... };

@ok@
identifier r.i;
struct watchdog_device e;
position p;
@@
e.ops = &i@p;

@bad@
position p != {r.p,ok.p};
identifier r.i;
struct watchdog_ops e;
@@
e@i@p

@depends on !bad disable optional_qualifier@
identifier r.i;
@@
static
+const
struct watchdog_ops i = { ... };

Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>

authored by

Gustavo A. R. Silva and committed by
Wim Van Sebroeck
9215fc79 d7b16e75

+1 -1
+1 -1
drivers/watchdog/coh901327_wdt.c
··· 218 218 .identity = DRV_NAME, 219 219 }; 220 220 221 - static struct watchdog_ops coh901327_ops = { 221 + static const struct watchdog_ops coh901327_ops = { 222 222 .owner = THIS_MODULE, 223 223 .start = coh901327_start, 224 224 .stop = coh901327_stop,