* [PATCH] ALSA: line6: constify snd_kcontrol_new structures
@ 2017-04-12 13:10 Bhumika Goyal
2017-04-12 13:35 ` Takashi Iwai
2017-04-12 13:45 ` Takashi Sakamoto
0 siblings, 2 replies; 4+ messages in thread
From: Bhumika Goyal @ 2017-04-12 13:10 UTC (permalink / raw)
To: julia.lawall, perex, tiwai, alsa-devel, linux-kernel; +Cc: Bhumika Goyal
Declare snd_kcontrol_new strcutures as const as they are only passed as
an argument to the function snd_ctl_new1. This argument is of type const,
so snd_kcontrol_new structures having this property can be made const too.
Done using Coccinelle:
@r disable optional_qualifier@
identifier x;
position p;
@@
static struct snd_kcontrol_new x@p={...};
@ok@
identifier r.x;
position p;
@@
snd_ctl_new1(&x@p,...)
@bad@
position p != {r.p,ok.p};
identifier r.x;
@@
x@p
@depends on !bad disable optional_qualifier@
identifier r.x;
@@
+const
struct snd_kcontrol_new x;
Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
---
sound/usb/line6/pod.c | 2 +-
sound/usb/line6/toneport.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sound/usb/line6/pod.c b/sound/usb/line6/pod.c
index 17aa616..358224c 100644
--- a/sound/usb/line6/pod.c
+++ b/sound/usb/line6/pod.c
@@ -380,7 +380,7 @@ static int snd_pod_control_monitor_put(struct snd_kcontrol *kcontrol,
}
/* control definition */
-static struct snd_kcontrol_new pod_control_monitor = {
+static const struct snd_kcontrol_new pod_control_monitor = {
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
.name = "Monitor Playback Volume",
.index = 0,
diff --git a/sound/usb/line6/toneport.c b/sound/usb/line6/toneport.c
index 8e22f43..ba7975c 100644
--- a/sound/usb/line6/toneport.c
+++ b/sound/usb/line6/toneport.c
@@ -250,7 +250,7 @@ static void toneport_start_pcm(unsigned long arg)
}
/* control definition */
-static struct snd_kcontrol_new toneport_control_monitor = {
+static const struct snd_kcontrol_new toneport_control_monitor = {
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
.name = "Monitor Playback Volume",
.index = 0,
@@ -261,7 +261,7 @@ static struct snd_kcontrol_new toneport_control_monitor = {
};
/* source selector definition */
-static struct snd_kcontrol_new toneport_control_source = {
+static const struct snd_kcontrol_new toneport_control_source = {
.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
.name = "PCM Capture Source",
.index = 0,
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] ALSA: line6: constify snd_kcontrol_new structures
2017-04-12 13:10 [PATCH] ALSA: line6: constify snd_kcontrol_new structures Bhumika Goyal
@ 2017-04-12 13:35 ` Takashi Iwai
2017-04-12 13:45 ` Takashi Sakamoto
1 sibling, 0 replies; 4+ messages in thread
From: Takashi Iwai @ 2017-04-12 13:35 UTC (permalink / raw)
To: Bhumika Goyal; +Cc: alsa-devel, julia.lawall, perex, linux-kernel
On Wed, 12 Apr 2017 15:10:47 +0200,
Bhumika Goyal wrote:
>
> Declare snd_kcontrol_new strcutures as const as they are only passed as
> an argument to the function snd_ctl_new1. This argument is of type const,
> so snd_kcontrol_new structures having this property can be made const too.
> Done using Coccinelle:
>
> @r disable optional_qualifier@
> identifier x;
> position p;
> @@
> static struct snd_kcontrol_new x@p={...};
>
> @ok@
> identifier r.x;
> position p;
> @@
> snd_ctl_new1(&x@p,...)
>
> @bad@
> position p != {r.p,ok.p};
> identifier r.x;
> @@
> x@p
>
> @depends on !bad disable optional_qualifier@
> identifier r.x;
> @@
> +const
> struct snd_kcontrol_new x;
>
> Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
Applied, thanks.
Takashi
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ALSA: line6: constify snd_kcontrol_new structures
2017-04-12 13:10 [PATCH] ALSA: line6: constify snd_kcontrol_new structures Bhumika Goyal
2017-04-12 13:35 ` Takashi Iwai
@ 2017-04-12 13:45 ` Takashi Sakamoto
2017-04-13 6:34 ` Bhumika Goyal
1 sibling, 1 reply; 4+ messages in thread
From: Takashi Sakamoto @ 2017-04-12 13:45 UTC (permalink / raw)
To: Bhumika Goyal, julia.lawall, perex, tiwai, alsa-devel, linux-kernel
Hi,
On Apr 12 2017 22:10, Bhumika Goyal wrote:
> Declare snd_kcontrol_new strcutures as const as they are only passed as
> an argument to the function snd_ctl_new1. This argument is of type const,
> so snd_kcontrol_new structures having this property can be made const too.
> Done using Coccinelle:
>
> @r disable optional_qualifier@
> identifier x;
> position p;
> @@
> static struct snd_kcontrol_new x@p={...};
>
> @ok@
> identifier r.x;
> position p;
> @@
> snd_ctl_new1(&x@p,...)
>
> @bad@
> position p != {r.p,ok.p};
> identifier r.x;
> @@
> x@p
>
> @depends on !bad disable optional_qualifier@
> identifier r.x;
> @@
> +const
> struct snd_kcontrol_new x;
>
> Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
> ---
> sound/usb/line6/pod.c | 2 +-
> sound/usb/line6/toneport.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
I have interests in your way to detect this kind of issue, because below
'struct snd_kcontrol_new' array seems not to be detected. I think
there's a space to improve it.
https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/tree/sound/usb/line6/pcm.c#n432
432 /* control definition */
433 static struct snd_kcontrol_new line6_controls[] = {
434 {
435 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
Later, I'll post for the above line.
> diff --git a/sound/usb/line6/pod.c b/sound/usb/line6/pod.c
> index 17aa616..358224c 100644
> --- a/sound/usb/line6/pod.c
> +++ b/sound/usb/line6/pod.c
> @@ -380,7 +380,7 @@ static int snd_pod_control_monitor_put(struct snd_kcontrol *kcontrol,
> }
>
> /* control definition */
> -static struct snd_kcontrol_new pod_control_monitor = {
> +static const struct snd_kcontrol_new pod_control_monitor = {
> .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
> .name = "Monitor Playback Volume",
> .index = 0,
> diff --git a/sound/usb/line6/toneport.c b/sound/usb/line6/toneport.c
> index 8e22f43..ba7975c 100644
> --- a/sound/usb/line6/toneport.c
> +++ b/sound/usb/line6/toneport.c
> @@ -250,7 +250,7 @@ static void toneport_start_pcm(unsigned long arg)
> }
>
> /* control definition */
> -static struct snd_kcontrol_new toneport_control_monitor = {
> +static const struct snd_kcontrol_new toneport_control_monitor = {
> .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
> .name = "Monitor Playback Volume",
> .index = 0,
> @@ -261,7 +261,7 @@ static struct snd_kcontrol_new toneport_control_monitor = {
> };
>
> /* source selector definition */
> -static struct snd_kcontrol_new toneport_control_source = {
> +static const struct snd_kcontrol_new toneport_control_source = {
> .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
> .name = "PCM Capture Source",
> .index = 0,
Regards
Takashi Sakamoto
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ALSA: line6: constify snd_kcontrol_new structures
2017-04-12 13:45 ` Takashi Sakamoto
@ 2017-04-13 6:34 ` Bhumika Goyal
0 siblings, 0 replies; 4+ messages in thread
From: Bhumika Goyal @ 2017-04-13 6:34 UTC (permalink / raw)
To: Takashi Sakamoto; +Cc: Julia Lawall, perex, tiwai, alsa-devel, linux-kernel
On Wed, Apr 12, 2017 at 7:15 PM, Takashi Sakamoto
<o-takashi@sakamocchi.jp> wrote:
> Hi,
>
>
> On Apr 12 2017 22:10, Bhumika Goyal wrote:
>>
>> Declare snd_kcontrol_new strcutures as const as they are only passed as
>> an argument to the function snd_ctl_new1. This argument is of type const,
>> so snd_kcontrol_new structures having this property can be made const too.
>> Done using Coccinelle:
>>
>> @r disable optional_qualifier@
>> identifier x;
>> position p;
>> @@
>> static struct snd_kcontrol_new x@p={...};
>>
>> @ok@
>> identifier r.x;
>> position p;
>> @@
>> snd_ctl_new1(&x@p,...)
>>
>> @bad@
>> position p != {r.p,ok.p};
>> identifier r.x;
>> @@
>> x@p
>>
>> @depends on !bad disable optional_qualifier@
>> identifier r.x;
>> @@
>> +const
>> struct snd_kcontrol_new x;
>>
>> Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
>> ---
>> sound/usb/line6/pod.c | 2 +-
>> sound/usb/line6/toneport.c | 4 ++--
>> 2 files changed, 3 insertions(+), 3 deletions(-)
>
>
> Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
>
> I have interests in your way to detect this kind of issue, because below
> 'struct snd_kcontrol_new' array seems not to be detected. I think there's a
> space to improve it.
>
Thanks for pointing it out. The logic that I use currently for my
scripts doesn't take into account the arrays. I will extend the script
for arrays too.
Thanks,
Bhumika
> https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/tree/sound/usb/line6/pcm.c#n432
>
> 432 /* control definition */
> 433 static struct snd_kcontrol_new line6_controls[] = {
> 434 {
> 435 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
>
> Later, I'll post for the above line.
>
>
>> diff --git a/sound/usb/line6/pod.c b/sound/usb/line6/pod.c
>> index 17aa616..358224c 100644
>> --- a/sound/usb/line6/pod.c
>> +++ b/sound/usb/line6/pod.c
>> @@ -380,7 +380,7 @@ static int snd_pod_control_monitor_put(struct
>> snd_kcontrol *kcontrol,
>> }
>>
>> /* control definition */
>> -static struct snd_kcontrol_new pod_control_monitor = {
>> +static const struct snd_kcontrol_new pod_control_monitor = {
>> .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
>> .name = "Monitor Playback Volume",
>> .index = 0,
>> diff --git a/sound/usb/line6/toneport.c b/sound/usb/line6/toneport.c
>> index 8e22f43..ba7975c 100644
>> --- a/sound/usb/line6/toneport.c
>> +++ b/sound/usb/line6/toneport.c
>> @@ -250,7 +250,7 @@ static void toneport_start_pcm(unsigned long arg)
>> }
>>
>> /* control definition */
>> -static struct snd_kcontrol_new toneport_control_monitor = {
>> +static const struct snd_kcontrol_new toneport_control_monitor = {
>> .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
>> .name = "Monitor Playback Volume",
>> .index = 0,
>> @@ -261,7 +261,7 @@ static struct snd_kcontrol_new
>> toneport_control_monitor = {
>> };
>>
>> /* source selector definition */
>> -static struct snd_kcontrol_new toneport_control_source = {
>> +static const struct snd_kcontrol_new toneport_control_source = {
>> .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
>> .name = "PCM Capture Source",
>> .index = 0,
>
>
>
> Regards
>
> Takashi Sakamoto
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-04-13 6:34 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-12 13:10 [PATCH] ALSA: line6: constify snd_kcontrol_new structures Bhumika Goyal
2017-04-12 13:35 ` Takashi Iwai
2017-04-12 13:45 ` Takashi Sakamoto
2017-04-13 6:34 ` Bhumika Goyal
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).