ALSA: seq: oss: 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 <u.kleine-koenig@baylibre.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/affb5a7107e9d678ce85dc7f0b87445928cd6b94.1765283601.git.u.kleine-koenig@baylibre.com
This commit is contained in:
Uwe Kleine-König 2025-12-09 13:38:50 +01:00 committed by Takashi Iwai
commit 4b8da6d089
3 changed files with 8 additions and 12 deletions

View file

@ -54,10 +54,10 @@ static __poll_t odev_poll(struct file *file, poll_table * wait);
*/
static struct snd_seq_driver seq_oss_synth_driver = {
.probe = snd_seq_oss_synth_probe,
.remove = snd_seq_oss_synth_remove,
.driver = {
.name = KBUILD_MODNAME,
.probe = snd_seq_oss_synth_probe,
.remove = snd_seq_oss_synth_remove,
},
.id = SNDRV_SEQ_DEV_ID_OSS,
.argsize = sizeof(struct snd_seq_oss_reg),

View file

@ -80,9 +80,8 @@ snd_seq_oss_synth_init(void)
* registration of the synth device
*/
int
snd_seq_oss_synth_probe(struct device *_dev)
snd_seq_oss_synth_probe(struct snd_seq_device *dev)
{
struct snd_seq_device *dev = to_seq_dev(_dev);
int i;
struct seq_oss_synth *rec;
struct snd_seq_oss_reg *reg = SNDRV_SEQ_DEVICE_ARGPTR(dev);
@ -128,10 +127,9 @@ snd_seq_oss_synth_probe(struct device *_dev)
}
int
snd_seq_oss_synth_remove(struct device *_dev)
void
snd_seq_oss_synth_remove(struct snd_seq_device *dev)
{
struct snd_seq_device *dev = to_seq_dev(_dev);
int index;
struct seq_oss_synth *rec = dev->driver_data;
@ -142,7 +140,7 @@ snd_seq_oss_synth_remove(struct device *_dev)
}
if (index >= max_synth_devs) {
pr_err("ALSA: seq_oss: can't unregister synth\n");
return -EINVAL;
return;
}
synth_devs[index] = NULL;
if (index == max_synth_devs - 1) {
@ -160,8 +158,6 @@ snd_seq_oss_synth_remove(struct device *_dev)
snd_use_lock_sync(&rec->use_lock);
kfree(rec);
return 0;
}

View file

@ -15,8 +15,8 @@
#include <sound/seq_device.h>
void snd_seq_oss_synth_init(void);
int snd_seq_oss_synth_probe(struct device *dev);
int snd_seq_oss_synth_remove(struct device *dev);
int snd_seq_oss_synth_probe(struct snd_seq_device *dev);
void snd_seq_oss_synth_remove(struct snd_seq_device *dev);
void snd_seq_oss_synth_setup(struct seq_oss_devinfo *dp);
void snd_seq_oss_synth_setup_midi(struct seq_oss_devinfo *dp);
void snd_seq_oss_synth_cleanup(struct seq_oss_devinfo *dp);