From: Bhumika Goyal <bhumirks@gmail.com> To: Takashi Sakamoto <o-takashi@sakamocchi.jp> Cc: Julia Lawall <julia.lawall@lip6.fr>, perex@perex.cz, tiwai@suse.com, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] ALSA: line6: constify snd_kcontrol_new structures Date: Thu, 13 Apr 2017 12:04:06 +0530 [thread overview] Message-ID: <CAOH+1jEdEE2xB3pr2_o_g6BL-cAWR+ZoqfPUXcP5z7Qubn5epQ@mail.gmail.com> (raw) In-Reply-To: <3474e601-524f-ed87-f5a8-0634d10723b6@sakamocchi.jp> 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
WARNING: multiple messages have this Message-ID (diff)
From: Bhumika Goyal <bhumirks@gmail.com> To: Takashi Sakamoto <o-takashi@sakamocchi.jp> Cc: Julia Lawall <julia.lawall@lip6.fr>, alsa-devel@alsa-project.org, tiwai@suse.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH] ALSA: line6: constify snd_kcontrol_new structures Date: Thu, 13 Apr 2017 12:04:06 +0530 [thread overview] Message-ID: <CAOH+1jEdEE2xB3pr2_o_g6BL-cAWR+ZoqfPUXcP5z7Qubn5epQ@mail.gmail.com> (raw) In-Reply-To: <3474e601-524f-ed87-f5a8-0634d10723b6@sakamocchi.jp> 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
next prev parent reply other threads:[~2017-04-13 6:34 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top 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:35 ` Takashi Iwai 2017-04-12 13:45 ` Takashi Sakamoto 2017-04-13 6:34 ` Bhumika Goyal [this message] 2017-04-13 6:34 ` Bhumika Goyal
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAOH+1jEdEE2xB3pr2_o_g6BL-cAWR+ZoqfPUXcP5z7Qubn5epQ@mail.gmail.com \ --to=bhumirks@gmail.com \ --cc=alsa-devel@alsa-project.org \ --cc=julia.lawall@lip6.fr \ --cc=linux-kernel@vger.kernel.org \ --cc=o-takashi@sakamocchi.jp \ --cc=perex@perex.cz \ --cc=tiwai@suse.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.