diff options
author | Wu Fengguang <wfg@linux.intel.com> | 2008-11-19 02:14:02 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-11-19 03:42:30 -0500 |
commit | d39b4352f2356bde9d4dae8591d4c8022360922f (patch) | |
tree | 366adb79cec9aad126037d113686948c0b7696ac /sound/pci/hda/hda_proc.c | |
parent | 06f69d17a90ced7d74ff12ce69b7b101aed4ffd9 (diff) |
ALSA: hda: make global snd_print_pcm_bits()
Introduce a global function snd_print_pcm_bits() and use it in the ELD code.
Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_proc.c')
-rw-r--r-- | sound/pci/hda/hda_proc.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/sound/pci/hda/hda_proc.c b/sound/pci/hda/hda_proc.c index 512eb674b743..d956e9769133 100644 --- a/sound/pci/hda/hda_proc.c +++ b/sound/pci/hda/hda_proc.c | |||
@@ -107,23 +107,33 @@ void snd_print_pcm_rates(int pcm, char *buf, int buflen) | |||
107 | static void print_pcm_rates(struct snd_info_buffer *buffer, unsigned int pcm) | 107 | static void print_pcm_rates(struct snd_info_buffer *buffer, unsigned int pcm) |
108 | { | 108 | { |
109 | char buf[SND_PRINT_RATES_ADVISED_BUFSIZE]; | 109 | char buf[SND_PRINT_RATES_ADVISED_BUFSIZE]; |
110 | |||
110 | pcm &= AC_SUPPCM_RATES; | 111 | pcm &= AC_SUPPCM_RATES; |
111 | snd_iprintf(buffer, " rates [0x%x]:", pcm); | 112 | snd_iprintf(buffer, " rates [0x%x]:", pcm); |
112 | snd_print_pcm_rates(pcm, buf, sizeof(buf)); | 113 | snd_print_pcm_rates(pcm, buf, sizeof(buf)); |
113 | snd_iprintf(buffer, "%s\n", buf); | 114 | snd_iprintf(buffer, "%s\n", buf); |
114 | } | 115 | } |
115 | 116 | ||
116 | static void print_pcm_bits(struct snd_info_buffer *buffer, unsigned int pcm) | 117 | void snd_print_pcm_bits(int pcm, char *buf, int buflen) |
117 | { | 118 | { |
118 | static unsigned int bits[] = { 8, 16, 20, 24, 32 }; | 119 | static unsigned int bits[] = { 8, 16, 20, 24, 32 }; |
119 | int i; | 120 | int i, j; |
121 | |||
122 | for (i = 0, j = 0; i < ARRAY_SIZE(bits); i++) | ||
123 | if (pcm & (1 << i)) | ||
124 | j += snprintf(buf + j, buflen - j, " %d", bits[i]); | ||
125 | |||
126 | buf[j] = '\0'; /* necessary when j == 0 */ | ||
127 | } | ||
128 | |||
129 | static void print_pcm_bits(struct snd_info_buffer *buffer, unsigned int pcm) | ||
130 | { | ||
131 | char buf[SND_PRINT_BITS_ADVISED_BUFSIZE]; | ||
120 | 132 | ||
121 | pcm = (pcm >> 16) & 0xff; | 133 | pcm = (pcm >> 16) & 0xff; |
122 | snd_iprintf(buffer, " bits [0x%x]:", pcm); | 134 | snd_iprintf(buffer, " bits [0x%x]:", pcm); |
123 | for (i = 0; i < ARRAY_SIZE(bits); i++) | 135 | snd_print_pcm_bits(pcm, buf, sizeof(buf)); |
124 | if (pcm & (1 << i)) | 136 | snd_iprintf(buffer, "%s\n", buf); |
125 | snd_iprintf(buffer, " %d", bits[i]); | ||
126 | snd_iprintf(buffer, "\n"); | ||
127 | } | 137 | } |
128 | 138 | ||
129 | static void print_pcm_formats(struct snd_info_buffer *buffer, | 139 | static void print_pcm_formats(struct snd_info_buffer *buffer, |