aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2008-02-22 12:34:06 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-22 17:20:08 -0500
commit0ee46c9dadcbbd0daa12da30f226391896d90abb (patch)
tree3483dd812fa0c724a1812bf6048dc6761a7fcfe6
parent2c020a99e058cdfc3a073cbfbfcc6ff55d3bfc43 (diff)
[ALSA] opl3 - Fix compilation without sequencer support
Add proper ifdef's to the patch loading code moved from the old instr layer so that opl3 driver can be compiled without the sequencer support. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--include/sound/opl3.h9
-rw-r--r--sound/drivers/opl3/opl3_synth.c8
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,
370int snd_opl3_open(struct snd_hwdep * hw, struct file *file); 370int snd_opl3_open(struct snd_hwdep * hw, struct file *file);
371int snd_opl3_ioctl(struct snd_hwdep * hw, struct file *file, 371int snd_opl3_ioctl(struct snd_hwdep * hw, struct file *file,
372 unsigned int cmd, unsigned long arg); 372 unsigned int cmd, unsigned long arg);
373long snd_opl3_write(struct snd_hwdep *hw, const char __user *buf, long count,
374 loff_t *offset);
375int snd_opl3_release(struct snd_hwdep * hw, struct file *file); 373int snd_opl3_release(struct snd_hwdep * hw, struct file *file);
376 374
377void snd_opl3_reset(struct snd_opl3 * opl3); 375void snd_opl3_reset(struct snd_opl3 * opl3);
378 376
377#if defined(CONFIG_SND_SEQUENCER) || defined(CONFIG_SND_SEQUENCER_MODULE)
378long snd_opl3_write(struct snd_hwdep *hw, const char __user *buf, long count,
379 loff_t *offset);
379int snd_opl3_load_patch(struct snd_opl3 *opl3, 380int 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,
384struct fm_patch *snd_opl3_find_patch(struct snd_opl3 *opl3, int prog, int bank, 385struct fm_patch *snd_opl3_find_patch(struct snd_opl3 *opl3, int prog, int bank,
385 int create_patch); 386 int create_patch);
386void snd_opl3_clear_patches(struct snd_opl3 *opl3); 387void snd_opl3_clear_patches(struct snd_opl3 *opl3);
388#else
389#define snd_opl3_write NULL
390static 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