This reverts commit d956208576.
Commit d956208576 ("ALSA: aoa: Use guard() for mutex locks", upstream
commit 1cb6ecbb37) was picked up for 5.15.y only as a Stable-dep-of
for 5ed060d549 ("ALSA: aoa: i2sbus: clear stale prepared state").
5.15.y still builds with '-std=gnu89' and '-Wdeclaration-after-statement',
so the guard() and scoped_guard() helpers cannot be used here at all: the
CLASS() declaration that guard() expands to is a declaration in the middle
of a block, and scoped_guard() declares its variable in a for() init
clause. With CONFIG_WERROR=y (allmodconfig) this breaks the powerpc
build:
sound/aoa/core/gpio-pmf.c: In function 'pmf_set_notify':
./include/linux/cleanup.h:86:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
sound/aoa/codecs/tas.c: In function 'tas_switch_clock':
./include/linux/cleanup.h:112:9: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
Revert the cleanup so that sound/aoa goes back to explicit
mutex_lock()/mutex_unlock() pairs. As it was a pure refactoring with no
behaviour change, nothing is lost.
The two fixes that were queued on top of it are kept and re-adapted to
the explicit locking in sound/aoa/soundbus/i2sbus/pcm.c:
- 2c38191380 ("ALSA: aoa: i2sbus: clear stale prepared state"):
i2sbus_pcm_clear_active() now takes and drops i2sdev->lock explicitly,
and i2sbus_pcm_prepare() sets pi->active only on the success paths,
which are now reached via 'goto out_unlock' with result == 0.
- d17c282163 ("ALSA: aoa: Skip devices with no codecs in
i2sbus_resume()"): the list_first_entry() conversion in
i2sbus_pcm_prepare() is kept.
Signed-off-by: Sasha Levin <sashal@kernel.org>