diff options
Diffstat (limited to 'sound/pci/hda/hda_codec.h')
-rw-r--r-- | sound/pci/hda/hda_codec.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h index 62c702240108..59c97306c1de 100644 --- a/sound/pci/hda/hda_codec.h +++ b/sound/pci/hda/hda_codec.h | |||
@@ -825,12 +825,14 @@ struct hda_codec { | |||
825 | struct hda_cache_rec amp_cache; /* cache for amp access */ | 825 | struct hda_cache_rec amp_cache; /* cache for amp access */ |
826 | struct hda_cache_rec cmd_cache; /* cache for other commands */ | 826 | struct hda_cache_rec cmd_cache; /* cache for other commands */ |
827 | 827 | ||
828 | struct snd_array conn_lists; /* connection-list array */ | ||
829 | |||
828 | struct mutex spdif_mutex; | 830 | struct mutex spdif_mutex; |
829 | struct mutex control_mutex; | 831 | struct mutex control_mutex; |
830 | unsigned int spdif_status; /* IEC958 status bits */ | 832 | unsigned int spdif_status; /* IEC958 status bits */ |
831 | unsigned short spdif_ctls; /* SPDIF control bits */ | 833 | unsigned short spdif_ctls; /* SPDIF control bits */ |
832 | unsigned int spdif_in_enable; /* SPDIF input enable? */ | 834 | unsigned int spdif_in_enable; /* SPDIF input enable? */ |
833 | hda_nid_t *slave_dig_outs; /* optional digital out slave widgets */ | 835 | const hda_nid_t *slave_dig_outs; /* optional digital out slave widgets */ |
834 | struct snd_array init_pins; /* initial (BIOS) pin configurations */ | 836 | struct snd_array init_pins; /* initial (BIOS) pin configurations */ |
835 | struct snd_array driver_pins; /* pin configs set by codec parser */ | 837 | struct snd_array driver_pins; /* pin configs set by codec parser */ |
836 | struct snd_array cvt_setups; /* audio convert setups */ | 838 | struct snd_array cvt_setups; /* audio convert setups */ |
@@ -850,6 +852,7 @@ struct hda_codec { | |||
850 | unsigned int pin_amp_workaround:1; /* pin out-amp takes index | 852 | unsigned int pin_amp_workaround:1; /* pin out-amp takes index |
851 | * (e.g. Conexant codecs) | 853 | * (e.g. Conexant codecs) |
852 | */ | 854 | */ |
855 | unsigned int no_sticky_stream:1; /* no sticky-PCM stream assignment */ | ||
853 | unsigned int pins_shutup:1; /* pins are shut up */ | 856 | unsigned int pins_shutup:1; /* pins are shut up */ |
854 | unsigned int no_trigger_sense:1; /* don't trigger at pin-sensing */ | 857 | unsigned int no_trigger_sense:1; /* don't trigger at pin-sensing */ |
855 | #ifdef CONFIG_SND_HDA_POWER_SAVE | 858 | #ifdef CONFIG_SND_HDA_POWER_SAVE |
@@ -865,6 +868,11 @@ struct hda_codec { | |||
865 | /* codec-specific additional proc output */ | 868 | /* codec-specific additional proc output */ |
866 | void (*proc_widget_hook)(struct snd_info_buffer *buffer, | 869 | void (*proc_widget_hook)(struct snd_info_buffer *buffer, |
867 | struct hda_codec *codec, hda_nid_t nid); | 870 | struct hda_codec *codec, hda_nid_t nid); |
871 | |||
872 | #ifdef CONFIG_SND_HDA_INPUT_JACK | ||
873 | /* jack detection */ | ||
874 | struct snd_array jacks; | ||
875 | #endif | ||
868 | }; | 876 | }; |
869 | 877 | ||
870 | /* direction */ | 878 | /* direction */ |
@@ -989,6 +997,18 @@ int snd_hda_suspend(struct hda_bus *bus); | |||
989 | int snd_hda_resume(struct hda_bus *bus); | 997 | int snd_hda_resume(struct hda_bus *bus); |
990 | #endif | 998 | #endif |
991 | 999 | ||
1000 | #ifdef CONFIG_SND_HDA_POWER_SAVE | ||
1001 | static inline | ||
1002 | int hda_call_check_power_status(struct hda_codec *codec, hda_nid_t nid) | ||
1003 | { | ||
1004 | if (codec->patch_ops.check_power_status) | ||
1005 | return codec->patch_ops.check_power_status(codec, nid); | ||
1006 | return 0; | ||
1007 | } | ||
1008 | #else | ||
1009 | #define hda_call_check_power_status(codec, nid) 0 | ||
1010 | #endif | ||
1011 | |||
992 | /* | 1012 | /* |
993 | * get widget information | 1013 | * get widget information |
994 | */ | 1014 | */ |