[PATCH 20/20] ASoC: Intel: atom: sst_ipc: Use guard() for spin locks
From: phucduc . bui
Date: Thu Jun 11 2026 - 08:07:51 EST
From: bui duc phuc <phucduc.bui@xxxxxxxxx>
Clean up the code using guard() for spin locks.
Merely code refactoring, and no behavior change.
Signed-off-by: bui duc phuc <phucduc.bui@xxxxxxxxx>
---
sound/soc/intel/atom/sst/sst_ipc.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/sound/soc/intel/atom/sst/sst_ipc.c b/sound/soc/intel/atom/sst/sst_ipc.c
index 0d5e71e8a5b5..580678c89b28 100644
--- a/sound/soc/intel/atom/sst/sst_ipc.c
+++ b/sound/soc/intel/atom/sst/sst_ipc.c
@@ -38,9 +38,8 @@ struct sst_block *sst_create_block(struct intel_sst_drv *ctx,
msg->on = true;
msg->msg_id = msg_id;
msg->drv_id = drv_id;
- spin_lock_bh(&ctx->block_lock);
- list_add_tail(&msg->node, &ctx->block_list);
- spin_unlock_bh(&ctx->block_lock);
+ scoped_guard(spinlock_bh, &ctx->block_lock)
+ list_add_tail(&msg->node, &ctx->block_list);
return msg;
}
@@ -180,9 +179,8 @@ void intel_sst_clear_intr_mrfld(struct intel_sst_drv *sst_drv_ctx)
union interrupt_reg_mrfld isr;
union interrupt_reg_mrfld imr;
union ipc_header_mrfld clear_ipc;
- unsigned long irq_flags;
- spin_lock_irqsave(&sst_drv_ctx->ipc_spin_lock, irq_flags);
+ guard(spinlock_irqsave)(&sst_drv_ctx->ipc_spin_lock);
imr.full = sst_shim_read64(sst_drv_ctx->shim, SST_IMRX);
isr.full = sst_shim_read64(sst_drv_ctx->shim, SST_ISRX);
@@ -200,7 +198,6 @@ void intel_sst_clear_intr_mrfld(struct intel_sst_drv *sst_drv_ctx)
/* un mask busy interrupt */
imr.part.busy_interrupt = 0;
sst_shim_write64(sst_drv_ctx->shim, SST_IMRX, imr.full);
- spin_unlock_irqrestore(&sst_drv_ctx->ipc_spin_lock, irq_flags);
}
--
2.43.0