diff options
Diffstat (limited to 'drivers/staging/intel_sst/intel_sst.h')
-rw-r--r-- | drivers/staging/intel_sst/intel_sst.h | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/drivers/staging/intel_sst/intel_sst.h b/drivers/staging/intel_sst/intel_sst.h index cb03ff7d1a21..4ad2829105a7 100644 --- a/drivers/staging/intel_sst/intel_sst.h +++ b/drivers/staging/intel_sst/intel_sst.h @@ -30,9 +30,11 @@ * This file is shared between the SST and MAD drivers */ #include "intel_sst_ioctl.h" +#include <sound/jack.h> #define SST_CARD_NAMES "intel_mid_card" +#define MFLD_MAX_HW_CH 4 /* control list Pmic & Lpe */ /* Input controls */ enum port_status { @@ -82,12 +84,16 @@ struct snd_pmic_ops { int num_channel; int input_dev_id; int mute_status; - int pb_on; + struct mutex lock; + int pb_on, pbhs_on; int cap_on; int output_dev_id; + int lineout_dev_id, line_out_names_cnt; + int prev_lineout_dev_id; + bool jack_interrupt_status; int (*set_input_dev) (u8 value); int (*set_output_dev) (u8 value); - + int (*set_lineout_dev) (u8 value); int (*set_mute) (int dev_id, u8 value); int (*get_mute) (int dev_id, u8 *value); @@ -103,11 +109,30 @@ struct snd_pmic_ops { int (*power_up_pmic_pb) (unsigned int port); int (*power_up_pmic_cp) (unsigned int port); - int (*power_down_pmic_pb) (void); - int (*power_down_pmic_cp) (void); + int (*power_down_pmic_pb) (unsigned int device); + int (*power_down_pmic_cp) (unsigned int device); int (*power_down_pmic) (void); + void (*pmic_irq_cb) (void *cb_data, u8 value); + void (*pmic_irq_enable)(void *data); + int (*pmic_jack_enable) (void); + int (*pmic_get_mic_bias)(void *intelmaddata); + int (*pmic_set_headset_state)(int state); + + unsigned int hw_dmic_map[MFLD_MAX_HW_CH]; + unsigned int available_dmics; + int (*set_hw_dmic_route) (u8 index); + + int gpio_amp; }; +extern void sst_mad_send_jack_report(struct snd_jack *jack, + int buttonpressevent, + int status); + + +int intemad_set_headset_state(int state); +int intelmad_get_mic_bias(void); + struct intel_sst_pcm_control { int (*open) (struct snd_sst_params *str_param); int (*device_control) (int cmd, void *arg); |