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

ALSA: pxa2xx: Use guard() for mutex locks

Replace the manual mutex lock/unlock pairs with guard() for code
simplification.

Only code refactoring, and no behavior change.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20250829151335.7342-16-tiwai@suse.de

+4 -8
+4 -8
sound/arm/pxa2xx-ac97-lib.c
··· 51 51 if (slot > 0) 52 52 return -ENODEV; 53 53 54 - mutex_lock(&car_mutex); 54 + guard(mutex)(&car_mutex); 55 55 56 56 /* set up primary or secondary codec space */ 57 57 if (cpu_is_pxa25x() && reg == AC97_GPIO_STATUS) ··· 67 67 gsr_bits = 0; 68 68 val = (readl(reg_addr) & 0xffff); 69 69 if (reg == AC97_GPIO_STATUS) 70 - goto out; 70 + return val; 71 71 if (wait_event_timeout(gsr_wq, (readl(ac97_reg_base + GSR) | gsr_bits) & GSR_SDONE, 1) <= 0 && 72 72 !((readl(ac97_reg_base + GSR) | gsr_bits) & GSR_SDONE)) { 73 73 printk(KERN_ERR "%s: read error (ac97_reg=%d GSR=%#lx)\n", 74 74 __func__, reg, readl(ac97_reg_base + GSR) | gsr_bits); 75 - val = -ETIMEDOUT; 76 - goto out; 75 + return -ETIMEDOUT; 77 76 } 78 77 79 78 /* valid data now */ ··· 81 82 val = (readl(reg_addr) & 0xffff); 82 83 /* but we've just started another cycle... */ 83 84 wait_event_timeout(gsr_wq, (readl(ac97_reg_base + GSR) | gsr_bits) & GSR_SDONE, 1); 84 - 85 - out: mutex_unlock(&car_mutex); 86 85 return val; 87 86 } 88 87 EXPORT_SYMBOL_GPL(pxa2xx_ac97_read); ··· 90 93 u32 __iomem *reg_addr; 91 94 int ret = 0; 92 95 93 - mutex_lock(&car_mutex); 96 + guard(mutex)(&car_mutex); 94 97 95 98 /* set up primary or secondary codec space */ 96 99 if (cpu_is_pxa25x() && reg == AC97_GPIO_STATUS) ··· 111 114 ret = -EIO; 112 115 } 113 116 114 - mutex_unlock(&car_mutex); 115 117 return ret; 116 118 } 117 119 EXPORT_SYMBOL_GPL(pxa2xx_ac97_write);