alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] reducing memory footprint of ALSA
@ 2015-05-26 11:04 Jie Yang
  2015-05-26 11:04 ` [PATCH 1/2] ALSA: Kconfig: add config menu for reduced memory footprint Jie Yang
  2015-05-26 11:04 ` [PATCH 2/2] ALSA: set no sound proc fs " Jie Yang
  0 siblings, 2 replies; 7+ messages in thread
From: Jie Yang @ 2015-05-26 11:04 UTC (permalink / raw)
  To: tiwai, broonie; +Cc: vivian.zhang, alsa-devel, linux-kernel, liam.r.girdwood

We are planning to work on reducing memory footprint of ALSA,
targeting on small memory embedded devices(e.g. IoT), this
series focuses on disabling procfs, hw/sw params refinement,
mmap, dpcm, dapm, compressed API, compat code APIs...

These first two patches is a start, add config menu in Kconfig,
and disable ALSA proc FS once reducing memory footprint is
selected, which can save about 9KB code size on x86_64 platform.

Comments are welcomed.

~Keyon

Jie Yang (2):
  ALSA: Kconfig: add config menu for reduced memory footprint
  ALSA: set no sound proc fs for reduced memory footprint

 include/sound/info.h               |  8 ++++----
 sound/Kconfig                      | 16 ++++++++++++++++
 sound/core/Makefile                |  2 +-
 sound/core/hwdep.c                 |  6 +++---
 sound/core/init.c                  |  8 ++++----
 sound/core/oss/mixer_oss.c         |  6 +++---
 sound/core/pcm.c                   |  6 +++---
 sound/core/seq/oss/seq_oss.c       |  6 +++---
 sound/core/seq/oss/seq_oss_init.c  |  5 ++---
 sound/core/seq/oss/seq_oss_midi.c  |  4 ++--
 sound/core/seq/oss/seq_oss_readq.c |  4 ++--
 sound/core/seq/oss/seq_oss_synth.c |  4 ++--
 sound/core/seq/seq_clientmgr.c     |  4 ++--
 sound/core/seq/seq_device.c        |  2 +-
 sound/core/seq/seq_info.h          |  2 +-
 sound/core/seq/seq_queue.c         |  4 ++--
 sound/core/seq/seq_timer.c         |  4 ++--
 sound/core/sound.c                 |  4 ++--
 sound/core/sound_oss.c             |  4 ++--
 sound/core/timer.c                 |  4 ++--
 sound/pci/hda/Makefile             |  3 ++-
 sound/pci/hda/hda_eld.c            |  4 ++--
 sound/pci/hda/hda_local.h          |  4 ++--
 sound/pci/hda/patch_hdmi.c         |  4 ++--
 sound/pci/hda/patch_sigmatel.c     |  2 +-
 25 files changed, 68 insertions(+), 52 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/2] ALSA: Kconfig: add config menu for reduced memory footprint
  2015-05-26 11:04 [PATCH 0/2] reducing memory footprint of ALSA Jie Yang
@ 2015-05-26 11:04 ` Jie Yang
  2015-05-26 11:04   ` Takashi Iwai
  2015-05-26 11:04 ` [PATCH 2/2] ALSA: set no sound proc fs " Jie Yang
  1 sibling, 1 reply; 7+ messages in thread
From: Jie Yang @ 2015-05-26 11:04 UTC (permalink / raw)
  To: tiwai, broonie; +Cc: vivian.zhang, alsa-devel, linux-kernel, liam.r.girdwood

For some embedded devices, we need reduce code size and data
footprint as much as possible, e.g. disabling procfs, hw/sw
params refinement, mmap, dpcm, dapm, compressed API...

Here add root config menu for those configuration, and
disable procfs once reduced memory footprint is selected.

Signed-off-by: Jie Yang <yang.jie@intel.com>
---
 sound/Kconfig | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/sound/Kconfig b/sound/Kconfig
index 5a240e0..6760dfa 100644
--- a/sound/Kconfig
+++ b/sound/Kconfig
@@ -68,6 +68,22 @@ menuconfig SND
 
 if SND
 
+menuconfig SND_REDUCED_MEMORY_FOOTPRINT
+	bool "Reduced Memory Footprint Support"
+	default n
+	help
+	  Say 'Y' to enable Reduced Memory Footprint Support, which may
+	  reduce code size and data footprint as much as possible.
+
+config SND_PROC_FS
+	bool "Sound Proc FS Support"
+	depends on PROC_FS && !SND_REDUCED_MEMORY_FOOTPRINT
+	default y
+	help
+	  Say 'N' to disable Sound proc FS, which may reduce code size about
+	  9KB on x86_64 platform.
+	  If unsure say Y.
+
 source "sound/core/Kconfig"
 
 source "sound/drivers/Kconfig"
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] ALSA: set no sound proc fs for reduced memory footprint
  2015-05-26 11:04 [PATCH 0/2] reducing memory footprint of ALSA Jie Yang
  2015-05-26 11:04 ` [PATCH 1/2] ALSA: Kconfig: add config menu for reduced memory footprint Jie Yang
