diff options
-rw-r--r-- | include/sound/opl3.h | 9 | ||||
-rw-r--r-- | sound/drivers/opl3/opl3_synth.c | 8 |
2 files changed, 15 insertions, 2 deletions
diff --git a/include/sound/opl3.h b/include/sound/opl3.h index a0c5febdc4ea..6ba670707831 100644 --- a/include/sound/opl3.h +++ b/include/sound/opl3.h | |||
@@ -370,12 +370,13 @@ int snd_opl3_hwdep_new(struct snd_opl3 * opl3, int device, int seq_device, | |||
370 | int snd_opl3_open(struct snd_hwdep * hw, struct file *file); | 370 | int snd_opl3_open(struct snd_hwdep * hw, struct file *file); |
371 | int snd_opl3_ioctl(struct snd_hwdep * hw, struct file *file, | 371 | int snd_opl3_ioctl(struct snd_hwdep * hw, struct file *file, |
372 | unsigned int cmd, unsigned long arg); | 372 | unsigned int cmd, unsigned long arg); |
373 | long snd_opl3_write(struct snd_hwdep *hw, const char __user *buf, long count, | ||
374 | loff_t *offset); | ||
375 | int snd_opl3_release(struct snd_hwdep * hw, struct file *file); | 373 | int snd_opl3_release(struct snd_hwdep * hw, struct file *file); |
376 | 374 | ||
377 | void snd_opl3_reset(struct snd_opl3 * opl3); | 375 | void snd_opl3_reset(struct snd_opl3 * opl3); |
378 | 376 | ||
377 | #if defined(CONFIG_SND_SEQUENCER) || defined(CONFIG_SND_SEQUENCER_MODULE) | ||
378 | long snd_opl3_write(struct snd_hwdep *hw, const char __user *buf, long count, | ||
379 | loff_t *offset); | ||
379 | int snd_opl3_load_patch(struct snd_opl3 *opl3, | 380 | int snd_opl3_load_patch(struct snd_opl3 *opl3, |
380 | int prog, int bank, int type, | 381 | int prog, int bank, int type, |
381 | const char *name, | 382 | const char *name, |
@@ -384,5 +385,9 @@ int snd_opl3_load_patch(struct snd_opl3 *opl3, | |||
384 | struct fm_patch *snd_opl3_find_patch(struct snd_opl3 *opl3, int prog, int bank, | 385 | struct fm_patch *snd_opl3_find_patch(struct snd_opl3 *opl3, int prog, int bank, |
385 | int create_patch); | 386 | int create_patch); |
386 | void snd_opl3_clear_patches(struct snd_opl3 *opl3); | 387 | void snd_opl3_clear_patches(struct snd_opl3 *opl3); |
388 | #else | ||
389 | #define snd_opl3_write NULL | ||
390 | static inline void snd_opl3_clear_patches(struct snd_opl3 *opl3) {} | ||
391 | #endif | ||
387 | 392 | ||
388 | #endif /* __SOUND_OPL3_H */ | 393 | #endif /* __SOUND_OPL3_H */ |
diff --git a/sound/drivers/opl3/opl3_synth.c b/sound/drivers/opl3/opl3_synth.c index a7bf7a4b1f85..fb64c890109b 100644 --- a/sound/drivers/opl3/opl3_synth.c +++ b/sound/drivers/opl3/opl3_synth.c | |||
@@ -22,6 +22,10 @@ | |||
22 | #include <sound/opl3.h> | 22 | #include <sound/opl3.h> |
23 | #include <sound/asound_fm.h> | 23 | #include <sound/asound_fm.h> |
24 | 24 | ||
25 | #if defined(CONFIG_SND_SEQUENCER) || defined(CONFIG_SND_SEQUENCER_MODULE) | ||
26 | #define OPL3_SUPPORT_SYNTH | ||
27 | #endif | ||
28 | |||
25 | /* | 29 | /* |
26 | * There is 18 possible 2 OP voices | 30 | * There is 18 possible 2 OP voices |
27 | * (9 in the left and 9 in the right). | 31 | * (9 in the left and 9 in the right). |
@@ -155,9 +159,11 @@ int snd_opl3_ioctl(struct snd_hwdep * hw, struct file *file, | |||
155 | #endif | 159 | #endif |
156 | return snd_opl3_set_connection(opl3, (int) arg); | 160 | return snd_opl3_set_connection(opl3, (int) arg); |
157 | 161 | ||
162 | #ifdef OPL3_SUPPORT_SYNTH | ||
158 | case SNDRV_DM_FM_IOCTL_CLEAR_PATCHES: | 163 | case SNDRV_DM_FM_IOCTL_CLEAR_PATCHES: |
159 | snd_opl3_clear_patches(opl3); | 164 | snd_opl3_clear_patches(opl3); |
160 | return 0; | 165 | return 0; |
166 | #endif | ||
161 | 167 | ||
162 | #ifdef CONFIG_SND_DEBUG | 168 | #ifdef CONFIG_SND_DEBUG |
163 | default: | 169 | default: |
@@ -178,6 +184,7 @@ int snd_opl3_release(struct snd_hwdep * hw, struct file *file) | |||
178 | return 0; | 184 | return 0; |
179 | } | 185 | } |
180 | 186 | ||
187 | #ifdef OPL3_SUPPORT_SYNTH | ||
181 | /* | 188 | /* |
182 | * write the device - load patches | 189 | * write the device - load patches |
183 | */ | 190 | */ |
@@ -341,6 +348,7 @@ void snd_opl3_clear_patches(struct snd_opl3 *opl3) | |||
341 | } | 348 | } |
342 | memset(opl3->patch_table, 0, sizeof(opl3->patch_table)); | 349 | memset(opl3->patch_table, 0, sizeof(opl3->patch_table)); |
343 | } | 350 | } |
351 | #endif /* OPL3_SUPPORT_SYNTH */ | ||
344 | 352 | ||
345 | /* ------------------------------ */ | 353 | /* ------------------------------ */ |
346 | 354 | ||