[PATCH 00/51] ALSA: More devres usages

Takashi Iwai tiwai at suse.de
Tue Jul 13 16:27:07 CEST 2021


On Tue, 13 Jul 2021 16:24:36 +0200,
Takashi Iwai wrote:
> 
> Hi,
> 
> this is 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.
> 
> This series covers only the drivers in pci, x86 and drivers
> subdirectories.  The patches for isa subdirectory will follow later.
> 
> 
> Takashi
> 
> ===
> 
> Takashi Iwai (51):
>   ALSA: core: Add device-managed page allocator helper
>   ALSA: core: Add managed card creation
>   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: doc: Add device-managed resource section
>   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: korg1212: Allocate resources with device-managed APIs
>   ALSA: lola: 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: 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
> 
>  .../kernel-api/writing-an-alsa-driver.rst     |  33 +++
>  include/sound/core.h                          |   5 +
>  include/sound/emu10k1.h                       |   6 +-
>  include/sound/memalloc.h                      |   4 +
>  sound/core/init.c                             | 101 ++++++++-
>  sound/core/memalloc.c                         |  46 ++++
>  sound/drivers/mpu401/mpu401.c                 |  33 +--
>  sound/drivers/mtpav.c                         |  30 +--
>  sound/drivers/serial-u16550.c                 |  57 +----
>  sound/drivers/virmidi.c                       |  21 +-
>  sound/drivers/vx/vx_core.c                    |  12 +-
>  sound/pci/ad1889.c                            | 144 +++---------
>  sound/pci/ali5451/ali5451.c                   |  88 ++------
>  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                             |  97 ++------
>  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                 | 109 ++-------
>  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                   | 127 +++--------
>  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/maestro3.c                          | 106 ++-------
>  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                           | 106 +++------
>  sound/pci/via82xx_modem.c                     |  86 ++-----
>  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                    |  21 --
>  sound/x86/intel_hdmi_audio.c                  |  57 ++---
>  77 files changed, 1449 insertions(+), 3944 deletions(-)

Oops, the patch submission was truncated mistakenly, so scratch this
thread.

Will resend the whole series.  Sorry for inconvenience.


Takashi


More information about the Alsa-devel mailing list