[ALSA] AK4114 - listing regs in proc

A simple patch for listing AK4114 regs in proc.

Signed-off-by: Pavel Hofman <dustin@seznam.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Pavel Hofman 2008-02-11 14:48:06 +01:00 committed by Takashi Iwai
parent aa27a44395
commit fdafad6fc2
1 changed files with 22 additions and 0 deletions

View File

@ -27,6 +27,7 @@
#include <sound/pcm.h> #include <sound/pcm.h>
#include <sound/ak4114.h> #include <sound/ak4114.h>
#include <sound/asoundef.h> #include <sound/asoundef.h>
#include <sound/info.h>
MODULE_AUTHOR("Jaroslav Kysela <perex@perex.cz>"); MODULE_AUTHOR("Jaroslav Kysela <perex@perex.cz>");
MODULE_DESCRIPTION("AK4114 IEC958 (S/PDIF) receiver by Asahi Kasei"); MODULE_DESCRIPTION("AK4114 IEC958 (S/PDIF) receiver by Asahi Kasei");
@ -446,6 +447,26 @@ static struct snd_kcontrol_new snd_ak4114_iec958_controls[] = {
} }
}; };
static void snd_ak4114_proc_regs_read(struct snd_info_entry *entry,
struct snd_info_buffer *buffer)
{
struct ak4114 *ak4114 = entry->private_data;
int reg, val;
/* all ak4114 registers 0x00 - 0x1f */
for (reg = 0; reg < 0x20; reg++) {
val = reg_read(ak4114, reg);
snd_iprintf(buffer, "0x%02x = 0x%02x\n", reg, val);
}
}
static void snd_ak4114_proc_init(struct ak4114 *ak4114)
{
struct snd_info_entry *entry;
if (!snd_card_proc_new(ak4114->card, "ak4114", &entry))
snd_info_set_text_ops(entry, ak4114, snd_ak4114_proc_regs_read);
}
int snd_ak4114_build(struct ak4114 *ak4114, int snd_ak4114_build(struct ak4114 *ak4114,
struct snd_pcm_substream *ply_substream, struct snd_pcm_substream *ply_substream,
struct snd_pcm_substream *cap_substream) struct snd_pcm_substream *cap_substream)
@ -478,6 +499,7 @@ int snd_ak4114_build(struct ak4114 *ak4114,
return err; return err;
ak4114->kctls[idx] = kctl; ak4114->kctls[idx] = kctl;
} }
snd_ak4114_proc_init(ak4114);
/* trigger workq */ /* trigger workq */
schedule_delayed_work(&ak4114->work, HZ / 10); schedule_delayed_work(&ak4114->work, HZ / 10);
return 0; return 0;