diff options
-rw-r--r-- | sound/i2c/other/ak4114.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/sound/i2c/other/ak4114.c b/sound/i2c/other/ak4114.c index 15061bd72776..9a90e830c423 100644 --- a/sound/i2c/other/ak4114.c +++ b/sound/i2c/other/ak4114.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <sound/pcm.h> | 27 | #include <sound/pcm.h> |
28 | #include <sound/ak4114.h> | 28 | #include <sound/ak4114.h> |
29 | #include <sound/asoundef.h> | 29 | #include <sound/asoundef.h> |
30 | #include <sound/info.h> | ||
30 | 31 | ||
31 | MODULE_AUTHOR("Jaroslav Kysela <perex@perex.cz>"); | 32 | MODULE_AUTHOR("Jaroslav Kysela <perex@perex.cz>"); |
32 | MODULE_DESCRIPTION("AK4114 IEC958 (S/PDIF) receiver by Asahi Kasei"); | 33 | MODULE_DESCRIPTION("AK4114 IEC958 (S/PDIF) receiver by Asahi Kasei"); |
@@ -446,6 +447,26 @@ static struct snd_kcontrol_new snd_ak4114_iec958_controls[] = { | |||
446 | } | 447 | } |
447 | }; | 448 | }; |
448 | 449 | ||
450 | |||
451 | static void snd_ak4114_proc_regs_read(struct snd_info_entry *entry, | ||
452 | struct snd_info_buffer *buffer) | ||
453 | { | ||
454 | struct ak4114 *ak4114 = entry->private_data; | ||
455 | int reg, val; | ||
456 | /* all ak4114 registers 0x00 - 0x1f */ | ||
457 | for (reg = 0; reg < 0x20; reg++) { | ||
458 | val = reg_read(ak4114, reg); | ||
459 | snd_iprintf(buffer, "0x%02x = 0x%02x\n", reg, val); | ||
460 | } | ||
461 | } | ||
462 | |||
463 | static void snd_ak4114_proc_init(struct ak4114 *ak4114) | ||
464 | { | ||
465 | struct snd_info_entry *entry; | ||
466 | if (!snd_card_proc_new(ak4114->card, "ak4114", &entry)) | ||
467 | snd_info_set_text_ops(entry, ak4114, snd_ak4114_proc_regs_read); | ||
468 | } | ||
469 | |||
449 | int snd_ak4114_build(struct ak4114 *ak4114, | 470 | int snd_ak4114_build(struct ak4114 *ak4114, |
450 | struct snd_pcm_substream *ply_substream, | 471 | struct snd_pcm_substream *ply_substream, |
451 | struct snd_pcm_substream *cap_substream) | 472 | struct snd_pcm_substream *cap_substream) |
@@ -478,6 +499,7 @@ int snd_ak4114_build(struct ak4114 *ak4114, | |||
478 | return err; | 499 | return err; |
479 | ak4114->kctls[idx] = kctl; | 500 | ak4114->kctls[idx] = kctl; |
480 | } | 501 | } |
502 | snd_ak4114_proc_init(ak4114); | ||
481 | /* trigger workq */ | 503 | /* trigger workq */ |
482 | schedule_delayed_work(&ak4114->work, HZ / 10); | 504 | schedule_delayed_work(&ak4114->work, HZ / 10); |
483 | return 0; | 505 | return 0; |