OSDN Git Service

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

index 6c501b7..be64a86 100644 (file)
@@ -140,7 +140,7 @@ static const struct watchdog_info stm32_iwdg_info = {
        .identity       = "STM32 Independent Watchdog",
 };
 
-static struct watchdog_ops stm32_iwdg_ops = {
+static const struct watchdog_ops stm32_iwdg_ops = {
        .owner          = THIS_MODULE,
        .start          = stm32_iwdg_start,
        .ping           = stm32_iwdg_ping,