]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: SOF: ipc/ops: Use guard() for spinlocks
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Mon, 12 Jan 2026 10:10:04 +0000 (12:10 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 12 Jan 2026 11:21:29 +0000 (11:21 +0000)
Replace the manual spinlock lock/unlock pairs with guard().

Only code refactoring, and no behavior change.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://patch.msgid.link/20260112101004.7648-8-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/ipc.c
sound/soc/sof/ops.c

index 3fdeb07bafa3ff33a6d85931dd4f10825fdd1412..e6d8894b8ef60cedfd72fec7fe7070f05c1ddc96 100644 (file)
@@ -47,7 +47,7 @@ int sof_ipc_send_msg(struct snd_sof_dev *sdev, void *msg_data, size_t msg_bytes,
         * The spin-lock is needed to protect message objects against other
         * atomic contexts.
         */
-       spin_lock_irq(&sdev->ipc_lock);
+       guard(spinlock_irq)(&sdev->ipc_lock);
 
        /* initialise the message */
        msg = &ipc->msg;
@@ -66,8 +66,6 @@ int sof_ipc_send_msg(struct snd_sof_dev *sdev, void *msg_data, size_t msg_bytes,
        if (!ret)
                msg->ipc_complete = false;
 
-       spin_unlock_irq(&sdev->ipc_lock);
-
        return ret;
 }
 
index bd52e7ec6883655a313e4406b7d29b37d6d20ea9..74c04dcf4167c774706260ff93cb2e2b37596ee3 100644 (file)
@@ -38,13 +38,8 @@ bool snd_sof_pci_update_bits_unlocked(struct snd_sof_dev *sdev, u32 offset,
 bool snd_sof_pci_update_bits(struct snd_sof_dev *sdev, u32 offset,
                             u32 mask, u32 value)
 {
-       unsigned long flags;
-       bool change;
-
-       spin_lock_irqsave(&sdev->hw_lock, flags);
-       change = snd_sof_pci_update_bits_unlocked(sdev, offset, mask, value);
-       spin_unlock_irqrestore(&sdev->hw_lock, flags);
-       return change;
+       guard(spinlock_irqsave)(&sdev->hw_lock);
+       return snd_sof_pci_update_bits_unlocked(sdev, offset, mask, value);
 }
 EXPORT_SYMBOL(snd_sof_pci_update_bits);
 
@@ -90,28 +85,16 @@ EXPORT_SYMBOL(snd_sof_dsp_update_bits64_unlocked);
 bool snd_sof_dsp_update_bits(struct snd_sof_dev *sdev, u32 bar, u32 offset,
                             u32 mask, u32 value)
 {
-       unsigned long flags;
-       bool change;
-
-       spin_lock_irqsave(&sdev->hw_lock, flags);
-       change = snd_sof_dsp_update_bits_unlocked(sdev, bar, offset, mask,
-                                                 value);
-       spin_unlock_irqrestore(&sdev->hw_lock, flags);
-       return change;
+       guard(spinlock_irqsave)(&sdev->hw_lock);
+       return snd_sof_dsp_update_bits_unlocked(sdev, bar, offset, mask, value);
 }
 EXPORT_SYMBOL(snd_sof_dsp_update_bits);
 
 bool snd_sof_dsp_update_bits64(struct snd_sof_dev *sdev, u32 bar, u32 offset,
                               u64 mask, u64 value)
 {
-       unsigned long flags;
-       bool change;
-
-       spin_lock_irqsave(&sdev->hw_lock, flags);
-       change = snd_sof_dsp_update_bits64_unlocked(sdev, bar, offset, mask,
-                                                   value);
-       spin_unlock_irqrestore(&sdev->hw_lock, flags);
-       return change;
+       guard(spinlock_irqsave)(&sdev->hw_lock);
+       return snd_sof_dsp_update_bits64_unlocked(sdev, bar, offset, mask, value);
 }
 EXPORT_SYMBOL(snd_sof_dsp_update_bits64);
 
@@ -134,11 +117,8 @@ void snd_sof_dsp_update_bits_forced_unlocked(struct snd_sof_dev *sdev, u32 bar,
 void snd_sof_dsp_update_bits_forced(struct snd_sof_dev *sdev, u32 bar,
                                    u32 offset, u32 mask, u32 value)
 {
-       unsigned long flags;
-
-       spin_lock_irqsave(&sdev->hw_lock, flags);
+       guard(spinlock_irqsave)(&sdev->hw_lock);
        snd_sof_dsp_update_bits_forced_unlocked(sdev, bar, offset, mask, value);
-       spin_unlock_irqrestore(&sdev->hw_lock, flags);
 }
 EXPORT_SYMBOL(snd_sof_dsp_update_bits_forced);