watchdog: stm32_iwdg: constify watchdog_ops structure
Subsystems (2)
PATCH 1/1 watchdog: stm32_iwdg: 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/stm32_iwdg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/watchdog/stm32_iwdg.c +1 -1
@@ -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,
Signature · 1 line
2.5.0
Quoted 27 lines · Gustavo A. R. Silva
Check for
watchdog_opsstructures that are only stored in the ops field of awatchdog_devicestructure. This field is declared const, sowatchdog_opsstructures 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 structwatchdog_opsi at p = { ... };@ok@
identifier r.i;
structwatchdog_devicee;
position p;
@@
e.ops = &i at p;@bad@
position p != {r.p,ok.p};
identifier r.i;
structwatchdog_opse;
@@
e at i@p
Quoted 8 lines
@depends on !bad disable optional_qualifier@
identifier r.i;
@@
static
+const
structwatchdog_opsi = { ... };Signed-off-by Gustavo A. R. Silva <[email protected]>
Quoted 18 lines
--- drivers/watchdog/stm32_iwdg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/watchdog/stm32_iwdg.c +1
-1@@ -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,
Quoted 27 lines · Gustavo A. R. Silva
Check for
watchdog_opsstructures that are only stored in the ops field of awatchdog_devicestructure. This field is declared const, sowatchdog_opsstructures 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 structwatchdog_opsi at p = { ... };@ok@
identifier r.i;
structwatchdog_devicee;
position p;
@@
e.ops = &i at p;@bad@
position p != {r.p,ok.p};
identifier r.i;
structwatchdog_opse;
@@
e at i@p
Quoted 8 lines
@depends on !bad disable optional_qualifier@
identifier r.i;
@@
static
+const
structwatchdog_opsi = { ... };Signed-off-by Gustavo A. R. Silva <[email protected]>
Quoted 18 lines
--- drivers/watchdog/stm32_iwdg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/watchdog/stm32_iwdg.c +1
-1@@ -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,