@ 2015-05-26 11:04 ` Jie Yang
  1 sibling, 0 replies; 7+ messages in thread
From: Jie Yang @ 2015-05-26 11:04 UTC (permalink / raw)
  To: tiwai, broonie; +Cc: vivian.zhang, alsa-devel, linux-kernel, liam.r.girdwood

Disable sound proc fs, when CONFIG_SND_NO_PROC_FS is selected,
which can save about 9KB memory size for reducing memory
footprint purpose.
---
 include/sound/info.h               | 8 ++++----
 sound/core/Makefile                | 2 +-
 sound/core/hwdep.c                 | 6 +++---
 sound/core/init.c                  | 8 ++++----
 sound/core/oss/mixer_oss.c         | 6 +++---
 sound/core/pcm.c                   | 6 +++---
 sound/core/seq/oss/seq_oss.c       | 6 +++---
 sound/core/seq/oss/seq_oss_init.c  | 5 ++---
 sound/core/seq/oss/seq_oss_midi.c  | 4 ++--
 sound/core/seq/oss/seq_oss_readq.c | 4 ++--
 sound/core/seq/oss/seq_oss_synth.c | 4 ++--
 sound/core/seq/seq_clientmgr.c     | 4 ++--
 sound/core/seq/seq_device.c        | 2 +-
 sound/core/seq/seq_info.h          | 2 +-
 sound/core/seq/seq_queue.c         | 4 ++--
 sound/core/seq/seq_timer.c         | 4 ++--
 sound/core/sound.c                 | 4 ++--
 sound/core/sound_oss.c             | 4 ++--
 sound/core/timer.c                 | 4 ++--
 sound/pci/hda/Makefile             | 3 ++-
 sound/pci/hda/hda_eld.c            | 4 ++--
 sound/pci/hda/hda_local.h          | 4 ++--
 sound/pci/hda/patch_hdmi.c         | 4 ++--
 sound/pci/hda/patch_sigmatel.c     | 2 +-
 24 files changed, 52 insertions(+), 52 deletions(-)

diff --git a/include/sound/info.h b/include/sound/info.h
index 1626995..67390ee 100644
--- a/include/sound/info.h
+++ b/include/sound/info.h
@@ -92,14 +92,14 @@ struct snd_info_entry {
 	struct list_head list;
 };
 
-#if defined(CONFIG_SND_OSSEMUL) && defined(CONFIG_PROC_FS)
+#if defined(CONFIG_SND_OSSEMUL) && defined(CONFIG_SND_PROC_FS)
 int snd_info_minor_register(void);
 #else
 #define snd_info_minor_register()	0
 #endif
 
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 
 extern struct snd_info_entry *snd_seq_root;
 #ifdef CONFIG_SND_OSSEMUL
@@ -197,7 +197,7 @@ static inline int snd_info_check_reserved_words(const char *str) { return 1; }
  * OSS info part
  */
 
-#if defined(CONFIG_SND_OSSEMUL) && defined(CONFIG_PROC_FS)
+#if defined(CONFIG_SND_OSSEMUL) && defined(CONFIG_SND_PROC_FS)
 
 #define SNDRV_OSS_INFO_DEV_AUDIO	0
 #define SNDRV_OSS_INFO_DEV_SYNTH	1
@@ -210,6 +210,6 @@ static inline int snd_info_check_reserved_words(const char *str) { return 1; }
 int snd_oss_info_register(int dev, int num, char *string);
 #define snd_oss_info_unregister(dev, num) snd_oss_info_register(dev, num, NULL)
 
-#endif /* CONFIG_SND_OSSEMUL && CONFIG_PROC_FS */
+#endif /* CONFIG_SND_OSSEMUL && CONFIG_SND_PROC_FS */
 
 #endif /* __SOUND_INFO_H */
diff --git a/sound/core/Makefile b/sound/core/Makefile
index 7dd17a3..9e5bb10 100644
--- a/sound/core/Makefile
+++ b/sound/core/Makefile
@@ -4,7 +4,7 @@
 #
 
 snd-y     := sound.o init.o memory.o control.o misc.o device.o
-ifneq ($(CONFIG_PROC_FS),)
+ifneq ($(CONFIG_SND_PROC_FS),)
 snd-y += info.o
 snd-$(CONFIG_SND_OSSEMUL) += info_oss.o
 endif
diff --git a/sound/core/hwdep.c b/sound/core/hwdep.c
index 51692c8..36d2416 100644
--- a/sound/core/hwdep.c
+++ b/sound/core/hwdep.c
@@ -484,7 +484,7 @@ static int snd_hwdep_dev_disconnect(struct snd_device *device)
 	return 0;
 }
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 /*
  *  Info interface
  */
@@ -521,10 +521,10 @@ static void __exit snd_hwdep_proc_done(void)
 {
 	snd_info_free_entry(snd_hwdep_proc_entry);
 }
-#else /* !CONFIG_PROC_FS */
+#else /* !CONFIG_SND_PROC_FS */
 #define snd_hwdep_proc_init()
 #define snd_hwdep_proc_done()
-#endif /* CONFIG_PROC_FS */
+#endif /* CONFIG_SND_PROC_FS */
 
 
 /*
diff --git a/sound/core/init.c b/sound/core/init.c
index f8abd2d..3e0ceba 100644
--- a/sound/core/init.c
+++ b/sound/core/init.c
@@ -100,7 +100,7 @@ int (*snd_mixer_oss_notify_callback)(struct snd_card *card, int free_flag);
 EXPORT_SYMBOL(snd_mixer_oss_notify_callback);
 #endif
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 static void snd_card_id_read(struct snd_info_entry *entry,
 			     struct snd_info_buffer *buffer)
 {
@@ -122,7 +122,7 @@ static int init_info_for_card(struct snd_card *card)
 
 	return snd_info_card_register(card);
 }
-#else /* !CONFIG_PROC_FS */
+#else /* !CONFIG_SND_PROC_FS */
 #define init_info_for_card(card)
 #endif
 
@@ -776,7 +776,7 @@ int snd_card_register(struct snd_card *card)
 
 EXPORT_SYMBOL(snd_card_register);
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 static void snd_card_info_read(struct snd_info_entry *entry,
 			       struct snd_info_buffer *buffer)
 {
@@ -861,7 +861,7 @@ int __init snd_card_info_init(void)
 
 	return 0;
 }
-#endif /* CONFIG_PROC_FS */
+#endif /* CONFIG_SND_PROC_FS */
 
 /**
  *  snd_component_add - add a component string
diff --git a/sound/core/oss/mixer_oss.c b/sound/core/oss/mixer_oss.c
index 056f8e2..a99f720 100644
--- a/sound/core/oss/mixer_oss.c
+++ b/sound/core/oss/mixer_oss.c
@@ -1111,7 +1111,7 @@ static int snd_mixer_oss_build_input(struct snd_mixer_oss *mixer, struct snd_mix
 	return 0;
 }
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 /*
  */
 #define MIXER_VOL(name) [SOUND_MIXER_##name] = #name
@@ -1255,10 +1255,10 @@ static void snd_mixer_oss_proc_done(struct snd_mixer_oss *mixer)
 	snd_info_free_entry(mixer->proc_entry);
 	mixer->proc_entry = NULL;
 }
-#else /* !CONFIG_PROC_FS */
+#else /* !CONFIG_SND_PROC_FS */
 #define snd_mixer_oss_proc_init(mix)
 #define snd_mixer_oss_proc_done(mix)
-#endif /* CONFIG_PROC_FS */
+#endif /* CONFIG_SND_PROC_FS */
 
 static void snd_mixer_oss_build(struct snd_mixer_oss *mixer)
 {
diff --git a/sound/core/pcm.c b/sound/core/pcm.c
index b25bcf5..e537943 100644
--- a/sound/core/pcm.c
+++ b/sound/core/pcm.c
@@ -1181,7 +1181,7 @@ int snd_pcm_notify(struct snd_pcm_notify *notify, int nfree)
 }
 EXPORT_SYMBOL(snd_pcm_notify);
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 /*
  *  Info interface
  */
@@ -1227,10 +1227,10 @@ static void snd_pcm_proc_done(void)
 	snd_info_free_entry(snd_pcm_proc_entry);
 }
 
-#else /* !CONFIG_PROC_FS */
+#else /* !CONFIG_SND_PROC_FS */
 #define snd_pcm_proc_init()
 #define snd_pcm_proc_done()
-#endif /* CONFIG_PROC_FS */
+#endif /* CONFIG_SND_PROC_FS */
 
 
 /*
diff --git a/sound/core/seq/oss/seq_oss.c b/sound/core/seq/oss/seq_oss.c
index 72873a4..7354b8b 100644
--- a/sound/core/seq/oss/seq_oss.c
+++ b/sound/core/seq/oss/seq_oss.c
@@ -45,7 +45,7 @@ MODULE_ALIAS_SNDRV_MINOR(SNDRV_MINOR_OSS_MUSIC);
  */
 static int register_device(void);
 static void unregister_device(void);
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 static int register_proc(void);
 static void unregister_proc(void);
 #else
@@ -261,7 +261,7 @@ unregister_device(void)
  * /proc interface
  */
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 
 static struct snd_info_entry *info_entry;
 
@@ -303,4 +303,4 @@ unregister_proc(void)
 	snd_info_free_entry(info_entry);
 	info_entry = NULL;
 }
-#endif /* CONFIG_PROC_FS */
+#endif /* CONFIG_SND_PROC_FS */
diff --git a/sound/core/seq/oss/seq_oss_init.c b/sound/core/seq/oss/seq_oss_init.c
index 2de3fef..b1221b2 100644
--- a/sound/core/seq/oss/seq_oss_init.c
+++ b/sound/core/seq/oss/seq_oss_init.c
@@ -479,8 +479,7 @@ snd_seq_oss_reset(struct seq_oss_devinfo *dp)
 	snd_seq_oss_timer_stop(dp->timer);
 }
 
-
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 /*
  * misc. functions for proc interface
  */
@@ -531,4 +530,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 */
+#endif /* CONFIG_SND_PROC_FS */
diff --git a/sound/core/seq/oss/seq_oss_midi.c b/sound/core/seq/oss/seq_oss_midi.c
index 96e8395..aaff9ee 100644
--- a/sound/core/seq/oss/seq_oss_midi.c
+++ b/sound/core/seq/oss/seq_oss_midi.c
@@ -665,7 +665,7 @@ snd_seq_oss_midi_make_info(struct seq_oss_devinfo *dp, int dev, struct midi_info
 }
 
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 /*
  * proc interface
  */
@@ -705,4 +705,4 @@ snd_seq_oss_midi_info_read(struct snd_info_buffer *buf)
 		snd_use_lock_free(&mdev->use_lock);
 	}
 }
-#endif /* CONFIG_PROC_FS */
+#endif /* CONFIG_SND_PROC_FS */
diff --git a/sound/core/seq/oss/seq_oss_readq.c b/sound/core/seq/oss/seq_oss_readq.c
index c080c73..ccd8935 100644
--- a/sound/core/seq/oss/seq_oss_readq.c
+++ b/sound/core/seq/oss/seq_oss_readq.c
@@ -222,7 +222,7 @@ snd_seq_oss_readq_put_timestamp(struct seq_oss_readq *q, unsigned long curt, int
 }
 
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 /*
  * proc interface
  */
@@ -233,4 +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 */
+#endif /* CONFIG_SND_PROC_FS */
diff --git a/sound/core/seq/oss/seq_oss_synth.c b/sound/core/seq/oss/seq_oss_synth.c
index 48e4fe1..0f3b381 100644
--- a/sound/core/seq/oss/seq_oss_synth.c
+++ b/sound/core/seq/oss/seq_oss_synth.c
@@ -630,7 +630,7 @@ snd_seq_oss_synth_make_info(struct seq_oss_devinfo *dp, int dev, struct synth_in
 }
 
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 /*
  * proc interface
  */
@@ -658,4 +658,4 @@ snd_seq_oss_synth_info_read(struct snd_info_buffer *buf)
 		snd_use_lock_free(&rec->use_lock);
 	}
 }
-#endif /* CONFIG_PROC_FS */
+#endif /* CONFIG_SND_PROC_FS */
diff --git a/sound/core/seq/seq_clientmgr.c b/sound/core/seq/seq_clientmgr.c
index edbdab8..b64f20d 100644
--- a/sound/core/seq/seq_clientmgr.c
+++ b/sound/core/seq/seq_clientmgr.c
@@ -2447,7 +2447,7 @@ EXPORT_SYMBOL(snd_seq_kernel_client_write_poll);
 
 /*---------------------------------------------------------------------------*/
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 /*
  *  /proc interface
  */
@@ -2549,7 +2549,7 @@ void snd_seq_info_clients_read(struct snd_info_entry *entry,
 		snd_seq_client_unlock(client);
 	}
 }
-#endif /* CONFIG_PROC_FS */
+#endif /* CONFIG_SND_PROC_FS */
 
 /*---------------------------------------------------------------------------*/
 
diff --git a/sound/core/seq/seq_device.c b/sound/core/seq/seq_device.c
index d99f99d..288af56 100644
--- a/sound/core/seq/seq_device.c
+++ b/sound/core/seq/seq_device.c
@@ -72,7 +72,7 @@ static struct bus_type snd_seq_bus_type = {
 /*
  * proc interface -- just for compatibility
  */
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 static struct snd_info_entry *info_entry;
 
 static int print_dev_info(struct device *dev, void *data)
diff --git a/sound/core/seq/seq_info.h b/sound/core/seq/seq_info.h
index 4892a7f..f8549f8 100644
--- a/sound/core/seq/seq_info.h
+++ b/sound/core/seq/seq_info.h
@@ -29,7 +29,7 @@ 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
+#ifdef CONFIG_SND_PROC_FS
 int snd_seq_info_init( void );
 int snd_seq_info_done( void );
 #else
diff --git a/sound/core/seq/seq_queue.c b/sound/core/seq/seq_queue.c
index a0cda38..7dfd0f4 100644
--- a/sound/core/seq/seq_queue.c
+++ b/sound/core/seq/seq_queue.c
@@ -753,7 +753,7 @@ int snd_seq_control_queue(struct snd_seq_event *ev, int atomic, int hop)
 
 /*----------------------------------------------------------------*/
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 /* exported to seq_info.c */
 void snd_seq_info_queues_read(struct snd_info_entry *entry, 
 			      struct snd_info_buffer *buffer)
@@ -787,5 +787,5 @@ void snd_seq_info_queues_read(struct snd_info_entry *entry,
 		queuefree(q);
 	}
 }
-#endif /* CONFIG_PROC_FS */
+#endif /* CONFIG_SND_PROC_FS */
 
diff --git a/sound/core/seq/seq_timer.c b/sound/core/seq/seq_timer.c
index 186f161..82b220c 100644
--- a/sound/core/seq/seq_timer.c
+++ b/sound/core/seq/seq_timer.c
@@ -422,7 +422,7 @@ snd_seq_tick_time_t snd_seq_timer_get_cur_tick(struct snd_seq_timer *tmr)
 }
 
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 /* exported to seq_info.c */
 void snd_seq_info_timer_read(struct snd_info_entry *entry,
 			     struct snd_info_buffer *buffer)
@@ -449,5 +449,5 @@ void snd_seq_info_timer_read(struct snd_info_entry *entry,
 		queuefree(q);
  	}
 }
-#endif /* CONFIG_PROC_FS */
+#endif /* CONFIG_SND_PROC_FS */
 
diff --git a/sound/core/sound.c b/sound/core/sound.c
index e5d37bd..175f9e4 100644
--- a/sound/core/sound.c
+++ b/sound/core/sound.c
@@ -330,7 +330,7 @@ int snd_unregister_device(struct device *dev)
 }
 EXPORT_SYMBOL(snd_unregister_device);
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 /*
  *  INFO PART
  */
@@ -391,7 +391,7 @@ int __init snd_minor_info_init(void)
 	entry->c.text.read = snd_minor_info_read;
 	return snd_info_register(entry); /* freed in error path */
 }
-#endif /* CONFIG_PROC_FS */
+#endif /* CONFIG_SND_PROC_FS */
 
 /*
  *  INIT PART
diff --git a/sound/core/sound_oss.c b/sound/core/sound_oss.c
index 86e2d91..0ca9d72 100644
--- a/sound/core/sound_oss.c
+++ b/sound/core/sound_oss.c
@@ -207,7 +207,7 @@ EXPORT_SYMBOL(snd_unregister_oss_device);
  *  INFO PART
  */
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 static const char *snd_oss_device_type_name(int type)
 {
 	switch (type) {
@@ -259,4 +259,4 @@ int __init snd_minor_info_oss_init(void)
 	entry->c.text.read = snd_minor_info_oss_read;
 	return snd_info_register(entry); /* freed in error path */
 }
-#endif /* CONFIG_PROC_FS */
+#endif /* CONFIG_SND_PROC_FS */
diff --git a/sound/core/timer.c b/sound/core/timer.c
index a9a1a04..31f40f0 100644
--- a/sound/core/timer.c
+++ b/sound/core/timer.c
@@ -1034,7 +1034,7 @@ static int snd_timer_register_system(void)
 	return snd_timer_global_register(timer);
 }
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 /*
  *  Info interface
  */
@@ -1104,7 +1104,7 @@ static void __exit snd_timer_proc_done(void)
 {
 	snd_info_free_entry(snd_timer_proc_entry);
 }
-#else /* !CONFIG_PROC_FS */
+#else /* !CONFIG_SND_PROC_FS */
 #define snd_timer_proc_init()
 #define snd_timer_proc_done()
 #endif
diff --git a/sound/pci/hda/Makefile b/sound/pci/hda/Makefile
index 9c259ce..2732890 100644
--- a/sound/pci/hda/Makefile
+++ b/sound/pci/hda/Makefile
@@ -5,7 +5,8 @@ snd-hda-intel-$(CONFIG_SND_HDA_I915) +=	hda_i915.o
 
 snd-hda-codec-y := hda_bind.o hda_codec.o hda_jack.o hda_auto_parser.o hda_sysfs.o
 snd-hda-codec-y += hda_controller.o
-snd-hda-codec-$(CONFIG_PROC_FS) += hda_proc.o
+snd-hda-codec-$(CONFIG_SND_PROC_FS) += hda_proc.o
+
 snd-hda-codec-$(CONFIG_SND_HDA_HWDEP) += hda_hwdep.o
 snd-hda-codec-$(CONFIG_SND_HDA_INPUT_BEEP) += hda_beep.o
 
diff --git a/sound/pci/hda/hda_eld.c b/sound/pci/hda/hda_eld.c
index 0e6d753..c746cd9 100644
--- a/sound/pci/hda/hda_eld.c
+++ b/sound/pci/hda/hda_eld.c
@@ -448,7 +448,7 @@ void snd_hdmi_show_eld(struct hda_codec *codec, struct parsed_hdmi_eld *e)
 		hdmi_show_short_audio_desc(codec, e->sad + i);
 }
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 
 static void hdmi_print_sad_info(int i, struct cea_sad *a,
 				struct snd_info_buffer *buffer)
@@ -586,7 +586,7 @@ void snd_hdmi_write_eld_info(struct hdmi_eld *eld,
 		}
 	}
 }
-#endif /* CONFIG_PROC_FS */
+#endif /* CONFIG_SND_PROC_FS */
 
 /* update PCM info based on ELD */
 void snd_hdmi_eld_update_pcm_info(struct parsed_hdmi_eld *e,
diff --git a/sound/pci/hda/hda_local.h b/sound/pci/hda/hda_local.h
index 3b567f4..be7c66d 100644
--- a/sound/pci/hda/hda_local.h
+++ b/sound/pci/hda/hda_local.h
@@ -330,7 +330,7 @@ int snd_hda_multi_out_analog_cleanup(struct hda_codec *codec,
 /*
  * generic proc interface
  */
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 int snd_hda_codec_proc_new(struct hda_codec *codec);
 #else
 static inline int snd_hda_codec_proc_new(struct hda_codec *codec) { return 0; }
@@ -777,7 +777,7 @@ int snd_hdmi_get_eld_ati(struct hda_codec *codec, hda_nid_t nid,
 			 unsigned char *buf, int *eld_size,
 			 bool rev3_or_later);
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 void snd_hdmi_print_eld_info(struct hdmi_eld *eld,
 			     struct snd_info_buffer *buffer);
 void snd_hdmi_write_eld_info(struct hdmi_eld *eld,
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index ef8a562..73c20c0 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -86,7 +86,7 @@ struct hdmi_spec_per_pin {
 	bool non_pcm;
 	bool chmap_set;		/* channel-map override by ALSA API? */
 	unsigned char chmap[8]; /* ALSA API channel-map */
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 	struct snd_info_entry *proc_entry;
 #endif
 };
@@ -548,7 +548,7 @@ static void hdmi_set_channel_count(struct hda_codec *codec,
  * ELD proc files
  */
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 static void print_eld_info(struct snd_info_entry *entry,
 			   struct snd_info_buffer *buffer)
 {
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index 43c99ce..054026a 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -4337,7 +4337,7 @@ static void stac_shutup(struct hda_codec *codec)
 
 #define stac_free	snd_hda_gen_free
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_SND_PROC_FS
 static void stac92hd_proc_hook(struct snd_info_buffer *buffer,
 			       struct hda_codec *codec, hda_nid_t nid)
 {
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] ALSA: Kconfig: add config menu for reduced memory footprint
  2015-05-26 11:04 ` [PATCH 1/2] ALSA: Kconfig: add config menu for reduced memory footprint Jie Yang
