[PATCH v2 00/79] ALSA: More devres usages
Takashi Iwai
tiwai at suse.de
Thu Jul 15 09:58:22 CEST 2021
Hi,
this is a v2 patch series for adapting more devres usages in ALSA
drivers, a resurrect of my early RFC patch with the fix and applying
to more drivers. The main purpose is merely the code cleanup over the
tree by replacing the resource allocations with devres helpers as much
as possible.
The only major change is the addition of devres-supported card object
handling snd_devm_card_new() and the page allocation helper
snd_devm_alloc_pages(). Those allow us to get rid of the remove
callback completely in many drivers. In the end, the series resulted
in a significant amount of code reduction.
Now ISA drivers and a few other drivers have been covered as
well as a couple of missing PCI drivers and fixes.
Takashi
===
v1->v2:
* Rearrange patch order
* Use size_t in snd_devm_card_new()
* Move card->releasing check into devres release
* Most of ISA drivers are included
* A few platform drivers included
* Fixed missing initializations, etc in a few drivers.
Takashi Iwai (79):
ALSA: core: Add device-managed page allocator helper
ALSA: core: Add managed card creation
ALSA: core: Add device-managed request_dma()
ALSA: doc: Add device-managed resource section
ALSA: intel8x0: Allocate resources with device-managed APIs
ALSA: atiixp: Allocate resources with device-managed APIs
ALSA: hda: Allocate resources with device-managed APIs
ALSA: ad1889: Allocate resources with device-managed APIs
ALSA: als300: Allocate resources with device-managed APIs
ALSA: als4000: Allocate resources with device-managed APIs
ALSA: azt3328: Allocate resources with device-managed APIs
ALSA: bt87x: Allocate resources with device-managed APIs
ALSA: cmipci: Allocate resources with device-managed APIs
ALSA: cs4281: Allocate resources with device-managed APIs
ALSA: cs5530: Allocate resources with device-managed APIs
ALSA: ens137x: Allocate resources with device-managed APIs
ALSA: es1938: Allocate resources with device-managed APIs
ALSA: es1968: Allocate resources with device-managed APIs
ALSA: fm801: Allocate resources with device-managed APIs
ALSA: maestro3: Allocate resources with device-managed APIs
ALSA: rme32: Allocate resources with device-managed APIs
ALSA: rme96: Allocate resources with device-managed APIs
ALSA: sis7019: Allocate resources with device-managed APIs
ALSA: sonicvibes: Allocate resources with device-managed APIs
ALSA: via82xx: Allocate resources with device-managed APIs
ALSA: ali5451: Allocate resources with device-managed APIs
ALSA: au88x0: Allocate resources with device-managed APIs
ALSA: aw2: Allocate resources with device-managed APIs
ALSA: ca0106: Allocate resources with device-managed APIs
ALSA: cs46xx: Allocate resources with device-managed APIs
ALSA: cs5535audio: Allocate resources with device-managed APIs
ALSA: echoaudio: Allocate resources with device-managed APIs
ALSA: emu10k1: Allocate resources with device-managed APIs
ALSA: emu10k1x: Allocate resources with device-managed APIs
ALSA: ice1712: Allocate resources with device-managed APIs
ALSA: ice1724: Allocate resources with device-managed APIs
ALSA: ali5451: Allocate resources with device-managed APIs
ALSA: ice1724: Allocate resources with device-managed APIs
ALSA: korg1212: Allocate resources with device-managed APIs
ALSA: lola: Allocate resources with device-managed APIs
ALSA: lx6464es: Allocate resources with device-managed APIs
ALSA: nm256: Allocate resources with device-managed APIs
ALSA: oxygen: Allocate resources with device-managed APIs
ALSA: riptide: Allocate resources with device-managed APIs
ALSA: hdsp: Allocate resources with device-managed APIs
ALSA: hdspm: Allocate resources with device-managed APIs
ALSA: rme9652: Allocate resources with device-managed APIs
ALSA: trident: Allocate resources with device-managed APIs
ALSA: vx: Manage vx_core object with devres
ALSA: vx222: Allocate resources with device-managed APIs
ALSA: ymfpci: Allocate resources with device-managed APIs
ALSA: ad1816a: Allocate resources with device-managed APIs
ALSA: wss: Allocate resources with device-managed APIs
ALSA: sb: Allocate resources with device-managed APIs
ALSA: ad1848: Allocate resources with device-managed APIs
ALSA: adlib: Allocate resources with device-managed APIs
ALSA: als100: Allocate resources with device-managed APIs
ALSA: azt2320: Allocate resources with device-managed APIs
ALSA: cmi8328: Allocate resources with device-managed APIs
ALSA: cmi8330: Allocate resources with device-managed APIs
ALSA: cs423x: Allocate resources with device-managed APIs
ALSA: es1688: Allocate resources with device-managed APIs
ALSA: es18xx: Allocate resources with device-managed APIs
ALSA: galaxy: Allocate resources with device-managed APIs
ALSA: gus: Allocate resources with device-managed APIs
ALSA: msnd: Allocate resources with device-managed APIs
ALSA: opti9xx: Allocate resources with device-managed APIs
ALSA: opl3sa2: Allocate resources with device-managed APIs
ALSA: sc6000: Allocate resources with device-managed APIs
ALSA: sscape: Allocate resources with device-managed APIs
ALSA: wavefront: Allocate resources with device-managed APIs
ALSA: x86: Allocate resources with device-managed APIs
ALSA: virmidi: Allocate resources with device-managed APIs
ALSA: mtpav: Allocate resources with device-managed APIs
ALSA: serial-u16550: Allocate resources with device-managed APIs
ALSA: mpu401: Allocate resources with device-managed APIs
ALSA: aloop: Allocate resources with device-managed APIs
ALSA: dummy: Allocate resources with device-managed APIs
ALSA: pcsp: Allocate resources with device-managed APIs
.../kernel-api/writing-an-alsa-driver.rst | 33 +++
include/sound/core.h | 6 +
include/sound/emu10k1.h | 6 +-
include/sound/emu8000.h | 3 -
include/sound/es1688.h | 1 -
include/sound/memalloc.h | 4 +
sound/core/init.c | 99 +++++++-
sound/core/isadma.c | 38 ++++
sound/core/memalloc.c | 46 ++++
sound/drivers/aloop.c | 26 +--
sound/drivers/dummy.c | 24 +-
sound/drivers/mpu401/mpu401.c | 34 +--
sound/drivers/mtpav.c | 30 +--
sound/drivers/pcsp/pcsp.c | 49 ++--
sound/drivers/pcsp/pcsp_input.c | 14 +-
sound/drivers/pcsp/pcsp_input.h | 1 -
sound/drivers/serial-u16550.c | 57 +----
sound/drivers/virmidi.c | 21 +-
sound/drivers/vx/vx_core.c | 12 +-
sound/isa/ad1816a/ad1816a.c | 41 +---
sound/isa/ad1816a/ad1816a_lib.c | 49 +---
sound/isa/ad1848/ad1848.c | 19 +-
sound/isa/adlib.c | 28 +--
sound/isa/als100.c | 41 +---
sound/isa/azt2320.c | 49 +---
sound/isa/cmi8328.c | 31 +--
sound/isa/cmi8330.c | 27 +--
sound/isa/cs423x/cs4231.c | 21 +-
sound/isa/cs423x/cs4236.c | 52 +----
sound/isa/cs423x/cs4236_lib.c | 2 -
sound/isa/es1688/es1688.c | 33 +--
sound/isa/es1688/es1688_lib.c | 29 +--
sound/isa/es18xx.c | 112 ++--------
sound/isa/galaxy/galaxy.c | 82 +++----
sound/isa/gus/gus_main.c | 44 ++--
sound/isa/gus/gusclassic.c | 28 +--
sound/isa/gus/gusextreme.c | 39 ++--
sound/isa/gus/gusmax.c | 65 ++----
sound/isa/gus/interwave.c | 53 +----
sound/isa/msnd/msnd_pinnacle.c | 119 +++-------
sound/isa/opl3sa2.c | 60 +----
sound/isa/opti9xx/miro.c | 76 ++-----
sound/isa/opti9xx/opti92x-ad1848.c | 80 ++-----
sound/isa/sb/emu8000.c | 48 +---
sound/isa/sb/jazz16.c | 39 +---
sound/isa/sb/sb16.c | 42 +---
sound/isa/sb/sb8.c | 48 ++--
sound/isa/sb/sb_common.c | 64 ++----
sound/isa/sc6000.c | 73 +++---
sound/isa/sscape.c | 92 ++------
sound/isa/wavefront/wavefront.c | 46 +---
sound/isa/wss/wss_lib.c | 67 +-----
sound/pci/ad1889.c | 144 +++---------
sound/pci/ali5451/ali5451.c | 90 ++------
sound/pci/als300.c | 79 ++-----
sound/pci/als4000.c | 59 ++---
sound/pci/atiixp.c | 92 ++------
sound/pci/atiixp_modem.c | 92 ++------
sound/pci/au88x0/au88x0.c | 134 +++--------
sound/pci/aw2/aw2-alsa.c | 102 ++-------
sound/pci/azt3328.c | 124 +++-------
sound/pci/bt87x.c | 98 +++-----
sound/pci/ca0106/ca0106.h | 3 +-
sound/pci/ca0106/ca0106_main.c | 114 +++-------
sound/pci/cmipci.c | 104 +++------
sound/pci/cs4281.c | 112 ++--------
sound/pci/cs46xx/cs46xx.c | 51 ++---
sound/pci/cs46xx/cs46xx.h | 4 +-
sound/pci/cs46xx/cs46xx_lib.c | 111 ++-------
sound/pci/cs5530.c | 86 ++-----
sound/pci/cs5535audio/cs5535audio.c | 94 ++------
sound/pci/cs5535audio/cs5535audio_olpc.c | 7 +-
sound/pci/echoaudio/echoaudio.c | 168 ++++----------
sound/pci/echoaudio/echoaudio.h | 2 +-
sound/pci/emu10k1/emu10k1.c | 53 ++---
sound/pci/emu10k1/emu10k1_main.c | 102 +++------
sound/pci/emu10k1/emu10k1x.c | 128 +++--------
sound/pci/emu10k1/p16v.c | 22 +-
sound/pci/ens1370.c | 115 +++-------
sound/pci/es1938.c | 97 ++------
sound/pci/es1968.c | 112 ++--------
sound/pci/fm801.c | 103 ++-------
sound/pci/hda/hda_controller.h | 1 -
sound/pci/hda/hda_intel.c | 26 +--
sound/pci/ice1712/ice1712.c | 133 +++--------
sound/pci/ice1712/ice1724.c | 129 +++--------
sound/pci/intel8x0.c | 140 ++++--------
sound/pci/intel8x0m.c | 139 ++++--------
sound/pci/korg1212/korg1212.c | 211 +++++-------------
sound/pci/lola/lola.c | 127 +++--------
sound/pci/lola/lola.h | 5 +-
sound/pci/lola/lola_pcm.c | 20 +-
sound/pci/lx6464es/lx6464es.c | 112 ++--------
sound/pci/maestro3.c | 106 ++-------
sound/pci/nm256/nm256.c | 130 +++--------
sound/pci/oxygen/oxygen.c | 1 -
sound/pci/oxygen/oxygen.h | 1 -
sound/pci/oxygen/oxygen_lib.c | 66 ++----
sound/pci/oxygen/se6x.c | 1 -
sound/pci/oxygen/virtuoso.c | 1 -
sound/pci/riptide/riptide.c | 89 ++------
sound/pci/rme32.c | 49 +---
sound/pci/rme96.c | 57 ++---
sound/pci/rme9652/hdsp.c | 89 +++-----
sound/pci/rme9652/hdspm.c | 64 +-----
sound/pci/rme9652/rme9652.c | 85 ++-----
sound/pci/sis7019.c | 87 ++------
sound/pci/sonicvibes.c | 117 +++-------
sound/pci/trident/trident.c | 39 +---
sound/pci/trident/trident.h | 7 +-
sound/pci/trident/trident_main.c | 90 +++-----
sound/pci/trident/trident_memory.c | 8 +-
sound/pci/via82xx.c | 116 +++-------
sound/pci/via82xx_modem.c | 88 ++------
sound/pci/vx222/vx222.c | 69 +-----
sound/pci/ymfpci/ymfpci.c | 66 +++---
sound/pci/ymfpci/ymfpci.h | 8 +-
sound/pci/ymfpci/ymfpci_main.c | 149 ++++---------
sound/pcmcia/vx/vxpocket.c | 22 --
sound/x86/intel_hdmi_audio.c | 57 ++---
120 files changed, 1997 insertions(+), 5513 deletions(-)
--
2.26.2
More information about the Alsa-devel
mailing list