2017-08-23 12:29:03

by Bhumika Goyal

[permalink] [raw]
Subject: [PATCH] ALSA: ctxfi: make hw structures const

Make these const as they are only used in a copy operation.
Done using Coccinelle:

@match disable optional_qualifier@
identifier s;
@@
static struct hw s = {...};

@ref@
position p;
identifier match.s;
@@
s@p

@good1@
position ref.p;
identifier match.s,f,c;
expression e;
@@
(
e = s@p
|
e = [email protected]
|
c(...,[email protected],...)
|
c(...,s@p,...)
)

@bad depends on !good1@
position ref.p;
identifier match.s;
@@
s@p

@depends on forall !bad disable optional_qualifier@
identifier match.s;
@@
static
+ const
struct hw s;

Signed-off-by: Bhumika Goyal <[email protected]>
---
sound/pci/ctxfi/cthw20k1.c | 2 +-
sound/pci/ctxfi/cthw20k2.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/pci/ctxfi/cthw20k1.c b/sound/pci/ctxfi/cthw20k1.c
index 79edd88..8e6eb9d 100644
--- a/sound/pci/ctxfi/cthw20k1.c
+++ b/sound/pci/ctxfi/cthw20k1.c
@@ -2154,7 +2154,7 @@ static void hw_write_pci(struct hw *hw, u32 reg, u32 data)
&container_of(hw, struct hw20k1, hw)->reg_pci_lock, flags);
}

-static struct hw ct20k1_preset = {
+static const struct hw ct20k1_preset = {
.irq = -1,

.card_init = hw_card_init,
diff --git a/sound/pci/ctxfi/cthw20k2.c b/sound/pci/ctxfi/cthw20k2.c
index 18ee776..b866d6b 100644
--- a/sound/pci/ctxfi/cthw20k2.c
+++ b/sound/pci/ctxfi/cthw20k2.c
@@ -2220,7 +2220,7 @@ static void hw_write_20kx(struct hw *hw, u32 reg, u32 data)
writel(data, hw->mem_base + reg);
}

-static struct hw ct20k2_preset = {
+static const struct hw ct20k2_preset = {
.irq = -1,

.card_init = hw_card_init,
--
1.9.1


2017-08-23 13:55:39

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] ALSA: ctxfi: make hw structures const

On Wed, 23 Aug 2017 14:28:42 +0200,
Bhumika Goyal wrote:
>
> Make these const as they are only used in a copy operation.
> Done using Coccinelle:
>
> @match disable optional_qualifier@
> identifier s;
> @@
> static struct hw s = {...};
>
> @ref@
> position p;
> identifier match.s;
> @@
> s@p
>
> @good1@
> position ref.p;
> identifier match.s,f,c;
> expression e;
> @@
> (
> e = s@p
> |
> e = [email protected]
> |
> c(...,[email protected],...)
> |
> c(...,s@p,...)
> )
>
> @bad depends on !good1@
> position ref.p;
> identifier match.s;
> @@
> s@p
>
> @depends on forall !bad disable optional_qualifier@
> identifier match.s;
> @@
> static
> + const
> struct hw s;
>
> Signed-off-by: Bhumika Goyal <[email protected]>

Applied, thanks.


Takashi