@ 2015-05-26 11:04   ` Takashi Iwai
  2015-05-26 12:32     ` Jie, Yang
  0 siblings, 1 reply; 7+ messages in thread
From: Takashi Iwai @ 2015-05-26 11:04 UTC (permalink / raw)
  To: Jie Yang; +Cc: vivian.zhang, alsa-devel, broonie, linux-kernel, liam.r.girdwood

At Tue, 26 May 2015 19:04:24 +0800,
Jie Yang wrote:
> 
> For some embedded devices, we need reduce code size and data
> footprint as much as possible, e.g. disabling procfs, hw/sw
> params refinement, mmap, dpcm, dapm, compressed API...
> 
> Here add root config menu for those configuration, and
> disable procfs once reduced memory footprint is selected.
> 
> Signed-off-by: Jie Yang <yang.jie@intel.com>
> ---
>  sound/Kconfig | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/sound/Kconfig b/sound/Kconfig
> index 5a240e0..6760dfa 100644
> --- a/sound/Kconfig
> +++ b/sound/Kconfig
> @@ -68,6 +68,22 @@ menuconfig SND
>  
>  if SND
>  
> +menuconfig SND_REDUCED_MEMORY_FOOTPRINT
> +	bool "Reduced Memory Footprint Support"
> +	default n
> +	help
> +	  Say 'Y' to enable Reduced Memory Footprint Support, which may
> +	  reduce code size and data footprint as much as possible.

