ALSA: aloop: Constify ops structs
authorRikard Falkeborn <rikard.falkeborn@gmail.com>
Fri, 20 Nov 2020 23:10:46 +0000 (00:10 +0100)
committerTakashi Iwai <tiwai@suse.de>
Sat, 21 Nov 2020 08:30:35 +0000 (09:30 +0100)
The only usage of the ops field in the loopback_cable struct is to call
its members, the field it self is never changed. Make it a pointer to
const. This allows us to constify two static loopback_ops structs to
allow the compiler to put them in read-only memory.

Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Link: https://lore.kernel.org/r/20201120231046.76758-1-rikard.falkeborn@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/drivers/aloop.c

index c913563..702f91b 100644 (file)
@@ -105,7 +105,7 @@ struct loopback_cable {
        unsigned int running;
        unsigned int pause;
        /* timer specific */
-       struct loopback_ops *ops;
+       const struct loopback_ops *ops;
        /* If sound timer is used */
        struct {
                int stream;
@@ -1021,7 +1021,7 @@ static int loopback_jiffies_timer_open(struct loopback_pcm *dpcm)
        return 0;
 }
 
-static struct loopback_ops loopback_jiffies_timer_ops = {
+static const struct loopback_ops loopback_jiffies_timer_ops = {
        .open = loopback_jiffies_timer_open,
        .start = loopback_jiffies_timer_start,
        .stop = loopback_jiffies_timer_stop,
@@ -1172,7 +1172,7 @@ exit:
 /* stop_sync() is not required for sound timer because it does not need to be
  * restarted in loopback_prepare() on Xrun recovery
  */
-static struct loopback_ops loopback_snd_timer_ops = {
+static const struct loopback_ops loopback_snd_timer_ops = {
        .open = loopback_snd_timer_open,
        .start = loopback_snd_timer_start,
        .stop = loopback_snd_timer_stop,