mirror of
https://github.com/torvalds/linux.git
synced 2026-09-24 06:24:02 +02:00
ASoC: fsl_easrc: Use guard() for spin locks
Clean up the code using guard() for spin locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Link: https://patch.msgid.link/20260615093824.115751-4-phucduc.bui@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
58712476de
commit
48d84310be
|
|
@ -1025,7 +1025,6 @@ static int fsl_easrc_config_context(struct fsl_asrc *easrc, unsigned int ctx_id)
|
|||
struct fsl_easrc_ctx_priv *ctx_priv;
|
||||
struct fsl_asrc_pair *ctx;
|
||||
struct device *dev;
|
||||
unsigned long lock_flags;
|
||||
int ret;
|
||||
|
||||
if (!easrc)
|
||||
|
|
@ -1053,9 +1052,8 @@ static int fsl_easrc_config_context(struct fsl_asrc *easrc, unsigned int ctx_id)
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
spin_lock_irqsave(&easrc->lock, lock_flags);
|
||||
ret = fsl_easrc_config_slot(easrc, ctx->index);
|
||||
spin_unlock_irqrestore(&easrc->lock, lock_flags);
|
||||
scoped_guard(spinlock_irqsave, &easrc->lock)
|
||||
ret = fsl_easrc_config_slot(easrc, ctx->index);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
|
@ -1301,13 +1299,12 @@ static int fsl_easrc_request_context(int channels, struct fsl_asrc_pair *ctx)
|
|||
enum asrc_pair_index index = ASRC_INVALID_PAIR;
|
||||
struct fsl_asrc *easrc = ctx->asrc;
|
||||
struct device *dev;
|
||||
unsigned long lock_flags;
|
||||
int ret = 0;
|
||||
int i;
|
||||
|
||||
dev = &easrc->pdev->dev;
|
||||
|
||||
spin_lock_irqsave(&easrc->lock, lock_flags);
|
||||
guard(spinlock_irqsave)(&easrc->lock);
|
||||
|
||||
for (i = ASRC_PAIR_A; i < EASRC_CTX_MAX_NUM; i++) {
|
||||
if (easrc->pair[i])
|
||||
|
|
@ -1331,8 +1328,6 @@ static int fsl_easrc_request_context(int channels, struct fsl_asrc_pair *ctx)
|
|||
easrc->channel_avail -= channels;
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&easrc->lock, lock_flags);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
@ -1343,7 +1338,6 @@ static int fsl_easrc_request_context(int channels, struct fsl_asrc_pair *ctx)
|
|||
*/
|
||||
static void fsl_easrc_release_context(struct fsl_asrc_pair *ctx)
|
||||
{
|
||||
unsigned long lock_flags;
|
||||
struct fsl_asrc *easrc;
|
||||
|
||||
if (!ctx)
|
||||
|
|
@ -1351,14 +1345,12 @@ static void fsl_easrc_release_context(struct fsl_asrc_pair *ctx)
|
|||
|
||||
easrc = ctx->asrc;
|
||||
|
||||
spin_lock_irqsave(&easrc->lock, lock_flags);
|
||||
guard(spinlock_irqsave)(&easrc->lock);
|
||||
|
||||
fsl_easrc_release_slot(easrc, ctx->index);
|
||||
|
||||
easrc->channel_avail += ctx->channels;
|
||||
easrc->pair[ctx->index] = NULL;
|
||||
|
||||
spin_unlock_irqrestore(&easrc->lock, lock_flags);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -2292,15 +2284,13 @@ static int fsl_easrc_runtime_suspend(struct device *dev)
|
|||
{
|
||||
struct fsl_asrc *easrc = dev_get_drvdata(dev);
|
||||
struct fsl_easrc_priv *easrc_priv = easrc->private;
|
||||
unsigned long lock_flags;
|
||||
|
||||
regcache_cache_only(easrc->regmap, true);
|
||||
|
||||
clk_disable_unprepare(easrc->mem_clk);
|
||||
|
||||
spin_lock_irqsave(&easrc->lock, lock_flags);
|
||||
easrc_priv->firmware_loaded = 0;
|
||||
spin_unlock_irqrestore(&easrc->lock, lock_flags);
|
||||
scoped_guard(spinlock_irqsave, &easrc->lock)
|
||||
easrc_priv->firmware_loaded = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -2311,7 +2301,6 @@ static int fsl_easrc_runtime_resume(struct device *dev)
|
|||
struct fsl_easrc_priv *easrc_priv = easrc->private;
|
||||
struct fsl_easrc_ctx_priv *ctx_priv;
|
||||
struct fsl_asrc_pair *ctx;
|
||||
unsigned long lock_flags;
|
||||
int ret;
|
||||
int i;
|
||||
|
||||
|
|
@ -2323,13 +2312,11 @@ static int fsl_easrc_runtime_resume(struct device *dev)
|
|||
regcache_mark_dirty(easrc->regmap);
|
||||
regcache_sync(easrc->regmap);
|
||||
|
||||
spin_lock_irqsave(&easrc->lock, lock_flags);
|
||||
if (easrc_priv->firmware_loaded) {
|
||||
spin_unlock_irqrestore(&easrc->lock, lock_flags);
|
||||
goto skip_load;
|
||||
scoped_guard(spinlock_irqsave, &easrc->lock) {
|
||||
if (easrc_priv->firmware_loaded)
|
||||
return 0;
|
||||
easrc_priv->firmware_loaded = 1;
|
||||
}
|
||||
easrc_priv->firmware_loaded = 1;
|
||||
spin_unlock_irqrestore(&easrc->lock, lock_flags);
|
||||
|
||||
ret = fsl_easrc_get_firmware(easrc);
|
||||
if (ret) {
|
||||
|
|
@ -2377,9 +2364,6 @@ static int fsl_easrc_runtime_resume(struct device *dev)
|
|||
goto disable_mem_clk;
|
||||
}
|
||||
|
||||
skip_load:
|
||||
return 0;
|
||||
|
||||
disable_mem_clk:
|
||||
clk_disable_unprepare(easrc->mem_clk);
|
||||
return ret;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user