I'd like to move this into sound/core.
Also, the kconfig name appears a bit too lengthy to me.

> +config SND_PROC_FS
> +	bool "Sound Proc FS Support"
> +	depends on PROC_FS && !SND_REDUCED_MEMORY_FOOTPRINT

This should be
	bool "Sound Proc FS Support" if !SND_REDUCED_MEMORY_FOOTPRINT
	depends on PROC_FS

In this way, this prompt would appear only when
SND_REDUCED_MEMORY_FOOTPRINT is set, i.e. only for experts.


thanks,

Takashi

> +	default y
> +	help
> +	  Say 'N' to disable Sound proc FS, which may reduce code size about
> +	  9KB on x86_64 platform.
> +	  If unsure say Y.
> +
>  source "sound/core/Kconfig"
>  
>  source "sound/drivers/Kconfig"
> -- 
> 1.9.1
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] ALSA: Kconfig: add config menu for reduced memory footprint
  2015-05-26 11:04   ` Takashi Iwai
@ 2015-05-26 12:32     ` Jie, Yang
  2015-05-26 12:39       ` Takashi Iwai
  0 siblings, 1 reply; 7+ messages in thread
From: Jie, Yang @ 2015-05-26 12:32 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Zhang, Vivian, alsa-devel, broonie, linux-kernel, Girdwood, Liam R

> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai@suse.de]
> Sent: Tuesday, May 26, 2015 7:05 PM
> To: Jie, Yang
> Cc: broonie@kernel.org; alsa-devel@alsa-project.org; linux-
> kernel@vger.kernel.org; Girdwood, Liam R; Zhang, Vivian
> Subject: Re: [PATCH 1/2] ALSA: Kconfig: add config menu for reduced
> memory footprint
> 
> At Tue, 26 May 2015 19:04:24 +0800,
> Jie Yang wrote:
> >
> > For some embedded devices, we need reduce code size and data footprint
> > as much as possible, e.g. disabling procfs, hw/sw params refinement,
> > mmap, dpcm, dapm, compressed API...
> >
> > Here add root config menu for those configuration, and disable procfs
> > once reduced memory footprint is selected.
> >
> > Signed-off-by: Jie Yang <yang.jie@intel.com>
> > ---
> >  sound/Kconfig | 16 ++++++++++++++++
> >  1 file changed, 16 insertions(+)
> >
> > diff --git a/sound/Kconfig b/sound/Kconfig index 5a240e0..6760dfa
> > 100644
> > --- a/sound/Kconfig
> > +++ b/sound/Kconfig
> > @@ -68,6 +68,22 @@ menuconfig SND
> >
> >  if SND
> >
> > +menuconfig SND_REDUCED_MEMORY_FOOTPRINT
> > +	bool "Reduced Memory Footprint Support"
> > +	default n
> > +	help
> > +	  Say 'Y' to enable Reduced Memory Footprint Support, which may
> > +	  reduce code size and data footprint as much as possible.
> 
> I'd like to move this into sound/core.
> Also, the kconfig name appears a bit too lengthy to me.
> 
> > +config SND_PROC_FS
> > +	bool "Sound Proc FS Support"
> > +	depends on PROC_FS && !SND_REDUCED_MEMORY_FOOTPRINT
> 
> This should be
> 	bool "Sound Proc FS Support"
> if !SND_REDUCED_MEMORY_FOOTPRINT
> 	depends on PROC_FS
> 
> In this way, this prompt would appear only when
> SND_REDUCED_MEMORY_FOOTPRINT is set, i.e. only for experts.
 
Takashi, I tested and found same for these two way, the prompt will
appear only when PROC_FS=y and SND_REDUCED_MEMORY_FOOTPRINT
is *not* set. BTW, seems here we should use without '!'?

 	bool "Sound Proc FS Support" if SND_REDUCED_MEMORY_FOOTPRINT
 	depends on PROC_FS

~Keyon
> 
> 
> thanks,
> 
> Takashi
> 
> > +	default y
> > +	help
> > +	  Say 'N' to disable Sound proc FS, which may reduce code size about
> > +	  9KB on x86_64 platform.
> > +	  If unsure say Y.
> > +
> >  source "sound/core/Kconfig"
> >
> >  source "sound/drivers/Kconfig"
> > --
> > 1.9.1
> >

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] ALSA: Kconfig: add config menu for reduced memory footprint
  2015-05-26 12:32     ` Jie, Yang
