All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] ALSA: Make control API taking controls_rwsem consistently
@ 2023-07-18 14:12 Takashi Iwai
  2023-07-18 14:12 ` [PATCH 01/11] ALSA: control: Take card->controls_rwsem in snd_ctl_rename() Takashi Iwai
                   ` (11 more replies)
  0 siblings, 12 replies; 20+ messages in thread
From: Takashi Iwai @ 2023-07-18 14:12 UTC (permalink / raw)
  To: alsa-devel
  Cc: Takashi Iwai, Alex Elder, Claudiu Beznea, Greg Kroah-Hartman,
	Johan Hovold, Lars-Peter Clausen, Mark Brown, Mark Greer,
	Nuno Sá, Vaibhav Agarwal, greybus-dev

A few ALSA control API helpers like snd_ctl_rename(), snd_ctl_remove()
and snd_ctl_find_*() suppose the callers taking card->controls_rwsem.
But it's error-prone and fragile.  This patch set tries to change
those API functions to take the card->controls>rwsem internally by
themselves, so that the drivers don't need to take care of lockings.

After applying this patch set, only a couple of places still touch
card->controls_rwsem (which are OK-ish as they need for traversing the
control linked list).


Takashi

===

Takashi Iwai (11):
  ALSA: control: Take card->controls_rwsem in snd_ctl_rename()
  staging: greybus: audio_helper: Use snd_ctl_remove_id()
  ASoC: atmel: mchp-pdmc: Use snd_ctl_remove_id()
  ALSA: control: Take controls_rwsem lock in snd_ctl_remove()
  ALSA: control: Add lockdep warning to internal functions
  ASoC: sigmadsp: Simplify with snd_ctl_activate_id()
  staging: greybus: Avoid abusing controls_rwsem
  ALSA: control: Make snd_ctl_find_id() argument const
  ALSA: control: Introduce unlocked version for snd_ctl_find_*() helpers
  ALSA: control: Take lock in snd_ctl_find_id() and snd_ctl_find_numid()
  ALSA: emu10k1: Go back and simplify with snd_ctl_find_id()

 drivers/staging/greybus/audio_codec.c  |  18 ++--
 drivers/staging/greybus/audio_codec.h  |   1 +
 drivers/staging/greybus/audio_helper.c |  20 +---
 include/sound/control.h                |   6 +-
 sound/core/control.c                   | 126 ++++++++++++++++++++-----
 sound/core/control_compat.c            |   2 +-
 sound/core/control_led.c               |   2 +-
 sound/core/jack.c                      |   2 -
 sound/core/oss/mixer_oss.c             |  10 +-
 sound/core/pcm.c                       |   2 -
 sound/isa/sb/emu8000.c                 |   2 -
 sound/isa/sb/sb16_csp.c                |   2 -
 sound/pci/emu10k1/emufx.c              |   5 -
 sound/pci/hda/hda_codec.c              |   2 -
 sound/soc/atmel/mchp-pdmc.c            |  12 +--
 sound/soc/codecs/sigmadsp.c            |  25 +----
 sound/soc/soc-topology.c               |   3 -
 17 files changed, 129 insertions(+), 111 deletions(-)

-- 
2.35.3


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2023-07-20  8:20 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-18 14:12 [PATCH 00/11] ALSA: Make control API taking controls_rwsem consistently Takashi Iwai
2023-07-18 14:12 ` [PATCH 01/11] ALSA: control: Take card->controls_rwsem in snd_ctl_rename() Takashi Iwai
2023-07-18 14:12 ` [PATCH 02/11] staging: greybus: audio_helper: Use snd_ctl_remove_id() Takashi Iwai
2023-07-18 18:00   ` Greg Kroah-Hartman
2023-07-18 14:12 ` [PATCH 03/11] ASoC: atmel: mchp-pdmc: " Takashi Iwai
2023-07-18 14:45   ` claudiu beznea
2023-07-18 14:59   ` Mark Brown
2023-07-18 14:12 ` [PATCH 04/11] ALSA: control: Take controls_rwsem lock in snd_ctl_remove() Takashi Iwai
2023-07-18 14:12 ` [PATCH 05/11] ALSA: control: Add lockdep warning to internal functions Takashi Iwai
2023-07-18 14:12 ` [PATCH 06/11] ASoC: sigmadsp: Simplify with snd_ctl_activate_id() Takashi Iwai
2023-07-18 14:58   ` Mark Brown
2023-07-18 14:13 ` [PATCH 07/11] staging: greybus: Avoid abusing controls_rwsem Takashi Iwai
2023-07-18 18:00   ` Greg Kroah-Hartman
2023-07-18 14:13 ` [PATCH 08/11] ALSA: control: Make snd_ctl_find_id() argument const Takashi Iwai
2023-07-18 14:13 ` [PATCH 09/11] ALSA: control: Introduce unlocked version for snd_ctl_find_*() helpers Takashi Iwai
2023-07-18 14:13 ` [PATCH 10/11] ALSA: control: Take lock in snd_ctl_find_id() and snd_ctl_find_numid() Takashi Iwai
2023-07-19 10:20   ` Oswald Buddenhagen
2023-07-19 10:45     ` Takashi Iwai
2023-07-18 14:13 ` [PATCH 11/11] ALSA: emu10k1: Go back and simplify with snd_ctl_find_id() Takashi Iwai
2023-07-20  8:16 ` [PATCH 00/11] ALSA: Make control API taking controls_rwsem consistently Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.