From: Takashi Iwai Date: Thu, 1 Dec 2005 09:43:51 +0000 (+0100) Subject: [ALSA] Optimize for config without PROC_FS (seq and oss parts) X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=04f141a8800d022981f0405a8d307c98aba55105;p=linux-beck.git [ALSA] Optimize for config without PROC_FS (seq and oss parts) Modules: ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer Optimize the code when compiled without CONFIG_PROC_FS (in seq and oss emulation parts). Signed-off-by: Takashi Iwai --- diff --git a/sound/core/oss/mixer_oss.c b/sound/core/oss/mixer_oss.c index 2d7a42014f51..f08e65a2bffe 100644 --- a/sound/core/oss/mixer_oss.c +++ b/sound/core/oss/mixer_oss.c @@ -1053,6 +1053,7 @@ static int snd_mixer_oss_build_input(struct snd_mixer_oss *mixer, struct snd_mix return 0; } +#ifdef CONFIG_PROC_FS /* */ #define MIXER_VOL(name) [SOUND_MIXER_##name] = #name @@ -1200,6 +1201,10 @@ static void snd_mixer_oss_proc_done(struct snd_mixer_oss *mixer) mixer->proc_entry = NULL; } } +#else /* !CONFIG_PROC_FS */ +#define snd_mixer_oss_proc_init(mix) +#define snd_mixer_oss_proc_done(mix) +#endif /* CONFIG_PROC_FS */ static void snd_mixer_oss_build(struct snd_mixer_oss *mixer) { diff --git a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c index 2ae283c7b28a..16df1246a131 100644 --- a/sound/core/oss/pcm_oss.c +++ b/sound/core/oss/pcm_oss.c @@ -2269,6 +2269,7 @@ static int snd_pcm_oss_mmap(struct file *file, struct vm_area_struct *area) return 0; } +#ifdef CONFIG_PROC_FS /* * /proc interface */ @@ -2420,6 +2421,10 @@ static void snd_pcm_oss_proc_done(struct snd_pcm *pcm) } } } +#else /* !CONFIG_PROC_FS */ +#define snd_pcm_oss_proc_init(pcm) +#define snd_pcm_oss_proc_done(pcm) +#endif /* CONFIG_PROC_FS */ /* * ENTRY functions diff --git a/sound/core/seq/oss/seq_oss.c b/sound/core/seq/oss/seq_oss.c index 4b51ab56507b..c98f0ba13810 100644 --- a/sound/core/seq/oss/seq_oss.c +++ b/sound/core/seq/oss/seq_oss.c @@ -52,8 +52,13 @@ int seq_oss_debug = 0; */ static int register_device(void); static void unregister_device(void); +#ifdef CONFIG_PROC_FS static int register_proc(void); static void unregister_proc(void); +#else +static inline int register_proc(void) { return 0; } +static inline void unregister_proc(void) {} +#endif static int odev_open(struct inode *inode, struct file *file); static int odev_release(struct inode *inode, struct file *file); @@ -61,9 +66,6 @@ static ssize_t odev_read(struct file *file, char __user *buf, size_t count, loff static ssize_t odev_write(struct file *file, const char __user *buf, size_t count, loff_t *offset); static long odev_ioctl(struct file *file, unsigned int cmd, unsigned long arg); static unsigned int odev_poll(struct file *file, poll_table * wait); -#ifdef CONFIG_PROC_FS -static void info_read(struct snd_info_entry *entry, struct snd_info_buffer *buf); -#endif /* @@ -276,12 +278,10 @@ info_read(struct snd_info_entry *entry, struct snd_info_buffer *buf) up(®ister_mutex); } -#endif /* CONFIG_PROC_FS */ static int __init register_proc(void) { -#ifdef CONFIG_PROC_FS struct snd_info_entry *entry; entry = snd_info_create_module_entry(THIS_MODULE, SNDRV_SEQ_OSS_PROCNAME, snd_seq_root); @@ -297,16 +297,14 @@ register_proc(void) return -ENOMEM; } info_entry = entry; -#endif return 0; } static void unregister_proc(void) { -#ifdef CONFIG_PROC_FS if (info_entry) snd_info_unregister(info_entry); info_entry = NULL; -#endif } +#endif /* CONFIG_PROC_FS */ diff --git a/sound/core/seq/oss/seq_oss_init.c b/sound/core/seq/oss/seq_oss_init.c index 1d4473eadcf3..97e2493e931f 100644 --- a/sound/core/seq/oss/seq_oss_init.c +++ b/sound/core/seq/oss/seq_oss_init.c @@ -502,6 +502,7 @@ snd_seq_oss_reset(struct seq_oss_devinfo *dp) } +#ifdef CONFIG_PROC_FS /* * misc. functions for proc interface */ @@ -552,4 +553,4 @@ snd_seq_oss_system_info_read(struct snd_info_buffer *buf) snd_seq_oss_readq_info_read(dp->readq, buf); } } - +#endif /* CONFIG_PROC_FS */ diff --git a/sound/core/seq/oss/seq_oss_midi.c b/sound/core/seq/oss/seq_oss_midi.c index eb7ae990965c..0a711d2d04f0 100644 --- a/sound/core/seq/oss/seq_oss_midi.c +++ b/sound/core/seq/oss/seq_oss_midi.c @@ -668,6 +668,7 @@ snd_seq_oss_midi_make_info(struct seq_oss_devinfo *dp, int dev, struct midi_info } +#ifdef CONFIG_PROC_FS /* * proc interface */ @@ -707,4 +708,4 @@ snd_seq_oss_midi_info_read(struct snd_info_buffer *buf) snd_use_lock_free(&mdev->use_lock); } } - +#endif /* CONFIG_PROC_FS */ diff --git a/sound/core/seq/oss/seq_oss_readq.c b/sound/core/seq/oss/seq_oss_readq.c index abc70078add3..f5de79f29f1e 100644 --- a/sound/core/seq/oss/seq_oss_readq.c +++ b/sound/core/seq/oss/seq_oss_readq.c @@ -222,6 +222,7 @@ snd_seq_oss_readq_put_timestamp(struct seq_oss_readq *q, unsigned long curt, int } +#ifdef CONFIG_PROC_FS /* * proc interface */ @@ -232,3 +233,4 @@ snd_seq_oss_readq_info_read(struct seq_oss_readq *q, struct snd_info_buffer *buf (waitqueue_active(&q->midi_sleep) ? "sleeping":"running"), q->qlen, q->input_time); } +#endif /* CONFIG_PROC_FS */ diff --git a/sound/core/seq/oss/seq_oss_synth.c b/sound/core/seq/oss/seq_oss_synth.c index 0b6025c92b9e..ab570a0a6183 100644 --- a/sound/core/seq/oss/seq_oss_synth.c +++ b/sound/core/seq/oss/seq_oss_synth.c @@ -621,6 +621,7 @@ snd_seq_oss_synth_make_info(struct seq_oss_devinfo *dp, int dev, struct synth_in } +#ifdef CONFIG_PROC_FS /* * proc interface */ @@ -648,4 +649,4 @@ snd_seq_oss_synth_info_read(struct snd_info_buffer *buf) snd_use_lock_free(&rec->use_lock); } } - +#endif /* CONFIG_PROC_FS */ diff --git a/sound/core/seq/seq_clientmgr.c b/sound/core/seq/seq_clientmgr.c index 2a9c6b316b14..9c32fd262f8d 100644 --- a/sound/core/seq/seq_clientmgr.c +++ b/sound/core/seq/seq_clientmgr.c @@ -2413,6 +2413,7 @@ int snd_seq_kernel_client_write_poll(int clientid, struct file *file, poll_table /*---------------------------------------------------------------------------*/ +#ifdef CONFIG_PROC_FS /* * /proc interface */ @@ -2518,7 +2519,7 @@ void snd_seq_info_clients_read(struct snd_info_entry *entry, snd_seq_client_unlock(client); } } - +#endif /* CONFIG_PROC_FS */ /*---------------------------------------------------------------------------*/ diff --git a/sound/core/seq/seq_device.c b/sound/core/seq/seq_device.c index 3f935a18b5e7..9ece443fba55 100644 --- a/sound/core/seq/seq_device.c +++ b/sound/core/seq/seq_device.c @@ -78,7 +78,9 @@ struct ops_list { static LIST_HEAD(opslist); static int num_ops; static DECLARE_MUTEX(ops_mutex); +#ifdef CONFIG_PROC_FS static struct snd_info_entry *info_entry = NULL; +#endif /* * prototypes @@ -100,6 +102,7 @@ static void remove_drivers(void); * show all drivers and their status */ +#ifdef CONFIG_PROC_FS static void snd_seq_device_info(struct snd_info_entry *entry, struct snd_info_buffer *buffer) { @@ -117,6 +120,7 @@ static void snd_seq_device_info(struct snd_info_entry *entry, } up(&ops_mutex); } +#endif /* * load all registered drivers (called from seq_clientmgr.c) @@ -544,6 +548,7 @@ static void unlock_driver(struct ops_list *ops) static int __init alsa_seq_device_init(void) { +#ifdef CONFIG_PROC_FS info_entry = snd_info_create_module_entry(THIS_MODULE, "drivers", snd_seq_root); if (info_entry == NULL) @@ -555,13 +560,16 @@ static int __init alsa_seq_device_init(void) snd_info_free_entry(info_entry); return -ENOMEM; } +#endif return 0; } static void __exit alsa_seq_device_exit(void) { remove_drivers(); +#ifdef CONFIG_PROC_FS snd_info_unregister(info_entry); +#endif if (num_ops) snd_printk(KERN_ERR "drivers not released (%d)\n", num_ops); } diff --git a/sound/core/seq/seq_info.c b/sound/core/seq/seq_info.c index 3257cf4ec258..acce21afdaa4 100644 --- a/sound/core/seq/seq_info.c +++ b/sound/core/seq/seq_info.c @@ -27,7 +27,7 @@ #include "seq_clientmgr.h" #include "seq_timer.h" - +#ifdef CONFIG_PROC_FS static struct snd_info_entry *queues_entry; static struct snd_info_entry *clients_entry; static struct snd_info_entry *timer_entry; @@ -52,7 +52,6 @@ create_info_entry(char *name, int size, void (*read)(struct snd_info_entry *, return entry; } - /* create all our /proc entries */ int __init snd_seq_info_init(void) { @@ -66,11 +65,9 @@ int __init snd_seq_info_init(void) int __exit snd_seq_info_done(void) { - if (queues_entry) - snd_info_unregister(queues_entry); - if (clients_entry) - snd_info_unregister(clients_entry); - if (timer_entry) - snd_info_unregister(timer_entry); + snd_info_unregister(queues_entry); + snd_info_unregister(clients_entry); + snd_info_unregister(timer_entry); return 0; } +#endif diff --git a/sound/core/seq/seq_info.h b/sound/core/seq/seq_info.h index 5a91ebce43a0..4892a7f35c08 100644 --- a/sound/core/seq/seq_info.h +++ b/sound/core/seq/seq_info.h @@ -29,8 +29,12 @@ void snd_seq_info_timer_read(struct snd_info_entry *entry, struct snd_info_buffe void snd_seq_info_queues_read(struct snd_info_entry *entry, struct snd_info_buffer *buffer); +#ifdef CONFIG_PROC_FS int snd_seq_info_init( void ); int snd_seq_info_done( void ); - +#else +static inline int snd_seq_info_init(void) { return 0; } +static inline int snd_seq_info_done(void) { return 0; } +#endif #endif diff --git a/sound/core/seq/seq_queue.c b/sound/core/seq/seq_queue.c index b537a71e1e19..9cf20f045542 100644 --- a/sound/core/seq/seq_queue.c +++ b/sound/core/seq/seq_queue.c @@ -756,6 +756,7 @@ int snd_seq_control_queue(struct snd_seq_event *ev, int atomic, int hop) /*----------------------------------------------------------------*/ +#ifdef CONFIG_PROC_FS /* exported to seq_info.c */ void snd_seq_info_queues_read(struct snd_info_entry *entry, struct snd_info_buffer *buffer) @@ -789,3 +790,5 @@ void snd_seq_info_queues_read(struct snd_info_entry *entry, queuefree(q); } } +#endif /* CONFIG_PROC_FS */ + diff --git a/sound/core/seq/seq_timer.c b/sound/core/seq/seq_timer.c index a1d8bfd60ae9..b4b9a132cb16 100644 --- a/sound/core/seq/seq_timer.c +++ b/sound/core/seq/seq_timer.c @@ -425,6 +425,7 @@ snd_seq_tick_time_t snd_seq_timer_get_cur_tick(struct snd_seq_timer *tmr) } +#ifdef CONFIG_PROC_FS /* exported to seq_info.c */ void snd_seq_info_timer_read(struct snd_info_entry *entry, struct snd_info_buffer *buffer) @@ -451,3 +452,5 @@ void snd_seq_info_timer_read(struct snd_info_entry *entry, queuefree(q); } } +#endif /* CONFIG_PROC_FS */ +