@ 2015-05-26 12:39       ` Takashi Iwai
  2015-05-26 12:50         ` Jie, Yang
  0 siblings, 1 reply; 7+ messages in thread
From: Takashi Iwai @ 2015-05-26 12:39 UTC (permalink / raw)
  To: Jie, Yang
  Cc: Zhang, Vivian, alsa-devel, broonie, linux-kernel, Girdwood, Liam R

At Tue, 26 May 2015 12:32:43 +0000,
Jie, Yang wrote:
> 
> > -----Original Message-----
> > From: Takashi Iwai [mailto:tiwai@suse.de]
> > Sent: Tuesday, May 26, 2015 7:05 PM
> > To: Jie, Yang
> > Cc: broonie@kernel.org; alsa-devel@alsa-project.org; linux-
> > kernel@vger.kernel.org; Girdwood, Liam R; Zhang, Vivian
> > Subject: Re: [PATCH 1/2] ALSA: Kconfig: add config menu for reduced
> > memory footprint
> > 
> > At Tue, 26 May 2015 19:04:24 +0800,
> > Jie Yang wrote:
> > >
> > > For some embedded devices, we need reduce code size and data footprint
> > > as much as possible, e.g. disabling procfs, hw/sw params refinement,
> > > mmap, dpcm, dapm, compressed API...
> > >
> > > Here add root config menu for those configuration, and disable procfs
> > > once reduced memory footprint is selected.
> > >
> > > Signed-off-by: Jie Yang <yang.jie@intel.com>
> > > ---
> > >  sound/Kconfig | 16 ++++++++++++++++
> > >  1 file changed, 16 insertions(+)
> > >
> > > diff --git a/sound/Kconfig b/sound/Kconfig index 5a240e0..6760dfa
> > > 100644
> > > --- a/sound/Kconfig
> > > +++ b/sound/Kconfig
> > > @@ -68,6 +68,22 @@ menuconfig SND
> > >
> > >  if SND
> > >
> > > +menuconfig SND_REDUCED_MEMORY_FOOTPRINT
> > > +	bool "Reduced Memory Footprint Support"
> > > +	default n
> > > +	help
> > > +	  Say 'Y' to enable Reduced Memory Footprint Support, which may
> > > +	  reduce code size and data footprint as much as possible.
> > 
> > I'd like to move this into sound/core.
> > Also, the kconfig name appears a bit too lengthy to me.
> > 
> > > +config SND_PROC_FS
> > > +	bool "Sound Proc FS Support"
> > > +	depends on PROC_FS && !SND_REDUCED_MEMORY_FOOTPRINT
> > 
> > This should be
> > 	bool "Sound Proc FS Support"
> > if !SND_REDUCED_MEMORY_FOOTPRINT
> > 	depends on PROC_FS
> > 
> > In this way, this prompt would appear only when
> > SND_REDUCED_MEMORY_FOOTPRINT is set, i.e. only for experts.
>  
> Takashi, I tested and found same for these two way, the prompt will
> appear only when PROC_FS=y and SND_REDUCED_MEMORY_FOOTPRINT
> is *not* set. BTW, seems here we should use without '!'?
> 
>  	bool "Sound Proc FS Support" if SND_REDUCED_MEMORY_FOOTPRINT

