Home
last modified time | relevance | path

Searched refs:jack (Results 1 – 25 of 265) sorted by relevance

1234567891011

/linux-6.15/sound/pci/hda/
H A Dhda_jack.c167 if (!codec->bus->shutdown && jack->jack) in snd_hda_jack_tbl_disconnect()
181 if (!codec->bus->shutdown && jack->jack) in snd_hda_jack_tbl_clear()
279 if (jack && jack->phantom_jack) in snd_hda_jack_detect_state_mst()
486 if (!jack->jack || jack->block_report) in snd_hda_jack_report_sync()
491 snd_jack_report(jack->jack, state); in snd_hda_jack_report_sync()
493 snd_jack_report(jack->jack, in snd_hda_jack_report_sync()
552 if (jack->jack) in snd_hda_jack_add_kctl_mst()
572 jack->jack->private_data = jack; in snd_hda_jack_add_kctl_mst()
580 snd_jack_report(jack->jack, state ? jack->type : 0); in snd_hda_jack_add_kctl_mst()
690 cb->jack = jack; in call_jack_callback()
[all …]
/linux-6.15/sound/core/
H A Djack.c76 jack->private_free(jack); in snd_jack_dev_free()
80 kfree(jack->id); in snd_jack_dev_free()
81 kfree(jack); in snd_jack_dev_free()
93 snprintf(jack->name, sizeof(jack->name), "%s %s", in snd_jack_dev_register()
100 jack->input_dev->name = jack->name; in snd_jack_dev_register()
116 input_set_capability(jack->input_dev, EV_KEY, jack->key[i]); in snd_jack_dev_register()
137 jack = jack_kctl->jack; in snd_jack_inject_report()
151 input_report_key(jack->input_dev, jack->key[i], in snd_jack_inject_report()
422 jack_kctl->jack = jack; in snd_jack_kctl_add()
571 kfree(jack); in snd_jack_new()
[all …]
/linux-6.15/sound/soc/
H A Dsoc-jack.c39 if (!jack || !jack->jack) in snd_soc_jack_report()
43 dapm = &jack->card->dapm; in snd_soc_jack_report()
45 mutex_lock(&jack->mutex); in snd_soc_jack_report()
47 jack->status &= ~mask; in snd_soc_jack_report()
68 blocking_notifier_call_chain(&jack->notifier, jack->status, jack); in snd_soc_jack_report()
73 snd_jack_report(jack->jack, jack->status); in snd_soc_jack_report()
155 snd_jack_add_new_kctl(jack->jack, pins[i].pin, pins[i].mask); in snd_soc_jack_add_pins()
212 struct snd_soc_jack *jack = gpio->jack; in snd_soc_jack_gpio_detect() local
289 gpios[i].jack = NULL; in jack_free_gpios()
319 tbl->jack = jack; in snd_soc_jack_add_gpios()
[all …]
H A Dsoc-card.c33 struct snd_soc_jack *jack, bool initial_kctl) in jack_new() argument
35 mutex_init(&jack->mutex); in jack_new()
36 jack->card = card; in jack_new()
37 INIT_LIST_HEAD(&jack->pins); in jack_new()
38 INIT_LIST_HEAD(&jack->jack_zones); in jack_new()
39 BLOCKING_INIT_NOTIFIER_HEAD(&jack->notifier); in jack_new()
41 return snd_jack_new(card->snd_card, id, type, &jack->jack, initial_kctl, false); in jack_new()
60 struct snd_soc_jack *jack) in snd_soc_card_jack_new() argument
83 int type, struct snd_soc_jack *jack, in snd_soc_card_jack_new_pins() argument
89 ret = jack_new(card, id, type, jack, false); in snd_soc_card_jack_new_pins()
[all …]
/linux-6.15/include/sound/
H A Dsoc-jack.h70 struct snd_soc_jack *jack; member
82 struct snd_jack *jack; member
91 void snd_soc_jack_report(struct snd_soc_jack *jack, int status, int mask);
92 int snd_soc_jack_add_pins(struct snd_soc_jack *jack, int count,
94 void snd_soc_jack_notifier_register(struct snd_soc_jack *jack,
96 void snd_soc_jack_notifier_unregister(struct snd_soc_jack *jack,
98 int snd_soc_jack_add_zones(struct snd_soc_jack *jack, int count,
102 int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count,
105 struct snd_soc_jack *jack,
107 void snd_soc_jack_free_gpios(struct snd_soc_jack *jack, int count,
[all …]
H A Djack.h79 struct snd_jack **jack, bool initial_kctl, bool phantom_jack);
80 int snd_jack_add_new_kctl(struct snd_jack *jack, const char * name, int mask);
82 void snd_jack_set_parent(struct snd_jack *jack, struct device *parent);
83 int snd_jack_set_key(struct snd_jack *jack, enum snd_jack_types type,
86 void snd_jack_report(struct snd_jack *jack, int status);
90 struct snd_jack **jack, bool initial_kctl, bool phantom_jack) in snd_jack_new() argument
95 static inline int snd_jack_add_new_kctl(struct snd_jack *jack, const char * name, int mask) in snd_jack_add_new_kctl() argument
100 static inline void snd_jack_report(struct snd_jack *jack, int status) in snd_jack_report() argument
107 static inline void snd_jack_set_parent(struct snd_jack *jack, in snd_jack_set_parent() argument
112 static inline int snd_jack_set_key(struct snd_jack *jack, in snd_jack_set_key() argument
/linux-6.15/Documentation/sound/soc/
H A Djack.rst2 ASoC jack detection
6 the kernel side of which can be seen in include/sound/jack.h. ASoC
10 user visible jack. In embedded systems it is common for multiple
11 to be present on a single jack but handled by separate bits of
21 code providing jack reporting mechanisms.
27 headphone when the headphone jack status changes.
29 The jack - struct snd_soc_jack
34 machine driver and updated by jack detection methods.
47 connected via a jack).
61 CODEC integrated jack detection can be see in the WM8350 driver.
[all …]
/linux-6.15/Documentation/sound/designs/
H A Djack-controls.rst13 The old ALSA jack code only created input devices for each registered
14 jack. These jack input devices are not readable by userspace devices
17 The new jack code creates embedded jack kcontrols for each jack that
21 intelligently based on jack insertion or removal events.
26 Each jack will have a kcontrol list, so that we can create a kcontrol
27 and attach it to the jack, at jack creation stage. We can also add a
28 kcontrol to an existing jack, at anytime when required.
32 How to use jack kcontrols
39 if true, create a kcontrol and add it to the jack list.
44 jack and set initial_kctl to true to create an initial kcontrol with
[all …]
H A Djack-injection.rst8 Here jack injection means users could inject plugin or plugout events
14 jack or to some audio jacks, we don't need to physically access the
15 machine and plug/unplug physical devices to the audio jack.
17 In this design, an audio jack doesn't equal to a physical audio jack.
18 Sometimes a physical audio jack contains multi functions, and the
23 for this jack. The jack injection is implemented based on the
29 plugout events via ``jackin_inject`` and check the jack state via
30 ``status``, after we finish our test, we need to disable the jack
39 jack injection interface will be created as below:
141 - to enable jack injection:
[all …]
/linux-6.15/sound/soc/sdw_utils/
H A Dsoc_sdw_rt5682.c45 struct snd_soc_jack *jack; in asoc_sdw_rt5682_rtd_init() local
76 jack = &ctx->sdw_headset; in asoc_sdw_rt5682_rtd_init()
78 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_rt5682_rtd_init()
79 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_rt5682_rtd_init()
80 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in asoc_sdw_rt5682_rtd_init()
81 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in asoc_sdw_rt5682_rtd_init()
83 ret = snd_soc_component_set_jack(component, jack, NULL); in asoc_sdw_rt5682_rtd_init()
H A Dsoc_sdw_rt700.c43 struct snd_soc_jack *jack; in asoc_sdw_rt700_rtd_init() local
74 jack = &ctx->sdw_headset; in asoc_sdw_rt700_rtd_init()
76 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_rt700_rtd_init()
77 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_rt700_rtd_init()
78 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in asoc_sdw_rt700_rtd_init()
79 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in asoc_sdw_rt700_rtd_init()
81 ret = snd_soc_component_set_jack(component, jack, NULL); in asoc_sdw_rt700_rtd_init()
H A Dsoc_sdw_cs42l42.c45 struct snd_soc_jack *jack; in asoc_sdw_cs42l42_rtd_init() local
76 jack = &ctx->sdw_headset; in asoc_sdw_cs42l42_rtd_init()
78 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_cs42l42_rtd_init()
79 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOLUMEUP); in asoc_sdw_cs42l42_rtd_init()
80 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEDOWN); in asoc_sdw_cs42l42_rtd_init()
81 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOICECOMMAND); in asoc_sdw_cs42l42_rtd_init()
83 ret = snd_soc_component_set_jack(component, jack, NULL); in asoc_sdw_cs42l42_rtd_init()
H A Dsoc_sdw_rt711.c69 struct snd_soc_jack *jack; in asoc_sdw_rt711_rtd_init() local
100 jack = &ctx->sdw_headset; in asoc_sdw_rt711_rtd_init()
102 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_rt711_rtd_init()
103 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_rt711_rtd_init()
104 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in asoc_sdw_rt711_rtd_init()
105 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in asoc_sdw_rt711_rtd_init()
107 ret = snd_soc_component_set_jack(component, jack, NULL); in asoc_sdw_rt711_rtd_init()
H A Dsoc_sdw_cs42l43.c59 struct snd_soc_jack *jack = &ctx->sdw_headset; in asoc_sdw_cs42l43_hs_rtd_init() local
80 jack, soc_jack_pins, in asoc_sdw_cs42l43_hs_rtd_init()
87 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_cs42l43_hs_rtd_init()
88 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_cs42l43_hs_rtd_init()
89 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in asoc_sdw_cs42l43_hs_rtd_init()
90 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in asoc_sdw_cs42l43_hs_rtd_init()
92 ret = snd_soc_component_set_jack(component, jack, NULL); in asoc_sdw_cs42l43_hs_rtd_init()
H A Dsoc_sdw_rt_sdca_jack_common.c98 struct snd_soc_jack *jack; in asoc_sdw_rt_sdca_jack_rtd_init() local
158 jack = &ctx->sdw_headset; in asoc_sdw_rt_sdca_jack_rtd_init()
160 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_rt_sdca_jack_rtd_init()
161 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_rt_sdca_jack_rtd_init()
162 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in asoc_sdw_rt_sdca_jack_rtd_init()
163 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in asoc_sdw_rt_sdca_jack_rtd_init()
165 ret = snd_soc_component_set_jack(component, jack, NULL); in asoc_sdw_rt_sdca_jack_rtd_init()
/linux-6.15/sound/soc/intel/avs/boards/
H A Dnau8825.c85 struct snd_soc_jack *jack; in avs_nau8825_codec_init() local
88 jack = snd_soc_card_get_drvdata(card); in avs_nau8825_codec_init()
102 jack, pins, num_pins); in avs_nau8825_codec_init()
106 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in avs_nau8825_codec_init()
107 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in avs_nau8825_codec_init()
108 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in avs_nau8825_codec_init()
109 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in avs_nau8825_codec_init()
250 struct snd_soc_jack *jack; in avs_nau8825_probe() local
268 jack = devm_kzalloc(dev, sizeof(*jack), GFP_KERNEL); in avs_nau8825_probe()
270 if (!jack || !card) in avs_nau8825_probe()
[all …]
H A Drt5682.c99 struct snd_soc_jack *jack; in avs_rt5682_codec_init() local
102 jack = snd_soc_card_get_drvdata(card); in avs_rt5682_codec_init()
126 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in avs_rt5682_codec_init()
127 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in avs_rt5682_codec_init()
128 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in avs_rt5682_codec_init()
129 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in avs_rt5682_codec_init()
131 ret = snd_soc_component_set_jack(component, jack, NULL); in avs_rt5682_codec_init()
272 struct snd_soc_jack *jack; in avs_rt5682_probe() local
296 jack = devm_kzalloc(dev, sizeof(*jack), GFP_KERNEL); in avs_rt5682_probe()
298 if (!jack || !card) in avs_rt5682_probe()
[all …]
H A Dda7219.c98 struct snd_soc_jack *jack; in avs_da7219_codec_init() local
103 jack = snd_soc_card_get_drvdata(card); in avs_da7219_codec_init()
129 jack, pins, num_pins); in avs_da7219_codec_init()
135 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in avs_da7219_codec_init()
136 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOLUMEUP); in avs_da7219_codec_init()
137 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEDOWN); in avs_da7219_codec_init()
138 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOICECOMMAND); in avs_da7219_codec_init()
218 struct snd_soc_jack *jack; in avs_da7219_probe() local
236 jack = devm_kzalloc(dev, sizeof(*jack), GFP_KERNEL); in avs_da7219_probe()
238 if (!jack || !card) in avs_da7219_probe()
[all …]
H A Drt5663.c23 struct snd_soc_jack jack; member
62 struct snd_soc_jack *jack; in avs_rt5663_codec_init() local
65 jack = &priv->jack; in avs_rt5663_codec_init()
74 SND_JACK_BTN_1 | SND_JACK_BTN_2 | SND_JACK_BTN_3, jack, in avs_rt5663_codec_init()
79 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in avs_rt5663_codec_init()
80 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in avs_rt5663_codec_init()
81 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in avs_rt5663_codec_init()
82 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in avs_rt5663_codec_init()
84 snd_soc_component_set_jack(snd_soc_rtd_to_codec(runtime, 0)->component, jack, NULL); in avs_rt5663_codec_init()
192 struct snd_soc_jack *jack = snd_soc_card_get_drvdata(card); in avs_card_resume_post() local
[all …]
/linux-6.15/sound/soc/codecs/
H A Dts3a227e.c25 struct snd_soc_jack *jack; member
159 if (!ts3a227e->jack) in ts3a227e_jack_report()
244 struct snd_soc_jack *jack) in ts3a227e_enable_jack_detect() argument
248 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in ts3a227e_enable_jack_detect()
249 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in ts3a227e_enable_jack_detect()
250 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in ts3a227e_enable_jack_detect()
251 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in ts3a227e_enable_jack_detect()
253 ts3a227e->jack = jack; in ts3a227e_enable_jack_detect()
261 struct snd_soc_jack *jack, void *data) in ts3a227e_set_jack() argument
263 if (jack == NULL) in ts3a227e_set_jack()
[all …]
/linux-6.15/sound/soc/intel/boards/
H A Dcht_bsw_nau8824.c27 struct snd_soc_jack jack; member
98 struct snd_soc_jack *jack = &ctx->jack; in cht_codec_init() local
112 jack, cht_bsw_jack_pins, ARRAY_SIZE(cht_bsw_jack_pins)); in cht_codec_init()
118 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in cht_codec_init()
119 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in cht_codec_init()
120 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in cht_codec_init()
121 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in cht_codec_init()
123 nau8824_enable_jack_detect(component, jack); in cht_codec_init()
H A Dsof_cs42l42.c44 struct snd_soc_jack *jack = &ctx->headset_jack; in sof_cs42l42_init() local
55 jack, in sof_cs42l42_init()
63 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in sof_cs42l42_init()
64 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOLUMEUP); in sof_cs42l42_init()
65 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEDOWN); in sof_cs42l42_init()
66 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOICECOMMAND); in sof_cs42l42_init()
68 ret = snd_soc_component_set_jack(component, jack, NULL); in sof_cs42l42_init()
H A Dsof_nau8825.c45 struct snd_soc_jack *jack = &ctx->headset_jack; in sof_nau8825_codec_init() local
56 jack, in sof_nau8825_codec_init()
64 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in sof_nau8825_codec_init()
65 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in sof_nau8825_codec_init()
66 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in sof_nau8825_codec_init()
67 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in sof_nau8825_codec_init()
69 ret = snd_soc_component_set_jack(component, jack, NULL); in sof_nau8825_codec_init()
/linux-6.15/sound/soc/qcom/
H A Dsc7280.c42 static void sc7280_jack_free(struct snd_jack *jack) in sc7280_jack_free() argument
44 struct snd_soc_component *component = jack->private_data; in sc7280_jack_free()
67 struct snd_jack *jack; in sc7280_headset_init() local
86 jack = pdata->hs_jack.jack; in sc7280_headset_init()
90 snd_jack_set_key(jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in sc7280_headset_init()
93 jack->private_data = component; in sc7280_headset_init()
94 jack->private_free = sc7280_jack_free; in sc7280_headset_init()
123 struct snd_jack *jack; in sc7280_hdmi_init() local
134 jack = pdata->hdmi_jack.jack; in sc7280_hdmi_init()
135 jack->private_data = component; in sc7280_hdmi_init()
[all …]
H A Dsdm845.c35 struct snd_soc_jack jack; member
227 static void sdm845_jack_free(struct snd_jack *jack) in sdm845_jack_free() argument
242 struct snd_jack *jack; in sdm845_dai_init() local
263 &pdata->jack, in sdm845_dai_init()
272 jack = pdata->jack.jack; in sdm845_dai_init()
276 snd_jack_set_key(jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in sdm845_dai_init()
283 jack = pdata->jack.jack; in sdm845_dai_init()
286 jack->private_data = component; in sdm845_dai_init()
287 jack->private_free = sdm845_jack_free; in sdm845_dai_init()
289 &pdata->jack, NULL); in sdm845_dai_init()
[all …]

1234567891011