Skip to contentSkip to conversation

watchdog: coh901327_wdt: constify watchdog_ops structure

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

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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 at p = { ... };

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

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

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

---
 drivers/watchdog/coh901327_wdt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/watchdog/coh901327_wdt.c +1 -1
index 38dd60f0..4410337 100644
@@ -218,7 +218,7 @@ static const struct watchdog_info coh901327_ident = {
 	.identity = DRV_NAME,
 };
 
-static struct watchdog_ops coh901327_ops = {
+static const struct watchdog_ops coh901327_ops = {
 	.owner = THIS_MODULE,
 	.start = coh901327_start,
 	.stop = coh901327_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 at p = { ... };

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

@bad@
position p != {r.p,ok.p};
identifier r.i;
struct watchdog_ops e;
@@
e at 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/coh901327_wdt.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
drivers/watchdog/coh901327_wdt.c +1 -1
index 38dd60f0..4410337 100644
@@ -218,7 +218,7 @@ static const struct watchdog_info coh901327_ident = {
  	.identity = DRV_NAME,
  };
 
-static struct watchdog_ops coh901327_ops = {
+static const struct watchdog_ops coh901327_ops = {
  	.owner = THIS_MODULE,
  	.start = coh901327_start,
  	.stop = coh901327_stop,
#2 lore raw
Quoted 38 lines · Guenter Roeck
Quoted 37 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 at p = { ... };

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

@bad@
position p != {r.p,ok.p};
identifier r.i;
struct watchdog_ops e;
@@
e at 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 20 lines
Quoted 19 lines
---
  drivers/watchdog/coh901327_wdt.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
drivers/watchdog/coh901327_wdt.c +1 -0
index 38dd60f0..4410337 100644
@@ -218,7 +218,7 @@ static const struct watchdog_info coh901327_ident 
 = {
      .identity = DRV_NAME,
  };
  -static struct watchdog_ops coh901327_ops = {
+static const struct watchdog_ops coh901327_ops = {
      .owner = THIS_MODULE,
      .start = coh901327_start,
      .stop = coh901327_stop,
Signature · 1 line
Gustavo A. R. Silva
Acked-by on v1 1/1
#3 lore raw
In reply to Gustavo A. R. Silva
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 at p = { ... };

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

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

Quoted 8 lines

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

Yours,
Linus Walleij