Skip to contentSkip to conversation

watchdog: ts72xx_wdt: constify watchdog_ops structure

PATCH In review Gustavo A. R. Silva 2 participants 3 messages Jul 8, 2017 – Jul 17, 2017 Watchdog device drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 watchdog: ts72xx_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 = { ... };

---
 drivers/watchdog/ts72xx_wdt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/watchdog/ts72xx_wdt.c +1 -1
index 17c25da..811e43c 100644
@@ -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,
Signature · 1 line
2.5.0
maintainer Reviewed-by on v1 1/1
#1 lore raw
Quoted 27 lines · Gustavo A. R. Silva

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

Quoted 8 lines

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

Quoted 18 lines
---
  drivers/watchdog/ts72xx_wdt.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
drivers/watchdog/ts72xx_wdt.c +1 -1
index 17c25da..811e43c 100644
@@ -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,
#2 lore raw
Quoted 35 lines · Guenter Roeck
Quoted 34 lines · Gustavo A. R. Silva

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 = { ... };

Quoted 4 lines
Quoted 1 line

Thank you, Guenter.

Quoted 19 lines
Quoted 18 lines
---
  drivers/watchdog/ts72xx_wdt.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
drivers/watchdog/ts72xx_wdt.c +1 -0
index 17c25da..811e43c 100644
@@ -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,
Signature · 1 line
Gustavo A. R. Silva