diff options
Diffstat (limited to 'sound/drivers/opl3/opl3_seq.c')
-rw-r--r-- | sound/drivers/opl3/opl3_seq.c | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/sound/drivers/opl3/opl3_seq.c b/sound/drivers/opl3/opl3_seq.c index a9f618e06a22..fdae5d7f421f 100644 --- a/sound/drivers/opl3/opl3_seq.c +++ b/sound/drivers/opl3/opl3_seq.c | |||
@@ -216,8 +216,9 @@ static int snd_opl3_synth_create_port(struct snd_opl3 * opl3) | |||
216 | 216 | ||
217 | /* ------------------------------ */ | 217 | /* ------------------------------ */ |
218 | 218 | ||
219 | static int snd_opl3_seq_new_device(struct snd_seq_device *dev) | 219 | static int snd_opl3_seq_probe(struct device *_dev) |
220 | { | 220 | { |
221 | struct snd_seq_device *dev = to_seq_dev(_dev); | ||
221 | struct snd_opl3 *opl3; | 222 | struct snd_opl3 *opl3; |
222 | int client, err; | 223 | int client, err; |
223 | char name[32]; | 224 | char name[32]; |
@@ -257,8 +258,9 @@ static int snd_opl3_seq_new_device(struct snd_seq_device *dev) | |||
257 | return 0; | 258 | return 0; |
258 | } | 259 | } |
259 | 260 | ||
260 | static int snd_opl3_seq_delete_device(struct snd_seq_device *dev) | 261 | static int snd_opl3_seq_remove(struct device *_dev) |
261 | { | 262 | { |
263 | struct snd_seq_device *dev = to_seq_dev(_dev); | ||
262 | struct snd_opl3 *opl3; | 264 | struct snd_opl3 *opl3; |
263 | 265 | ||
264 | opl3 = *(struct snd_opl3 **)SNDRV_SEQ_DEVICE_ARGPTR(dev); | 266 | opl3 = *(struct snd_opl3 **)SNDRV_SEQ_DEVICE_ARGPTR(dev); |
@@ -275,22 +277,14 @@ static int snd_opl3_seq_delete_device(struct snd_seq_device *dev) | |||
275 | return 0; | 277 | return 0; |
276 | } | 278 | } |
277 | 279 | ||
278 | static int __init alsa_opl3_seq_init(void) | 280 | static struct snd_seq_driver opl3_seq_driver = { |
279 | { | 281 | .driver = { |
280 | static struct snd_seq_dev_ops ops = | 282 | .name = KBUILD_MODNAME, |
281 | { | 283 | .probe = snd_opl3_seq_probe, |
282 | snd_opl3_seq_new_device, | 284 | .remove = snd_opl3_seq_remove, |
283 | snd_opl3_seq_delete_device | 285 | }, |
284 | }; | 286 | .id = SNDRV_SEQ_DEV_ID_OPL3, |
285 | 287 | .argsize = sizeof(struct snd_opl3 *), | |
286 | return snd_seq_device_register_driver(SNDRV_SEQ_DEV_ID_OPL3, &ops, | 288 | }; |
287 | sizeof(struct snd_opl3 *)); | ||
288 | } | ||
289 | |||
290 | static void __exit alsa_opl3_seq_exit(void) | ||
291 | { | ||
292 | snd_seq_device_unregister_driver(SNDRV_SEQ_DEV_ID_OPL3); | ||
293 | } | ||
294 | 289 | ||
295 | module_init(alsa_opl3_seq_init) | 290 | module_snd_seq_driver(opl3_seq_driver); |
296 | module_exit(alsa_opl3_seq_exit) | ||