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