watchdog: ts72xx_wdt: constify watchdog_ops structure
authorGustavo A. R. Silva <garsilva@embeddedor.com>
Sat, 8 Jul 2017 00:18:40 +0000 (19:18 -0500)
committerWim Van Sebroeck <wim@iguana.be>
Sat, 9 Sep 2017 18:06:14 +0000 (20:06 +0200)
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>
drivers/watchdog/ts72xx_wdt.c

index 17c25daebcceb6678467890593a0023b7167f82b..811e43c39ec4e0322f4b98db7175c8ce1a3538de 100644 (file)
@@ -112,7 +112,7 @@ static const struct watchdog_info ts72xx_wdt_ident = {
        .identity               = "TS-72XX WDT",
 };
 
-static struct watchdog_ops ts72xx_wdt_ops = {
+static const struct watchdog_ops ts72xx_wdt_ops = {
        .owner          = THIS_MODULE,
        .start          = ts72xx_wdt_start,
        .stop           = ts72xx_wdt_stop,