aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-10-26 17:51:48 -0400
committerTakashi Iwai <tiwai@suse.de>2011-10-26 17:51:48 -0400
commit9430148d800dd929ad73da4c6afb67f793f8af43 (patch)
tree437d0aec41428cbb310a202100ba581c63fbe89e /include/sound
parentd22665702226e9c40bc331098559e3d55e7cd43d (diff)
parent88e24c3a4b30a6bd361f2b5ce602667a8161b2e8 (diff)
Merge branch 'topic/remove-irqf_disable' into for-linus
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/adau1373.h34
-rw-r--r--include/sound/initval.h2
-rw-r--r--include/sound/saif.h16
-rw-r--r--include/sound/soc-dapm.h2
-rw-r--r--include/sound/soc.h16
5 files changed, 66 insertions, 4 deletions
diff --git a/include/sound/adau1373.h b/include/sound/adau1373.h
new file mode 100644
index 000000000000..1b19c7666574
--- /dev/null
+++ b/include/sound/adau1373.h
@@ -0,0 +1,34 @@
1/*
2 * Analog Devices ADAU1373 Audio Codec drive
3 *
4 * Copyright 2011 Analog Devices Inc.
5 * Author: Lars-Peter Clausen <lars@metafoo.de>
6 *
7 * Licensed under the GPL-2 or later.
8 */
9
10#ifndef __SOUND_ADAU1373_H__
11#define __SOUND_ADAU1373_H__
12
13enum adau1373_micbias_voltage {
14 ADAU1373_MICBIAS_2_9V = 0,
15 ADAU1373_MICBIAS_2_2V = 1,
16 ADAU1373_MICBIAS_2_6V = 2,
17 ADAU1373_MICBIAS_1_8V = 3,
18};
19
20#define ADAU1373_DRC_SIZE 13
21
22struct adau1373_platform_data {
23 bool input_differential[4];
24 bool lineout_differential;
25 bool lineout_ground_sense;
26
27 unsigned int num_drc;
28 uint8_t drc_setting[3][ADAU1373_DRC_SIZE];
29
30 enum adau1373_micbias_voltage micbias1;
31 enum adau1373_micbias_voltage micbias2;
32};
33
34#endif
diff --git a/include/sound/initval.h b/include/sound/initval.h
index 1daa6dff8297..f99a0d2ddfe7 100644
--- a/include/sound/initval.h
+++ b/include/sound/initval.h
@@ -62,7 +62,7 @@ static int snd_legacy_find_free_irq(int *irq_table)
62{ 62{
63 while (*irq_table != -1) { 63 while (*irq_table != -1) {
64 if (!request_irq(*irq_table, snd_legacy_empty_irq_handler, 64 if (!request_irq(*irq_table, snd_legacy_empty_irq_handler,
65 IRQF_DISABLED | IRQF_PROBE_SHARED, "ALSA Test IRQ", 65 IRQF_PROBE_SHARED, "ALSA Test IRQ",
66 (void *) irq_table)) { 66 (void *) irq_table)) {
67 free_irq(*irq_table, (void *) irq_table); 67 free_irq(*irq_table, (void *) irq_table);
68 return *irq_table; 68 return *irq_table;
diff --git a/include/sound/saif.h b/include/sound/saif.h
new file mode 100644
index 000000000000..d0e0de7984ec
--- /dev/null
+++ b/include/sound/saif.h
@@ -0,0 +1,16 @@
1/*
2 * Copyright 2011 Freescale Semiconductor, Inc. All Rights Reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#ifndef __SOUND_SAIF_H__
10#define __SOUND_SAIF_H__
11
12struct mxs_saif_platform_data {
13 int (*init) (void);
14 int (*get_master_id) (unsigned int saif_id);
15};
16#endif
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index e0583b7769cb..350b1b395cac 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -524,6 +524,8 @@ struct snd_soc_dapm_context {
524 enum snd_soc_bias_level target_bias_level; 524 enum snd_soc_bias_level target_bias_level;
525 struct list_head list; 525 struct list_head list;
526 526
527 int (*stream_event)(struct snd_soc_dapm_context *dapm, int event);
528
527#ifdef CONFIG_DEBUG_FS 529#ifdef CONFIG_DEBUG_FS
528 struct dentry *debugfs_dapm; 530 struct dentry *debugfs_dapm;
529#endif 531#endif
diff --git a/include/sound/soc.h b/include/sound/soc.h
index aa19f5a32ba8..24e17be38c19 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -19,6 +19,7 @@
19#include <linux/workqueue.h> 19#include <linux/workqueue.h>
20#include <linux/interrupt.h> 20#include <linux/interrupt.h>
21#include <linux/kernel.h> 21#include <linux/kernel.h>
22#include <linux/regmap.h>
22#include <sound/core.h> 23#include <sound/core.h>
23#include <sound/pcm.h> 24#include <sound/pcm.h>
24#include <sound/control.h> 25#include <sound/control.h>
@@ -260,6 +261,7 @@ extern struct snd_ac97_bus_ops soc_ac97_ops;
260enum snd_soc_control_type { 261enum snd_soc_control_type {
261 SND_SOC_I2C = 1, 262 SND_SOC_I2C = 1,
262 SND_SOC_SPI, 263 SND_SOC_SPI,
264 SND_SOC_REGMAP,
263}; 265};
264 266
265enum snd_soc_compress_type { 267enum snd_soc_compress_type {
@@ -274,7 +276,7 @@ enum snd_soc_pcm_subclass {
274}; 276};
275 277
276int snd_soc_codec_set_sysclk(struct snd_soc_codec *codec, int clk_id, 278int snd_soc_codec_set_sysclk(struct snd_soc_codec *codec, int clk_id,
277 unsigned int freq, int dir); 279 int source, unsigned int freq, int dir);
278int snd_soc_codec_set_pll(struct snd_soc_codec *codec, int pll_id, int source, 280int snd_soc_codec_set_pll(struct snd_soc_codec *codec, int pll_id, int source,
279 unsigned int freq_in, unsigned int freq_out); 281 unsigned int freq_in, unsigned int freq_out);
280 282
@@ -576,6 +578,7 @@ struct snd_soc_codec {
576 const void *reg_def_copy; 578 const void *reg_def_copy;
577 const struct snd_soc_cache_ops *cache_ops; 579 const struct snd_soc_cache_ops *cache_ops;
578 struct mutex cache_rw_mutex; 580 struct mutex cache_rw_mutex;
581 int val_bytes;
579 582
580 /* dapm */ 583 /* dapm */
581 struct snd_soc_dapm_context dapm; 584 struct snd_soc_dapm_context dapm;
@@ -607,7 +610,7 @@ struct snd_soc_codec_driver {
607 610
608 /* codec wide operations */ 611 /* codec wide operations */
609 int (*set_sysclk)(struct snd_soc_codec *codec, 612 int (*set_sysclk)(struct snd_soc_codec *codec,
610 int clk_id, unsigned int freq, int dir); 613 int clk_id, int source, unsigned int freq, int dir);
611 int (*set_pll)(struct snd_soc_codec *codec, int pll_id, int source, 614 int (*set_pll)(struct snd_soc_codec *codec, int pll_id, int source,
612 unsigned int freq_in, unsigned int freq_out); 615 unsigned int freq_in, unsigned int freq_out);
613 616
@@ -619,7 +622,7 @@ struct snd_soc_codec_driver {
619 int (*volatile_register)(struct snd_soc_codec *, unsigned int); 622 int (*volatile_register)(struct snd_soc_codec *, unsigned int);
620 int (*readable_register)(struct snd_soc_codec *, unsigned int); 623 int (*readable_register)(struct snd_soc_codec *, unsigned int);
621 int (*writable_register)(struct snd_soc_codec *, unsigned int); 624 int (*writable_register)(struct snd_soc_codec *, unsigned int);
622 short reg_cache_size; 625 unsigned int reg_cache_size;
623 short reg_cache_step; 626 short reg_cache_step;
624 short reg_word_size; 627 short reg_word_size;
625 const void *reg_cache_default; 628 const void *reg_cache_default;
@@ -630,10 +633,14 @@ struct snd_soc_codec_driver {
630 /* codec bias level */ 633 /* codec bias level */
631 int (*set_bias_level)(struct snd_soc_codec *, 634 int (*set_bias_level)(struct snd_soc_codec *,
632 enum snd_soc_bias_level level); 635 enum snd_soc_bias_level level);
636 bool idle_bias_off;
633 637
634 void (*seq_notifier)(struct snd_soc_dapm_context *, 638 void (*seq_notifier)(struct snd_soc_dapm_context *,
635 enum snd_soc_dapm_type, int); 639 enum snd_soc_dapm_type, int);
636 640
641 /* codec stream completion event */
642 int (*stream_event)(struct snd_soc_dapm_context *dapm, int event);
643
637 /* probe ordering - for components with runtime dependencies */ 644 /* probe ordering - for components with runtime dependencies */
638 int probe_order; 645 int probe_order;
639 int remove_order; 646 int remove_order;
@@ -669,6 +676,9 @@ struct snd_soc_platform_driver {
669 /* platform stream ops */ 676 /* platform stream ops */
670 struct snd_pcm_ops *ops; 677 struct snd_pcm_ops *ops;
671 678
679 /* platform stream completion event */
680 int (*stream_event)(struct snd_soc_dapm_context *dapm, int event);
681
672 /* probe ordering - for components with runtime dependencies */ 682 /* probe ordering - for components with runtime dependencies */
673 int probe_order; 683 int probe_order;
674 int remove_order; 684 int remove_order;