Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ALSA: firewire: oxfw: Use guard() for spin locks

Clean up the code using guard() for spin locks.

Merely code refactoring, and no behavior change.

Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20250828132802.9032-18-tiwai@suse.de

+18 -50
+10 -27
sound/firewire/oxfw/oxfw-hwdep.c
··· 53 53 poll_table *wait) 54 54 { 55 55 struct snd_oxfw *oxfw = hwdep->private_data; 56 - __poll_t events; 57 56 58 57 poll_wait(file, &oxfw->hwdep_wait, wait); 59 58 60 - spin_lock_irq(&oxfw->lock); 59 + guard(spinlock_irq)(&oxfw->lock); 61 60 if (oxfw->dev_lock_changed) 62 - events = EPOLLIN | EPOLLRDNORM; 61 + return EPOLLIN | EPOLLRDNORM; 63 62 else 64 - events = 0; 65 - spin_unlock_irq(&oxfw->lock); 66 - 67 - return events; 63 + return 0; 68 64 } 69 65 70 66 static int hwdep_get_info(struct snd_oxfw *oxfw, void __user *arg) ··· 84 88 85 89 static int hwdep_lock(struct snd_oxfw *oxfw) 86 90 { 87 - int err; 88 - 89 - spin_lock_irq(&oxfw->lock); 91 + guard(spinlock_irq)(&oxfw->lock); 90 92 91 93 if (oxfw->dev_lock_count == 0) { 92 94 oxfw->dev_lock_count = -1; 93 - err = 0; 95 + return 0; 94 96 } else { 95 - err = -EBUSY; 97 + return -EBUSY; 96 98 } 97 - 98 - spin_unlock_irq(&oxfw->lock); 99 - 100 - return err; 101 99 } 102 100 103 101 static int hwdep_unlock(struct snd_oxfw *oxfw) 104 102 { 105 - int err; 106 - 107 - spin_lock_irq(&oxfw->lock); 103 + guard(spinlock_irq)(&oxfw->lock); 108 104 109 105 if (oxfw->dev_lock_count == -1) { 110 106 oxfw->dev_lock_count = 0; 111 - err = 0; 107 + return 0; 112 108 } else { 113 - err = -EBADFD; 109 + return -EBADFD; 114 110 } 115 - 116 - spin_unlock_irq(&oxfw->lock); 117 - 118 - return err; 119 111 } 120 112 121 113 static int hwdep_release(struct snd_hwdep *hwdep, struct file *file) 122 114 { 123 115 struct snd_oxfw *oxfw = hwdep->private_data; 124 116 125 - spin_lock_irq(&oxfw->lock); 117 + guard(spinlock_irq)(&oxfw->lock); 126 118 if (oxfw->dev_lock_count == -1) 127 119 oxfw->dev_lock_count = 0; 128 - spin_unlock_irq(&oxfw->lock); 129 120 130 121 return 0; 131 122 }
+2 -8
sound/firewire/oxfw/oxfw-midi.c
··· 84 84 static void midi_capture_trigger(struct snd_rawmidi_substream *substrm, int up) 85 85 { 86 86 struct snd_oxfw *oxfw = substrm->rmidi->private_data; 87 - unsigned long flags; 88 87 89 - spin_lock_irqsave(&oxfw->lock, flags); 88 + guard(spinlock_irqsave)(&oxfw->lock); 90 89 91 90 if (up) 92 91 amdtp_am824_midi_trigger(&oxfw->tx_stream, ··· 93 94 else 94 95 amdtp_am824_midi_trigger(&oxfw->tx_stream, 95 96 substrm->number, NULL); 96 - 97 - spin_unlock_irqrestore(&oxfw->lock, flags); 98 97 } 99 98 100 99 static void midi_playback_trigger(struct snd_rawmidi_substream *substrm, int up) 101 100 { 102 101 struct snd_oxfw *oxfw = substrm->rmidi->private_data; 103 - unsigned long flags; 104 102 105 - spin_lock_irqsave(&oxfw->lock, flags); 103 + guard(spinlock_irqsave)(&oxfw->lock); 106 104 107 105 if (up) 108 106 amdtp_am824_midi_trigger(&oxfw->rx_stream, ··· 107 111 else 108 112 amdtp_am824_midi_trigger(&oxfw->rx_stream, 109 113 substrm->number, NULL); 110 - 111 - spin_unlock_irqrestore(&oxfw->lock, flags); 112 114 } 113 115 114 116 static void set_midi_substream_names(struct snd_oxfw *oxfw,
+6 -15
sound/firewire/oxfw/oxfw-stream.c
··· 866 866 867 867 int snd_oxfw_stream_lock_try(struct snd_oxfw *oxfw) 868 868 { 869 - int err; 870 - 871 - spin_lock_irq(&oxfw->lock); 869 + guard(spinlock_irq)(&oxfw->lock); 872 870 873 871 /* user land lock this */ 874 - if (oxfw->dev_lock_count < 0) { 875 - err = -EBUSY; 876 - goto end; 877 - } 872 + if (oxfw->dev_lock_count < 0) 873 + return -EBUSY; 878 874 879 875 /* this is the first time */ 880 876 if (oxfw->dev_lock_count++ == 0) 881 877 snd_oxfw_stream_lock_changed(oxfw); 882 - err = 0; 883 - end: 884 - spin_unlock_irq(&oxfw->lock); 885 - return err; 878 + return 0; 886 879 } 887 880 888 881 void snd_oxfw_stream_lock_release(struct snd_oxfw *oxfw) 889 882 { 890 - spin_lock_irq(&oxfw->lock); 883 + guard(spinlock_irq)(&oxfw->lock); 891 884 892 885 if (WARN_ON(oxfw->dev_lock_count <= 0)) 893 - goto end; 886 + return; 894 887 if (--oxfw->dev_lock_count == 0) 895 888 snd_oxfw_stream_lock_changed(oxfw); 896 - end: 897 - spin_unlock_irq(&oxfw->lock); 898 889 }