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, int snd_opl3_open(struct snd_hwdep * hw, struct file *file); int snd_opl3_ioctl(struct snd_hwdep * hw, struct file *file, unsigned int cmd, unsigned long arg); -long snd_opl3_write(struct snd_hwdep *hw, const char __user *buf, long count, - loff_t *offset); int snd_opl3_release(struct snd_hwdep * hw, struct file *file); void snd_opl3_reset(struct snd_opl3 * opl3); +#if defined(CONFIG_SND_SEQUENCER) || defined(CONFIG_SND_SEQUENCER_MODULE) +long snd_opl3_write(struct snd_hwdep *hw, const char __user *buf, long count, + loff_t *offset); int snd_opl3_load_patch(struct snd_opl3 *opl3, int prog, int bank, int type, const char *name, @@ -384,5 +385,9 @@ int snd_opl3_load_patch(struct snd_opl3 *opl3, struct fm_patch *snd_opl3_find_patch(struct snd_opl3 *opl3, int prog, int bank, int create_patch); void snd_opl3_clear_patches(struct snd_opl3 *opl3); +#else +#define snd_opl3_write NULL +static inline void snd_opl3_clear_patches(struct snd_opl3 *opl3) {} +#endif #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 @@ #include #include +#if defined(CONFIG_SND_SEQUENCER) || defined(CONFIG_SND_SEQUENCER_MODULE) +#define OPL3_SUPPORT_SYNTH +#endif + /* * There is 18 possible 2 OP voices * (9 in the left and 9 in the right). @@ -155,9 +159,11 @@ int snd_opl3_ioctl(struct snd_hwdep * hw, struct file *file, #endif return snd_opl3_set_connection(opl3, (int) arg); +#ifdef OPL3_SUPPORT_SYNTH case SNDRV_DM_FM_IOCTL_CLEAR_PATCHES: snd_opl3_clear_patches(opl3); return 0; +#endif #ifdef CONFIG_SND_DEBUG default: @@ -178,6 +184,7 @@ int snd_opl3_release(struct snd_hwdep * hw, struct file *file) return 0; } +#ifdef OPL3_SUPPORT_SYNTH /* * write the device - load patches */ @@ -341,6 +348,7 @@ void snd_opl3_clear_patches(struct snd_opl3 *opl3) } memset(opl3->patch_table, 0, sizeof(opl3->patch_table)); } +#endif /* OPL3_SUPPORT_SYNTH */ /* ------------------------------ */