* [PATCH v3 0/2] reducing memory footprint of ALSA
@ 2015-05-27 9:10 Jie Yang
2015-05-27 9:10 ` [PATCH v3 1/2] ALSA: Kconfig: add config item SND_PROC_FS for expert Jie Yang
2015-05-27 9:10 ` [PATCH v3 2/2] ALSA: replace CONFIG_PROC_FS with CONFIG_SND_PROC_FS Jie Yang
0 siblings, 2 replies; 5+ messages in thread
From: Jie Yang @ 2015-05-27 9:10 UTC (permalink / raw)
To: tiwai, broonie
Cc: alsa-devel, linux-kernel, liam.r.girdwood, yang.jie, vivian.zhang
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...
We plan to enable those reducing items only for EXPERT, and
add knobs in sound/core/Kconfig.
These first two patches is a start, adding SND_PROC_FS to config
disable/enable ALSA proc FS, this disabling can save about 9KB
code size on x86_64 platform.
Changes in v3:
1. drop SND_REDUCED_MEMORY_FOOTPRINT and make configuration
available only for EXPERT;
2. move the configure into sound/core/Kconfig;
3. Add missing Signed-off-by for PATCH 2/2.
Changes in v2:
1. Prompt "Sound Proc FS Support" appears only when
SND_REDUCED_MEMORY_FOOTPRINT is true.
Jie Yang (2):
ALSA: Kconfig: add config item SND_PROC_FS for expert
ALSA: replace CONFIG_PROC_FS with CONFIG_SND_PROC_FS
include/sound/info.h | 8 ++++----
sound/core/Kconfig | 9 +++++++++
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, 61 insertions(+), 52 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v3 1/2] ALSA: Kconfig: add config item SND_PROC_FS for expert
2015-05-27 9:10 [PATCH v3 0/2] reducing memory footprint of ALSA Jie Yang
@ 2015-05-27 9:10 ` Jie Yang
2015-05-27 9:55 ` Takashi Iwai
2015-05-27 9:10 ` [PATCH v3 2/2] ALSA: replace CONFIG_PROC_FS with CONFIG_SND_PROC_FS Jie Yang
1 sibling, 1 reply; 5+ messages in thread
From: Jie Yang @ 2015-05-27 9:10 UTC (permalink / raw)
To: tiwai, broonie
Cc: alsa-devel, linux-kernel, liam.r.girdwood, yang.jie, vivian.zhang
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 SND_PROC_FS item for expert, we can unselect it to
disable sound proc FS and reduce memory footprint.
Signed-off-by: Jie Yang <yang.jie@intel.com>
---
sound/core/Kconfig | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/sound/core/Kconfig b/sound/core/Kconfig
index 63cc2e9..4542554 100644
--- a/sound/core/Kconfig
+++ b/sound/core/Kconfig
@@ -225,4 +225,13 @@ config SND_DMA_SGBUF
def_bool y
depends on X86
+config SND_PROC_FS
+ bool "Sound Proc FS Support" if EXPERT
+ depends on PROC_FS
+ 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/seq/Kconfig"
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v3 2/2] ALSA: replace CONFIG_PROC_FS with CONFIG_SND_PROC_FS
2015-05-27 9:10 [PATCH v3 0/2] reducing memory footprint of ALSA Jie Yang
2015-05-27 9:10 ` [PATCH v3 1/2] ALSA: Kconfig: add config item SND_PROC_FS for expert Jie Yang
@ 2015-05-27 9:10 ` Jie Yang
1 sibling, 0 replies; 5+ messages in thread
From: Jie Yang @ 2015-05-27 9:10 UTC (permalink / raw)
To: tiwai, broonie
Cc: alsa-devel, linux-kernel, liam.r.girdwood, yang.jie, vivian.zhang
We may disable proc fs only for sound part, to reduce ALSA
memory footprint. So add CONFIG_SND_PROC_FS and replace the
old CONFIG_PROC_FSs in alsa code.
With sound proc fs disabled, we can save about 9KB memory
size on X86_64 platform.
Signed-off-by: Jie Yang <yang.jie@intel.com>
---
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] 5+ messages in thread
* Re: [PATCH v3 1/2] ALSA: Kconfig: add config item SND_PROC_FS for expert
2015-05-27 9:10 ` [PATCH v3 1/2] ALSA: Kconfig: add config item SND_PROC_FS for expert Jie Yang
@ 2015-05-27 9:55 ` Takashi Iwai
2015-05-27 11:10 ` Jie, Yang
0 siblings, 1 reply; 5+ messages in thread
From: Takashi Iwai @ 2015-05-27 9:55 UTC (permalink / raw)
To: Jie Yang; +Cc: broonie, alsa-devel, linux-kernel, liam.r.girdwood, vivian.zhang
At Wed, 27 May 2015 17:10:17 +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 SND_PROC_FS item for expert, we can unselect it to
> disable sound proc FS and reduce memory footprint.
>
> Signed-off-by: Jie Yang <yang.jie@intel.com>
> ---
> sound/core/Kconfig | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/sound/core/Kconfig b/sound/core/Kconfig
> index 63cc2e9..4542554 100644
> --- a/sound/core/Kconfig
> +++ b/sound/core/Kconfig
> @@ -225,4 +225,13 @@ config SND_DMA_SGBUF
> def_bool y
> depends on X86
>
> +config SND_PROC_FS
> + bool "Sound Proc FS Support" if EXPERT
> + depends on PROC_FS
> + 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/seq/Kconfig"
There is SND_VERBOSE_PROCFS that also depends on PROC_FS.
You should change it as well to depend on SND_PROC_FS.
Takashi
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH v3 1/2] ALSA: Kconfig: add config item SND_PROC_FS for expert
2015-05-27 9:55 ` Takashi Iwai
@ 2015-05-27 11:10 ` Jie, Yang
0 siblings, 0 replies; 5+ messages in thread
From: Jie, Yang @ 2015-05-27 11:10 UTC (permalink / raw)
To: Takashi Iwai
Cc: broonie, alsa-devel, linux-kernel, Girdwood, Liam R, Zhang, Vivian
> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai@suse.de]
> Sent: Wednesday, May 27, 2015 5:56 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 v3 1/2] ALSA: Kconfig: add config item SND_PROC_FS for
> expert
>
> At Wed, 27 May 2015 17:10:17 +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 SND_PROC_FS item for expert, we can unselect it to disable
> > sound proc FS and reduce memory footprint.
> >
> > Signed-off-by: Jie Yang <yang.jie@intel.com>
> > ---
> > sound/core/Kconfig | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/sound/core/Kconfig b/sound/core/Kconfig index
> > 63cc2e9..4542554 100644
> > --- a/sound/core/Kconfig
> > +++ b/sound/core/Kconfig
> > @@ -225,4 +225,13 @@ config SND_DMA_SGBUF
> > def_bool y
> > depends on X86
> >
> > +config SND_PROC_FS
> > + bool "Sound Proc FS Support" if EXPERT
> > + depends on PROC_FS
> > + 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/seq/Kconfig"
>
> There is SND_VERBOSE_PROCFS that also depends on PROC_FS.
> You should change it as well to depend on SND_PROC_FS.
OK, will change it also.
~Keyon
>
>
> Takashi
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-05-27 11:12 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-27 9:10 [PATCH v3 0/2] reducing memory footprint of ALSA Jie Yang
2015-05-27 9:10 ` [PATCH v3 1/2] ALSA: Kconfig: add config item SND_PROC_FS for expert Jie Yang
2015-05-27 9:55 ` Takashi Iwai
2015-05-27 11:10 ` Jie, Yang
2015-05-27 9:10 ` [PATCH v3 2/2] ALSA: replace CONFIG_PROC_FS with CONFIG_SND_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).