[PATCH v2 08/11] ASoC: imx-audio-rpmsg: Use guard() for spin locks
Frank Li
Frank.li at oss.nxp.com
Mon Jun 15 07:17:51 PDT 2026
On Mon, Jun 15, 2026 at 04:38:21PM +0700, phucduc.bui at gmail.com wrote:
> From: bui duc phuc <phucduc.bui at gmail.com>
>
> Clean up the code using guard() for spin locks.
> Merely code refactoring, and no behavior change.
>
> Signed-off-by: bui duc phuc <phucduc.bui at gmail.com>
> ---
Reviewed-by: Frank Li <Frank.Li at nxp.com>
> sound/soc/fsl/imx-audio-rpmsg.c | 25 ++++++++++++-------------
> 1 file changed, 12 insertions(+), 13 deletions(-)
>
> diff --git a/sound/soc/fsl/imx-audio-rpmsg.c b/sound/soc/fsl/imx-audio-rpmsg.c
> index 38aafb8954c7..b55dfbdb4502 100644
> --- a/sound/soc/fsl/imx-audio-rpmsg.c
> +++ b/sound/soc/fsl/imx-audio-rpmsg.c
> @@ -22,7 +22,6 @@ static int imx_audio_rpmsg_cb(struct rpmsg_device *rpdev, void *data, int len,
> struct rpmsg_r_msg *r_msg = (struct rpmsg_r_msg *)data;
> struct rpmsg_info *info;
> struct rpmsg_msg *msg;
> - unsigned long flags;
>
> if (!rpmsg->rpmsg_pdev)
> return 0;
> @@ -37,21 +36,21 @@ static int imx_audio_rpmsg_cb(struct rpmsg_device *rpdev, void *data, int len,
> /* TYPE C is notification from M core */
> switch (r_msg->header.cmd) {
> case TX_PERIOD_DONE:
> - spin_lock_irqsave(&info->lock[TX], flags);
> - msg = &info->msg[TX_PERIOD_DONE + MSG_TYPE_A_NUM];
> - msg->r_msg.param.buffer_tail =
> - r_msg->param.buffer_tail;
> - msg->r_msg.param.buffer_tail %= info->num_period[TX];
> - spin_unlock_irqrestore(&info->lock[TX], flags);
> + scoped_guard(spinlock_irqsave, &info->lock[TX]) {
> + msg = &info->msg[TX_PERIOD_DONE + MSG_TYPE_A_NUM];
> + msg->r_msg.param.buffer_tail =
> + r_msg->param.buffer_tail;
> + msg->r_msg.param.buffer_tail %= info->num_period[TX];
> + }
> info->callback[TX](info->callback_param[TX]);
> break;
> case RX_PERIOD_DONE:
> - spin_lock_irqsave(&info->lock[RX], flags);
> - msg = &info->msg[RX_PERIOD_DONE + MSG_TYPE_A_NUM];
> - msg->r_msg.param.buffer_tail =
> - r_msg->param.buffer_tail;
> - msg->r_msg.param.buffer_tail %= info->num_period[1];
> - spin_unlock_irqrestore(&info->lock[RX], flags);
> + scoped_guard(spinlock_irqsave, &info->lock[RX]) {
> + msg = &info->msg[RX_PERIOD_DONE + MSG_TYPE_A_NUM];
> + msg->r_msg.param.buffer_tail =
> + r_msg->param.buffer_tail;
> + msg->r_msg.param.buffer_tail %= info->num_period[1];
> + }
> info->callback[RX](info->callback_param[RX]);
> break;
> default:
> --
> 2.43.0
>
>
More information about the linux-arm-kernel
mailing list