From: Uwe Kleine-König Date: Tue, 9 Dec 2025 12:38:46 +0000 (+0100) Subject: ALSA: opl3: Convert to snd_seq bus probe mechanism X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=376cdcd3ff18c08540178bc95e1dba49228cd2bd;p=thirdparty%2Fkernel%2Flinux.git ALSA: opl3: Convert to snd_seq bus probe mechanism The snd_seq bus got a dedicated probe function. Make use of that. This fixes a runtime warning about the driver needing to be converted to the bus probe method. Note that the remove callback returns void now. The actual return value was ignored before (see device_remove() in drivers/base/dd.c), so there is no problem introduced by converting `return -EINVAL` to `return`. Signed-off-by: Uwe Kleine-König Signed-off-by: Takashi Iwai Link: https://patch.msgid.link/fb5e44d995cf93b8feae22c4558598859712bc07.1765283601.git.u.kleine-koenig@baylibre.com --- diff --git a/sound/drivers/opl3/opl3_seq.c b/sound/drivers/opl3/opl3_seq.c index d3278428d3604..b77d8e8f12fb9 100644 --- a/sound/drivers/opl3/opl3_seq.c +++ b/sound/drivers/opl3/opl3_seq.c @@ -201,9 +201,8 @@ static int snd_opl3_synth_create_port(struct snd_opl3 * opl3) /* ------------------------------ */ -static int snd_opl3_seq_probe(struct device *_dev) +static int snd_opl3_seq_probe(struct snd_seq_device *dev) { - struct snd_seq_device *dev = to_seq_dev(_dev); struct snd_opl3 *opl3; int client, err; char name[32]; @@ -244,14 +243,13 @@ static int snd_opl3_seq_probe(struct device *_dev) return 0; } -static int snd_opl3_seq_remove(struct device *_dev) +static void snd_opl3_seq_remove(struct snd_seq_device *dev) { - struct snd_seq_device *dev = to_seq_dev(_dev); struct snd_opl3 *opl3; opl3 = *(struct snd_opl3 **)SNDRV_SEQ_DEVICE_ARGPTR(dev); if (opl3 == NULL) - return -EINVAL; + return; #if IS_ENABLED(CONFIG_SND_SEQUENCER_OSS) snd_opl3_free_seq_oss(opl3); @@ -260,14 +258,13 @@ static int snd_opl3_seq_remove(struct device *_dev) snd_seq_delete_kernel_client(opl3->seq_client); opl3->seq_client = -1; } - return 0; } static struct snd_seq_driver opl3_seq_driver = { + .probe = snd_opl3_seq_probe, + .remove = snd_opl3_seq_remove, .driver = { .name = KBUILD_MODNAME, - .probe = snd_opl3_seq_probe, - .remove = snd_opl3_seq_remove, }, .id = SNDRV_SEQ_DEV_ID_OPL3, .argsize = sizeof(struct snd_opl3 *),