Yes.  It was my typo.  An expression 'type "prompt" if xxx' means that
the prompt appears only if xxx is true.


Takashi

>  	depends on PROC_FS
> 
> ~Keyon
> > 
> > 
> > thanks,
> > 
> > Takashi
> > 
> > > +	default y
> > > +	help
> > > +	  Say 'N' to disable Sound proc FS, which may reduce code size about
> > > +	  9KB on x86_64 platform.
> > > +	  If unsure say Y.
> > > +
> > >  source "sound/core/Kconfig"
> > >
> > >  source "sound/drivers/Kconfig"
> > > --
> > > 1.9.1
> > >
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] ALSA: Kconfig: add config menu for reduced memory footprint
  2015-05-26 12:39       ` Takashi Iwai
@ 2015-05-26 12:50         ` Jie, Yang
  0 siblings, 0 replies; 7+ messages in thread
From: Jie, Yang @ 2015-05-26 12:50 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Zhang, Vivian, alsa-devel, broonie, linux-kernel, Girdwood, Liam R

> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai@suse.de]
> Sent: Tuesday, May 26, 2015 8:39 PM
> To: Jie, Yang
> Cc: broonie@kernel.org; alsa-devel@alsa-project.org; linux-
> kernel@vger.kernel.org; Girdwood, Liam R; Zhang, Vivian
> Subject: Re: [PATCH 1/2] ALSA: Kconfig: add config menu for reduced
> memory footprint
> 
> At Tue, 26 May 2015 12:32:43 +0000,
> Jie, Yang wrote:
> >
> > > -----Original Message-----
> > > From: Takashi Iwai [mailto:tiwai@suse.de]
> > > Sent: Tuesday, May 26, 2015 7:05 PM
> > > To: Jie, Yang
> > > Cc: broonie@kernel.org; alsa-devel@alsa-project.org; linux-
> > > kernel@vger.kernel.org; Girdwood, Liam R; Zhang, Vivian
> > > Subject: Re: [PATCH 1/2] ALSA: Kconfig: add config menu for reduced
> > > memory footprint
> > >
> > > At Tue, 26 May 2015 19:04:24 +0800,
> > > Jie Yang wrote:
> > > >
> > > > For some embedded devices, we need reduce code size and data
> > > > footprint as much as possible, e.g. disabling procfs, hw/sw params
> > > > refinement, mmap, dpcm, dapm, compressed API...
> > > >
> > > > Here add root config menu for those configuration, and disable
> > > > procfs once reduced memory footprint is selected.
> > > >
> > > > Signed-off-by: Jie Yang <yang.jie@intel.com>
> > > > ---
> > > >  sound/Kconfig | 16 ++++++++++++++++
> > > >  1 file changed, 16 insertions(+)
> > > >
> > > > diff --git a/sound/Kconfig b/sound/Kconfig index 5a240e0..6760dfa
> > > > 100644
> > > > --- a/sound/Kconfig
> > > > +++ b/sound/Kconfig
> > > > @@ -68,6 +68,22 @@ menuconfig SND
> > > >
> > > >  if SND
> > > >
> > > > +menuconfig SND_REDUCED_MEMORY_FOOTPRINT
> > > > +	bool "Reduced Memory Footprint Support"
> > > > +	default n
> > > > +	help
> > > > +	  Say 'Y' to enable Reduced Memory Footprint Support, which may
> > > > +	  reduce code size and data footprint as much as possible.
> > >
> > > I'd like to move this into sound/core.
> > > Also, the kconfig name appears a bit too lengthy to me.
> > >
> > > > +config SND_PROC_FS
> > > > +	bool "Sound Proc FS Support"
> > > > +	depends on PROC_FS && !SND_REDUCED_MEMORY_FOOTPRINT
> > >
> > > This should be
> > > 	bool "Sound Proc FS Support"
> > > if !SND_REDUCED_MEMORY_FOOTPRINT
> > > 	depends on PROC_FS
> > >
> > > In this way, this prompt would appear only when
> > > SND_REDUCED_MEMORY_FOOTPRINT is set, i.e. only for experts.
> >
> > Takashi, I tested and found same for these two way, the prompt will
> > appear only when PROC_FS=y and SND_REDUCED_MEMORY_FOOTPRINT
> is *not*
> > set. BTW, seems here we should use without '!'?
> >
> >  	bool "Sound Proc FS Support" if
> SND_REDUCED_MEMORY_FOOTPRINT
> 
> Yes.  It was my typo.  An expression 'type "prompt" if xxx' means that the
> prompt appears only if xxx is true.
 
Got it, thanks. Will update and resend the patch soon.

~Keyon

> 
> 
> Takashi
> 
> >  	depends on PROC_FS
> >
> > ~Keyon
> > >
> > >
> > > thanks,
> > >
> > > Takashi
> > >
> > > > +	default y
> > > > +	help
> > > > +	  Say 'N' to disable Sound proc FS, which may reduce code size about
> > > > +	  9KB on x86_64 platform.
> > > > +	  If unsure say Y.
> > > > +
> > > >  source "sound/core/Kconfig"
> > > >
> > > >  source "sound/drivers/Kconfig"
> > > > --
> > > > 1.9.1
> > > >
> >

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-05-26 12:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-26 11:04 [PATCH 0/2] reducing memory footprint of ALSA Jie Yang
2015-05-26 11:04 ` [PATCH 1/2] ALSA: Kconfig: add config menu for reduced memory footprint Jie Yang
2015-05-26 11:04   ` Takashi Iwai
2015-05-26 12:32     ` Jie, Yang
2015-05-26 12:39       ` Takashi Iwai
2015-05-26 12:50         ` Jie, Yang
2015-05-26 11:04 ` [PATCH 2/2] ALSA: set no sound proc fs " Jie Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).