* [PATCH 000/173] ALSA/ASoC: Convert to platform remove callback returning void
@ 2023-03-15 15:04 Uwe Kleine-König
2023-03-15 15:06 ` [PATCH 114/173] ASoC: meson: aiu: " Uwe Kleine-König
2023-03-16 9:32 ` [PATCH 000/173] ALSA/ASoC: " Takashi Iwai
0 siblings, 2 replies; 4+ messages in thread
From: Uwe Kleine-König @ 2023-03-15 15:04 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai, Liam Girdwood, Mark Brown,
V sujith kumar Reddy, Daniel Mack, Haojian Zhuang, Robert Jarzmik,
Nicolas Ferre, Alexandre Belloni, Claudiu Beznea, Gaosheng Cui,
Thierry Reding, Jonathan Hunter, Mohan Kumar, Geoff Levand,
Takashi Sakamoto, Michael Ellerman, Charles Keepax,
Vijendar Mukunda, syed saba kareem, Mario Limonciello, Meng Tang,
Martin Povišer, Codrin Ciubotariu, Peter Rosin, Ray Jui,
Scott Branden, Allison Randal, Greg Kroah-Hartman,
Thomas Gleixner, Alexander Sverdlin, Kuninori Morimoto,
Richard Fitzgerald, James Schulman, David Rhodes, Lucas Tanure,
Srinivas Kandagatla, Banajit Goswami, Miaoqian Lin,
Colin Ian King, Aidan MacDonald, Zhang Qilong, Marek Szyprowski,
Liang He, Shengjiu Wang, Xiubo Li, Shawn Guo, Sascha Hauer,
Yang Yingliang, Minghao Chi, Kai Vehmanen, Bard Liao,
Pierre-Louis Bossart, Cezary Rojewski, Liam Girdwood,
Peter Ujfalusi, Ranjani Sridharan, Akihiko Odaki,
Amadeusz Sławiński, Andy Shevchenko, Hans de Goede,
Moises Cardona, Zhen Ni, Mauro Carvalho Chehab, Andrey Turkin,
Muralidhar Reddy, Zhu Ning, Gongjun Song, Shuming Fan, Yong Zhi,
Lior Amsalem, Andrew Lunn, Hezi Shahmoon, Neta Zur Hershkovits,
Marcin Wojtas, Matthias Brugger, Jiasheng Jiang, Ricardo Ribalda,
Trevor Wu, Dan Carpenter, Jerome Brunet, Neil Armstrong,
Kevin Hilman, Heiko Stuebner, Nicolas Frattaroli,
Krzysztof Kozlowski, Sylwester Nawrocki, Linh Phung,
Shang XiaoJing, Lad Prabhakar, Biju Das, Orson Zhai, Baolin Wang,
Chunyan Zhang, Olivier Moysan, Arnaud Pouliquen, Maxime Coquelin,
Alexandre Torgue, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland,
Mikhail Rudenko, Li Chen, Ban Tao, Sameer Pujar, YueHaibing,
Jiapeng Chong, Li kunyu, Peter Ujfalusi, Jarkko Nikula,
Kunihiko Hayashi, Masami Hiramatsu, Christophe JAILLET,
Arnd Bergmann, Linus Walleij, Michal Simek, Max Filippov
Cc: alsa-devel, kernel, linux-arm-kernel, linux-tegra,
Nicholas Piggin, Christophe Leroy, linuxppc-dev, asahi,
Broadcom internal kernel review list, patches, Fabio Estevam,
Nicolin Chen, NXP Linux Team, AngeloGioacchino Del Regno,
linux-mediatek, Martin Blumenstingl, linux-amlogic,
linux-rockchip, linux-stm32, linux-sunxi, linux-omap,
linux-xtensa
Hello,
this series adapts the platform drivers below sound/ to use the .remove_new()
callback. Compared to the traditional .remove() callback .remove_new() returns
no value. This is a good thing because the driver core doesn't (and cannot)
cope for errors during remove. The only effect of a non-zero return value in
.remove() is that the driver core emits a warning. The device is removed anyhow
and an early return from .remove() usually yields a resource leak.
By changing the remove callback to return void driver authors cannot
reasonably assume any more that there is some kind of cleanup later.
The first two patches simplify a driver each to return zero unconditionally,
and then all drivers are trivially converted to .remove_new().
There are nearly no interdependencies in this patch set---only 1 <- 11 and
2 <- 16. So even if some individual problems are found (I don't expect that),
the other patches can (and from my POV should) still be applied.
Best regards
Uwe
Uwe Kleine-König (173):
ALSA: sh: aica: Drop if blocks with always false condition
ASoC: amd: acp: rembrandt: Drop if blocks with always false condition
ALSA: pxa2xx: Convert to platform remove callback returning void
ALSA: atmel: ac97: Convert to platform remove callback returning void
ALSA: mts64: Convert to platform remove callback returning void
ALSA: portman2x4: Convert to platform remove callback returning void
ALSA: mips/hal2: Convert to platform remove callback returning void
ALSA: mips/sgio2audio: Convert to platform remove callback returning
void
ALSA: hda/tegra: Convert to platform remove callback returning void
ALSA: ppc/powermac: Convert to platform remove callback returning void
ALSA: sh: aica: Convert to platform remove callback returning void
ALSA: sh_dac_audio: Convert to platform remove callback returning void
ASoC: adi: axi-i2s: Convert to platform remove callback returning void
ASoC: adi: axi-spdif: Convert to platform remove callback returning
void
ASoC: amd: acp-pcm-dma: Convert to platform remove callback returning
void
ASoC: amd: acp: rembrandt: Convert to platform remove callback
returning void
ASoC: amd: acp: renoir: Convert to platform remove callback returning
void
ASoC: amd: ps: Convert to platform remove callback returning void
ASoC: amd: raven: acp3x-pcm-dma: Convert to platform remove callback
returning void
ASoC: amd: raven: acp3x-pdm-dma: Convert to platform remove callback
returning void
ASoC: amd: vangogh: acp5x-pcm-dma: Convert to platform remove callback
returning void
ASoC: amd: yc: acp6x-pdm-dma: Convert to platform remove callback
returning void
ASoC: apple: mca: Convert to platform remove callback returning void
ASoC: atmel: atmel-i2s: Convert to platform remove callback returning
void
ASoC: atmel: atmel_wm8904: Convert to platform remove callback
returning void
ASoC: atmel: mchp-i2s-mcc: Convert to platform remove callback
returning void
ASoC: atmel: mchp-pdmc: Convert to platform remove callback returning
void
ASoC: atmel: mchp-spdifrx: Convert to platform remove callback
returning void
ASoC: atmel: mchp-spdiftx: Convert to platform remove callback
returning void
ASoC: atmel: mikroe-proto: Convert to platform remove callback
returning void
ASoC: atmel: sam9g20_wm8731: Convert to platform remove callback
returning void
ASoC: atmel: sam9x5_wm8731: Convert to platform remove callback
returning void
ASoC: atmel: tse850-pcm5142: Convert to platform remove callback
returning void
ASoC: au1x: ac97c: Convert to platform remove callback returning void
ASoC: au1x: i2sc: Convert to platform remove callback returning void
ASoC: au1x: psc-ac97: Convert to platform remove callback returning
void
ASoC: au1x: psc-i2s: Convert to platform remove callback returning
void
ASoC: bcm: bcm63xx-i2s-whistler: Convert to platform remove callback
returning void
ASoC: bcm: cygnus-ssp: Convert to platform remove callback returning
void
ASoC: cirrus: edb93xx: Convert to platform remove callback returning
void
ASoC: cirrus: ep93xx-i2s: Convert to platform remove callback
returning void
ASoC: codecs: cs47l15: Convert to platform remove callback returning
void
ASoC: codecs: cs47l24: Convert to platform remove callback returning
void
ASoC: codecs: cs47l35: Convert to platform remove callback returning
void
ASoC: codecs: cs47l85: Convert to platform remove callback returning
void
ASoC: codecs: cs47l90: Convert to platform remove callback returning
void
ASoC: codecs: cs47l92: Convert to platform remove callback returning
void
ASoC: codecs: inno_rk3036: Convert to platform remove callback
returning void
ASoC: codecs: lpass-rx-macro: Convert to platform remove callback
returning void
ASoC: codecs: lpass-tx-macro: Convert to platform remove callback
returning void
ASoC: codecs: lpass-va-macro: Convert to platform remove callback
returning void
ASoC: codecs: lpass-wsa-macro: Convert to platform remove callback
returning void
ASoC: codecs: msm8916-wcd-analog: Convert to platform remove callback
returning void
ASoC: codecs: msm8916-wcd-digital: Convert to platform remove callback
returning void
ASoC: codecs: rk817_codec: Convert to platform remove callback
returning void
ASoC: codecs: wcd938x: Convert to platform remove callback returning
void
ASoC: codecs: wm5102: Convert to platform remove callback returning
void
ASoC: codecs: wm5110: Convert to platform remove callback returning
void
ASoC: codecs: wm8994: Convert to platform remove callback returning
void
ASoC: codecs: wm8997: Convert to platform remove callback returning
void
ASoC: codecs: wm8998: Convert to platform remove callback returning
void
ASoC: dwc: dwc-i2s: Convert to platform remove callback returning void
ASoC: fsl: eukrea-tlv320: Convert to platform remove callback
returning void
ASoC: fsl: fsl_asrc: Convert to platform remove callback returning
void
ASoC: fsl: fsl_aud2htx: Convert to platform remove callback returning
void
ASoC: fsl: fsl_audmix: Convert to platform remove callback returning
void
ASoC: fsl: fsl_dma: Convert to platform remove callback returning void
ASoC: fsl: fsl_easrc: Convert to platform remove callback returning
void
ASoC: fsl: fsl_esai: Convert to platform remove callback returning
void
ASoC: fsl: fsl_mqs: Convert to platform remove callback returning void
ASoC: fsl: fsl_rpmsg: Convert to platform remove callback returning
void
ASoC: fsl: fsl_sai: Convert to platform remove callback returning void
ASoC: fsl: fsl_spdif: Convert to platform remove callback returning
void
ASoC: fsl: fsl_ssi: Convert to platform remove callback returning void
ASoC: fsl: fsl_xcvr: Convert to platform remove callback returning
void
ASoC: fsl: imx-audmux: Convert to platform remove callback returning
void
ASoC: fsl: imx-pcm-rpmsg: Convert to platform remove callback
returning void
ASoC: fsl: imx-sgtl5000: Convert to platform remove callback returning
void
ASoC: fsl: mpc5200_psc_ac97: Convert to platform remove callback
returning void
ASoC: fsl: mpc5200_psc_i2s: Convert to platform remove callback
returning void
ASoC: fsl: mpc8610_hpcd: Convert to platform remove callback returning
void
ASoC: fsl: p1022_ds: Convert to platform remove callback returning
void
ASoC: fsl: p1022_rdk: Convert to platform remove callback returning
void
ASoC: fsl: pcm030-audio-fabric: Convert to platform remove callback
returning void
ASoC: generic: test-component: Convert to platform remove callback
returning void
ASoC: img: img-i2s-in: Convert to platform remove callback returning
void
ASoC: img: img-i2s-out: Convert to platform remove callback returning
void
ASoC: img: img-parallel-out: Convert to platform remove callback
returning void
ASoC: img: img-spdif-in: Convert to platform remove callback returning
void
ASoC: img: img-spdif-out: Convert to platform remove callback
returning void
ASoC: img: pistachio-internal-dac: Convert to platform remove callback
returning void
ASoC: Intel: sst-mfld-platform-pcm: Convert to platform remove
callback returning void
ASoC: Intel: sst: Convert to platform remove callback returning void
ASoC: Intel: bytcht_es8316: Convert to platform remove callback
returning void
ASoC: Intel: bytcr_rt5640: Convert to platform remove callback
returning void
ASoC: Intel: boards: bytcr_rt5651: Convert to platform remove callback
returning void
ASoC: Intel: bytcr_wm5102: Convert to platform remove callback
returning void
ASoC: Intel: cht_bsw_max98090_ti: Convert to platform remove callback
returning void
ASoC: Intel: sof_es8336: Convert to platform remove callback returning
void
ASoC: Intel: sof_pcm512x: Convert to platform remove callback
returning void
ASoC: Intel: sof_sdw: Convert to platform remove callback returning
void
ASoC: Intel: sof_wm8804: Convert to platform remove callback returning
void
ASoC: Intel: catpt: Convert to platform remove callback returning void
ASoC: Intel: skl-ssp-clk: Convert to platform remove callback
returning void
ASoC: kirkwood: kirkwood-i2s: Convert to platform remove callback
returning void
ASoC: mediatek: mtk-btcvsd: Convert to platform remove callback
returning void
ASoC: mediatek: mt2701-afe-pcm: Convert to platform remove callback
returning void
ASoC: mediatek: mt6797-afe-pcm: Convert to platform remove callback
returning void
ASoC: mediatek: mt8173-afe-pcm: Convert to platform remove callback
returning void
ASoC: mediatek: mt8183-afe-pcm: Convert to platform remove callback
returning void
ASoC: mediatek: mt8188-afe-pcm: Convert to platform remove callback
returning void
ASoC: mediatek: mt8192-afe-pcm: Convert to platform remove callback
returning void
ASoC: mediatek: mt8195-afe-pcm: Convert to platform remove callback
returning void
ASoC: meson: aiu: Convert to platform remove callback returning void
ASoC: mxs: mxs-sgtl5000: Convert to platform remove callback returning
void
ASoC: pxa: mmp-sspa: Convert to platform remove callback returning
void
ASoC: pxa: pxa2xx-ac97: Convert to platform remove callback returning
void
ASoC: qcom: qdsp6: Convert to platform remove callback returning void
ASoC: rockchip: rockchip_i2s: Convert to platform remove callback
returning void
ASoC: rockchip: rockchip_i2s_tdm: Convert to platform remove callback
returning void
ASoC: rockchip: rockchip_pdm: Convert to platform remove callback
returning void
ASoC: rockchip: rockchip_rt5645: Convert to platform remove callback
returning void
ASoC: rockchip: rockchip_spdif: Convert to platform remove callback
returning void
ASoC: samsung: arndale: Convert to platform remove callback returning
void
ASoC: samsung: i2s: Convert to platform remove callback returning void
ASoC: samsung: odroid: Convert to platform remove callback returning
void
ASoC: samsung: pcm: Convert to platform remove callback returning void
ASoC: samsung: snow: Convert to platform remove callback returning
void
ASoC: samsung: spdif: Convert to platform remove callback returning
void
ASoC: sh: fsi: Convert to platform remove callback returning void
ASoC: sh: hac: Convert to platform remove callback returning void
ASoC: sh: rcar: Convert to platform remove callback returning void
ASoC: sh: rz-ssi: Convert to platform remove callback returning void
ASoC: sh: siu_dai: Convert to platform remove callback returning void
ASoC: sprd: sprd-mcdt: Convert to platform remove callback returning
void
ASoC: stm: stm32_adfsdm: Convert to platform remove callback returning
void
ASoC: stm: stm32_i2s: Convert to platform remove callback returning
void
ASoC: stm: stm32_sai_sub: Convert to platform remove callback
returning void
ASoC: stm: stm32_spdifrx: Convert to platform remove callback
returning void
ASoC: sunxi: sun4i-codec: Convert to platform remove callback
returning void
ASoC: sunxi: sun4i-i2s: Convert to platform remove callback returning
void
ASoC: sunxi: sun4i-spdif: Convert to platform remove callback
returning void
ASoC: sunxi: sun50i-dmic: Convert to platform remove callback
returning void
ASoC: sunxi: sun8i-codec: Convert to platform remove callback
returning void
ASoC: tegra: tegra186_asrc: Convert to platform remove callback
returning void
ASoC: tegra: tegra186_dspk: Convert to platform remove callback
returning void
ASoC: tegra: tegra20_ac97: Convert to platform remove callback
returning void
ASoC: tegra: tegra20_i2s: Convert to platform remove callback
returning void
ASoC: tegra: tegra210_admaif: Convert to platform remove callback
returning void
ASoC: tegra: tegra210_adx: Convert to platform remove callback
returning void
ASoC: tegra: tegra210_ahub: Convert to platform remove callback
returning void
ASoC: tegra: tegra210_amx: Convert to platform remove callback
returning void
ASoC: tegra: tegra210_dmic: Convert to platform remove callback
returning void
ASoC: tegra: tegra210_i2s: Convert to platform remove callback
returning void
ASoC: tegra: tegra210_mixer: Convert to platform remove callback
returning void
ASoC: tegra: tegra210_mvc: Convert to platform remove callback
returning void
ASoC: tegra: tegra210_ope: Convert to platform remove callback
returning void
ASoC: tegra: tegra210_sfc: Convert to platform remove callback
returning void
ASoC: tegra: tegra30_ahub: Convert to platform remove callback
returning void
ASoC: tegra: tegra30_i2s: Convert to platform remove callback
returning void
ASoC: ti: ams-delta: Convert to platform remove callback returning
void
ASoC: ti: davinci-i2s: Convert to platform remove callback returning
void
ASoC: ti: davinci-mcasp: Convert to platform remove callback returning
void
ASoC: ti: omap-hdmi: Convert to platform remove callback returning
void
ASoC: ti: omap-mcbsp: Convert to platform remove callback returning
void
ASoC: uniphier: evea: Convert to platform remove callback returning
void
ASoC: ux500: mop500: Convert to platform remove callback returning
void
ASoC: ux500: ux500_msp_dai: Convert to platform remove callback
returning void
ASoC: xilinx: xlnx_formatter_pcm: Convert to platform remove callback
returning void
ASoC: xilinx: xlnx_spdif: Convert to platform remove callback
returning void
ASoC: xtensa: xtfpga-i2s: Convert to platform remove callback
returning void
ALSA: sparc/cs4231: Convert to platform remove callback returning void
ALSA: sparc/dbri: Convert to platform remove callback returning void
sound/arm/pxa2xx-ac97.c | 6 ++----
sound/atmel/ac97c.c | 6 ++----
sound/drivers/mts64.c | 6 ++----
sound/drivers/portman2x4.c | 6 ++----
sound/mips/hal2.c | 5 ++---
sound/mips/sgio2audio.c | 5 ++---
sound/pci/hda/hda_tegra.c | 6 ++----
sound/ppc/powermac.c | 5 ++---
sound/sh/aica.c | 7 ++-----
sound/sh/sh_dac_audio.c | 5 ++---
sound/soc/adi/axi-i2s.c | 6 ++----
sound/soc/adi/axi-spdif.c | 6 ++----
sound/soc/amd/acp-pcm-dma.c | 6 ++----
sound/soc/amd/acp/acp-rembrandt.c | 13 +++----------
sound/soc/amd/acp/acp-renoir.c | 5 ++---
sound/soc/amd/ps/ps-pdm-dma.c | 5 ++---
sound/soc/amd/raven/acp3x-pcm-dma.c | 5 ++---
sound/soc/amd/renoir/acp3x-pdm-dma.c | 5 ++---
sound/soc/amd/vangogh/acp5x-pcm-dma.c | 5 ++---
sound/soc/amd/yc/acp6x-pdm-dma.c | 5 ++---
sound/soc/apple/mca.c | 5 ++---
sound/soc/atmel/atmel-i2s.c | 6 ++----
sound/soc/atmel/atmel_wm8904.c | 6 ++----
sound/soc/atmel/mchp-i2s-mcc.c | 6 ++----
sound/soc/atmel/mchp-pdmc.c | 6 ++----
sound/soc/atmel/mchp-spdifrx.c | 6 ++----
sound/soc/atmel/mchp-spdiftx.c | 6 ++----
sound/soc/atmel/mikroe-proto.c | 6 ++----
sound/soc/atmel/sam9g20_wm8731.c | 6 ++----
sound/soc/atmel/sam9x5_wm8731.c | 6 ++----
sound/soc/atmel/tse850-pcm5142.c | 6 ++----
sound/soc/au1x/ac97c.c | 6 ++----
sound/soc/au1x/i2sc.c | 6 ++----
sound/soc/au1x/psc-ac97.c | 6 ++----
sound/soc/au1x/psc-i2s.c | 6 ++----
sound/soc/bcm/bcm63xx-i2s-whistler.c | 5 ++---
sound/soc/bcm/cygnus-ssp.c | 6 ++----
sound/soc/cirrus/edb93xx.c | 6 ++----
sound/soc/cirrus/ep93xx-i2s.c | 5 ++---
sound/soc/codecs/cs47l15.c | 6 ++----
sound/soc/codecs/cs47l24.c | 6 ++----
sound/soc/codecs/cs47l35.c | 6 ++----
sound/soc/codecs/cs47l85.c | 6 ++----
sound/soc/codecs/cs47l90.c | 6 ++----
sound/soc/codecs/cs47l92.c | 6 ++----
sound/soc/codecs/inno_rk3036.c | 6 ++----
sound/soc/codecs/lpass-rx-macro.c | 6 ++----
sound/soc/codecs/lpass-tx-macro.c | 6 ++----
sound/soc/codecs/lpass-va-macro.c | 6 ++----
sound/soc/codecs/lpass-wsa-macro.c | 6 ++----
sound/soc/codecs/msm8916-wcd-analog.c | 6 ++----
sound/soc/codecs/msm8916-wcd-digital.c | 6 ++----
sound/soc/codecs/rk817_codec.c | 6 ++----
sound/soc/codecs/wcd938x.c | 6 ++----
sound/soc/codecs/wm5102.c | 6 ++----
sound/soc/codecs/wm5110.c | 6 ++----
sound/soc/codecs/wm8994.c | 6 ++----
sound/soc/codecs/wm8997.c | 6 ++----
sound/soc/codecs/wm8998.c | 6 ++----
sound/soc/dwc/dwc-i2s.c | 5 ++---
sound/soc/fsl/eukrea-tlv320.c | 6 ++----
sound/soc/fsl/fsl_asrc.c | 6 ++----
sound/soc/fsl/fsl_aud2htx.c | 6 ++----
sound/soc/fsl/fsl_audmix.c | 6 ++----
sound/soc/fsl/fsl_dma.c | 6 ++----
sound/soc/fsl/fsl_easrc.c | 6 ++----
sound/soc/fsl/fsl_esai.c | 6 ++----
sound/soc/fsl/fsl_mqs.c | 5 ++---
sound/soc/fsl/fsl_rpmsg.c | 6 ++----
sound/soc/fsl/fsl_sai.c | 6 ++----
sound/soc/fsl/fsl_spdif.c | 6 ++----
sound/soc/fsl/fsl_ssi.c | 6 ++----
sound/soc/fsl/fsl_xcvr.c | 5 ++---
sound/soc/fsl/imx-audmux.c | 6 ++----
sound/soc/fsl/imx-pcm-rpmsg.c | 6 ++----
sound/soc/fsl/imx-sgtl5000.c | 6 ++----
sound/soc/fsl/mpc5200_psc_ac97.c | 5 ++---
sound/soc/fsl/mpc5200_psc_i2s.c | 5 ++---
sound/soc/fsl/mpc8610_hpcd.c | 6 ++----
sound/soc/fsl/p1022_ds.c | 6 ++----
sound/soc/fsl/p1022_rdk.c | 6 ++----
sound/soc/fsl/pcm030-audio-fabric.c | 6 ++----
sound/soc/generic/test-component.c | 6 ++----
sound/soc/img/img-i2s-in.c | 6 ++----
sound/soc/img/img-i2s-out.c | 6 ++----
sound/soc/img/img-parallel-out.c | 6 ++----
sound/soc/img/img-spdif-in.c | 6 ++----
sound/soc/img/img-spdif-out.c | 6 ++----
sound/soc/img/pistachio-internal-dac.c | 6 ++----
sound/soc/intel/atom/sst-mfld-platform-pcm.c | 5 ++---
sound/soc/intel/atom/sst/sst_acpi.c | 5 ++---
sound/soc/intel/boards/bytcht_es8316.c | 5 ++---
sound/soc/intel/boards/bytcr_rt5640.c | 5 ++---
sound/soc/intel/boards/bytcr_rt5651.c | 5 ++---
sound/soc/intel/boards/bytcr_wm5102.c | 5 ++---
sound/soc/intel/boards/cht_bsw_max98090_ti.c | 6 ++----
sound/soc/intel/boards/sof_es8336.c | 6 ++----
sound/soc/intel/boards/sof_pcm512x.c | 6 ++----
sound/soc/intel/boards/sof_sdw.c | 6 ++----
sound/soc/intel/boards/sof_wm8804.c | 5 ++---
sound/soc/intel/catpt/device.c | 6 ++----
sound/soc/intel/skylake/skl-ssp-clk.c | 6 ++----
sound/soc/kirkwood/kirkwood-i2s.c | 6 ++----
sound/soc/mediatek/common/mtk-btcvsd.c | 5 ++---
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c | 6 ++----
sound/soc/mediatek/mt6797/mt6797-afe-pcm.c | 6 ++----
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 5 ++---
sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 6 ++----
sound/soc/mediatek/mt8188/mt8188-afe-pcm.c | 6 ++----
sound/soc/mediatek/mt8192/mt8192-afe-pcm.c | 5 ++---
sound/soc/mediatek/mt8195/mt8195-afe-pcm.c | 5 ++---
sound/soc/meson/aiu.c | 6 ++----
sound/soc/mxs/mxs-sgtl5000.c | 6 ++----
sound/soc/pxa/mmp-sspa.c | 7 +++----
sound/soc/pxa/pxa2xx-ac97.c | 5 ++---
sound/soc/qcom/qdsp6/q6routing.c | 6 ++----
sound/soc/rockchip/rockchip_i2s.c | 6 ++----
sound/soc/rockchip/rockchip_i2s_tdm.c | 6 ++----
sound/soc/rockchip/rockchip_pdm.c | 6 ++----
sound/soc/rockchip/rockchip_rt5645.c | 6 ++----
sound/soc/rockchip/rockchip_spdif.c | 6 ++----
sound/soc/samsung/arndale.c | 5 ++---
sound/soc/samsung/i2s.c | 8 +++-----
sound/soc/samsung/odroid.c | 6 ++----
sound/soc/samsung/pcm.c | 6 ++----
sound/soc/samsung/snow.c | 6 ++----
sound/soc/samsung/spdif.c | 6 ++----
sound/soc/sh/fsi.c | 6 ++----
sound/soc/sh/hac.c | 5 ++---
sound/soc/sh/rcar/core.c | 6 ++----
sound/soc/sh/rz-ssi.c | 6 ++----
sound/soc/sh/siu_dai.c | 5 ++---
sound/soc/sprd/sprd-mcdt.c | 6 ++----
sound/soc/stm/stm32_adfsdm.c | 6 ++----
sound/soc/stm/stm32_i2s.c | 6 ++----
sound/soc/stm/stm32_sai_sub.c | 6 ++----
sound/soc/stm/stm32_spdifrx.c | 6 ++----
sound/soc/sunxi/sun4i-codec.c | 6 ++----
sound/soc/sunxi/sun4i-i2s.c | 6 ++----
sound/soc/sunxi/sun4i-spdif.c | 6 ++----
sound/soc/sunxi/sun50i-dmic.c | 6 ++----
sound/soc/sunxi/sun8i-codec.c | 6 ++----
sound/soc/tegra/tegra186_asrc.c | 6 ++----
sound/soc/tegra/tegra186_dspk.c | 6 ++----
sound/soc/tegra/tegra20_ac97.c | 6 ++----
sound/soc/tegra/tegra20_i2s.c | 6 ++----
sound/soc/tegra/tegra210_admaif.c | 6 ++----
sound/soc/tegra/tegra210_adx.c | 6 ++----
sound/soc/tegra/tegra210_ahub.c | 6 ++----
sound/soc/tegra/tegra210_amx.c | 6 ++----
sound/soc/tegra/tegra210_dmic.c | 6 ++----
sound/soc/tegra/tegra210_i2s.c | 6 ++----
sound/soc/tegra/tegra210_mixer.c | 6 ++----
sound/soc/tegra/tegra210_mvc.c | 6 ++----
sound/soc/tegra/tegra210_ope.c | 6 ++----
sound/soc/tegra/tegra210_sfc.c | 6 ++----
sound/soc/tegra/tegra30_ahub.c | 6 ++----
sound/soc/tegra/tegra30_i2s.c | 6 ++----
sound/soc/ti/ams-delta.c | 5 ++---
sound/soc/ti/davinci-i2s.c | 6 ++----
sound/soc/ti/davinci-mcasp.c | 6 ++----
sound/soc/ti/omap-hdmi.c | 5 ++---
sound/soc/ti/omap-mcbsp.c | 6 ++----
sound/soc/uniphier/evea.c | 6 ++----
sound/soc/ux500/mop500.c | 6 ++----
sound/soc/ux500/ux500_msp_dai.c | 6 ++----
sound/soc/xilinx/xlnx_formatter_pcm.c | 5 ++---
sound/soc/xilinx/xlnx_spdif.c | 5 ++---
sound/soc/xtensa/xtfpga-i2s.c | 5 ++---
sound/sparc/cs4231.c | 6 ++----
sound/sparc/dbri.c | 6 ++----
171 files changed, 345 insertions(+), 654 deletions(-)
base-commit: fe15c26ee26efa11741a7b632e9f23b01aca4cc6
--
2.39.2
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 114/173] ASoC: meson: aiu: Convert to platform remove callback returning void
2023-03-15 15:04 [PATCH 000/173] ALSA/ASoC: Convert to platform remove callback returning void Uwe Kleine-König
@ 2023-03-15 15:06 ` Uwe Kleine-König
2023-03-18 19:49 ` Martin Blumenstingl
2023-03-16 9:32 ` [PATCH 000/173] ALSA/ASoC: " Takashi Iwai
1 sibling, 1 reply; 4+ messages in thread
From: Uwe Kleine-König @ 2023-03-15 15:06 UTC (permalink / raw)
To: Jerome Brunet, Liam Girdwood, Mark Brown, Jaroslav Kysela,
Takashi Iwai, Neil Armstrong, Kevin Hilman
Cc: Martin Blumenstingl, alsa-devel, linux-arm-kernel, linux-amlogic,
kernel
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.
Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
sound/soc/meson/aiu.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/sound/soc/meson/aiu.c b/sound/soc/meson/aiu.c
index 88e611e64d14..da351a60df0c 100644
--- a/sound/soc/meson/aiu.c
+++ b/sound/soc/meson/aiu.c
@@ -331,11 +331,9 @@ static int aiu_probe(struct platform_device *pdev)
return ret;
}
-static int aiu_remove(struct platform_device *pdev)
+static void aiu_remove(struct platform_device *pdev)
{
snd_soc_unregister_component(&pdev->dev);
-
- return 0;
}
static const struct aiu_platform_data aiu_gxbb_pdata = {
@@ -364,7 +362,7 @@ MODULE_DEVICE_TABLE(of, aiu_of_match);
static struct platform_driver aiu_pdrv = {
.probe = aiu_probe,
- .remove = aiu_remove,
+ .remove_new = aiu_remove,
.driver = {
.name = "meson-aiu",
.of_match_table = aiu_of_match,
--
2.39.2
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 000/173] ALSA/ASoC: Convert to platform remove callback returning void
2023-03-15 15:04 [PATCH 000/173] ALSA/ASoC: Convert to platform remove callback returning void Uwe Kleine-König
2023-03-15 15:06 ` [PATCH 114/173] ASoC: meson: aiu: " Uwe Kleine-König
@ 2023-03-16 9:32 ` Takashi Iwai
1 sibling, 0 replies; 4+ messages in thread
From: Takashi Iwai @ 2023-03-16 9:32 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Jaroslav Kysela, Takashi Iwai, Liam Girdwood, Mark Brown,
V sujith kumar Reddy, Daniel Mack, Haojian Zhuang, Robert Jarzmik,
Nicolas Ferre, Alexandre Belloni, Claudiu Beznea, Gaosheng Cui,
Thierry Reding, Jonathan Hunter, Mohan Kumar, Geoff Levand,
Takashi Sakamoto, Michael Ellerman, Charles Keepax,
Vijendar Mukunda, syed saba kareem, Mario Limonciello, Meng Tang,
Martin Povišer, Codrin Ciubotariu, Peter Rosin, Ray Jui,
Scott Branden, Allison Randal, Greg Kroah-Hartman,
Thomas Gleixner, Alexander Sverdlin, Kuninori Morimoto,
Richard Fitzgerald, James Schulman, David Rhodes, Lucas Tanure,
Srinivas Kandagatla, Banajit Goswami, Miaoqian Lin,
Colin Ian King, Aidan MacDonald, Zhang Qilong, Marek Szyprowski,
Liang He, Shengjiu Wang, Xiubo Li, Shawn Guo, Sascha Hauer,
Yang Yingliang, Minghao Chi, Kai Vehmanen, Bard Liao,
Pierre-Louis Bossart, Cezary Rojewski, Liam Girdwood,
Peter Ujfalusi, Ranjani Sridharan, Akihiko Odaki,
Amadeusz Sławiński, Andy Shevchenko, Hans de Goede,
Moises Cardona, Zhen Ni, Mauro Carvalho Chehab, Andrey Turkin,
Muralidhar Reddy, Zhu Ning, Gongjun Song, Shuming Fan, Yong Zhi,
Lior Amsalem, Andrew Lunn, Hezi Shahmoon, Neta Zur Hershkovits,
Marcin Wojtas, Matthias Brugger, Jiasheng Jiang, Ricardo Ribalda,
Trevor Wu, Dan Carpenter, Jerome Brunet, Neil Armstrong,
Kevin Hilman, Heiko Stuebner, Nicolas Frattaroli,
Krzysztof Kozlowski, Sylwester Nawrocki, Linh Phung,
Shang XiaoJing, Lad Prabhakar, Biju Das, Orson Zhai, Baolin Wang,
Chunyan Zhang, Olivier Moysan, Arnaud Pouliquen, Maxime Coquelin,
Alexandre Torgue, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland,
Mikhail Rudenko, Li Chen, Ban Tao, Sameer Pujar, YueHaibing,
Jiapeng Chong, Li kunyu, Peter Ujfalusi, Jarkko Nikula,
Kunihiko Hayashi, Masami Hiramatsu, Christophe JAILLET,
Arnd Bergmann, Linus Walleij, Michal Simek, Max Filippov,
alsa-devel, kernel, linux-arm-kernel, linux-tegra,
Nicholas Piggin, Christophe Leroy, linuxppc-dev, asahi,
Broadcom internal kernel review list, patches, Fabio Estevam,
Nicolin Chen, NXP Linux Team, AngeloGioacchino Del Regno,
linux-mediatek, Martin Blumenstingl, linux-amlogic,
linux-rockchip, linux-stm32, linux-sunxi, linux-omap,
linux-xtensa
On Wed, 15 Mar 2023 16:04:52 +0100,
Uwe Kleine-König wrote:
>
> Hello,
>
> this series adapts the platform drivers below sound/ to use the .remove_new()
> callback. Compared to the traditional .remove() callback .remove_new() returns
> no value. This is a good thing because the driver core doesn't (and cannot)
> cope for errors during remove. The only effect of a non-zero return value in
> .remove() is that the driver core emits a warning. The device is removed anyhow
> and an early return from .remove() usually yields a resource leak.
>
> By changing the remove callback to return void driver authors cannot
> reasonably assume any more that there is some kind of cleanup later.
>
> The first two patches simplify a driver each to return zero unconditionally,
> and then all drivers are trivially converted to .remove_new().
>
> There are nearly no interdependencies in this patch set---only 1 <- 11 and
> 2 <- 16. So even if some individual problems are found (I don't expect that),
> the other patches can (and from my POV should) still be applied.
>
> Best regards
> Uwe
>
> Uwe Kleine-König (173):
(snip)
For the whole series,
Acked-by: Takashi Iwai <tiwai@suse.de>
thanks,
Takashi
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 114/173] ASoC: meson: aiu: Convert to platform remove callback returning void
2023-03-15 15:06 ` [PATCH 114/173] ASoC: meson: aiu: " Uwe Kleine-König
@ 2023-03-18 19:49 ` Martin Blumenstingl
0 siblings, 0 replies; 4+ messages in thread
From: Martin Blumenstingl @ 2023-03-18 19:49 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Jerome Brunet, Liam Girdwood, Mark Brown, Jaroslav Kysela,
Takashi Iwai, Neil Armstrong, Kevin Hilman, alsa-devel,
linux-arm-kernel, linux-amlogic, kernel
On Wed, Mar 15, 2023 at 4:08 PM Uwe Kleine-König
<u.kleine-koenig@pengutronix.de> wrote:
>
> The .remove() callback for a platform driver returns an int which makes
> many driver authors wrongly assume it's possible to do error handling by
> returning an error code. However the value returned is (mostly) ignored
> and this typically results in resource leaks. To improve here there is a
> quest to make the remove callback return void. In the first step of this
> quest all drivers are converted to .remove_new() which already returns
> void.
>
> Trivially convert this driver from always returning zero in the remove
> callback to the void returning variant.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-03-19 16:04 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-15 15:04 [PATCH 000/173] ALSA/ASoC: Convert to platform remove callback returning void Uwe Kleine-König
2023-03-15 15:06 ` [PATCH 114/173] ASoC: meson: aiu: " Uwe Kleine-König
2023-03-18 19:49 ` Martin Blumenstingl
2023-03-16 9:32 ` [PATCH 000/173] ALSA/ASoC: " Takashi Iwai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox