Skip to content

Commit f80dfba

Browse files
Angus_Wangjamess-huang
authored andcommitted
Run jack_auto_switch shell script when audio jack plug in/out.
Change-Id: Ida19d00e96c86c71af19826ae6e28d540fff5e82 Reviewed-on: https://tp-biosrd-v02/gerrit/81020 Reviewed-by: Jamess Huang(黃以民) <Jamess_Huang@asus.com> Tested-by: Jamess Huang(黃以民) <Jamess_Huang@asus.com>
1 parent d09bd31 commit f80dfba

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

sound/soc/soc-jack.c

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -87,22 +87,26 @@ void snd_soc_jack_report(struct snd_soc_jack *jack, int status, int mask)
8787
"PATH=/sbin:/usr/sbin:/bin:/usr/bin",
8888
NULL,
8989
};
90-
91-
char *argv[] = {
92-
"/etc/pulse/movesinks.sh",
93-
"alsa_output.OnBoard_D2",
90+
char *argv_in[] = {
91+
"/etc/audio/jack_auto_switch.sh",
92+
"in",
93+
NULL,
94+
};
95+
char *argv_out[] = {
96+
"/etc/audio/jack_auto_switch.sh",
97+
"out",
9498
NULL,
9599
};
96100

97-
dev_info(jack->card->dev, "snd_soc_jack_report status=%d\n", status);
101+
dev_info(jack->card->dev, "audio jack plug %s\n", (status ? "in" : "out"));
98102

99-
if (status) {
100-
ret = call_usermodehelper(argv[0], argv, envp, UMH_WAIT_PROC);
101-
if (ret != 0)
102-
dev_err(jack->card->dev, "call_usermodehelper fail, ret=%d\n", ret);
103-
else
104-
dev_info(jack->card->dev, "audio jack plug in, auto switch to headphone\n");
105-
}
103+
if (status)
104+
ret = call_usermodehelper(argv_in[0], argv_in, envp, UMH_WAIT_PROC);
105+
else
106+
ret = call_usermodehelper(argv_out[0], argv_out, envp, UMH_WAIT_PROC);
107+
108+
if (ret != 0)
109+
dev_err(jack->card->dev, "call_usermodehelper fail, ret=%d, status=%d\n", ret, status);
106110

107111

108112
trace_snd_soc_jack_report(jack, mask, status);

0 commit comments

Comments
 (0)