Commit 05ab5f0d authored by Vaibhav Agarwal's avatar Vaibhav Agarwal Committed by Greg Kroah-Hartman

greybus: audio: Identify jack type based on attributes reported

Originally, idea was to use widget_type to identify jack_type.
However, suggestive way is to identify jack based on jack
attributes.

Changes already exists in codec FW to report jack attributes.
Signed-off-by: default avatarVaibhav Agarwal <vaibhav.agarwal@linaro.org>
Reviewed-by: default avatarMark Greer <mgreer@animalcreek.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 475f498b
...@@ -27,7 +27,7 @@ static int gbaudio_request_jack(struct gbaudio_module_info *module, ...@@ -27,7 +27,7 @@ static int gbaudio_request_jack(struct gbaudio_module_info *module,
int report, button_status; int report, button_status;
dev_warn(module->dev, "Jack Event received: type: %u, event: %u\n", dev_warn(module->dev, "Jack Event received: type: %u, event: %u\n",
req->widget_type, req->event); req->jack_attribute, req->event);
mutex_lock(&module->lock); mutex_lock(&module->lock);
if (req->event == GB_AUDIO_JACK_EVENT_REMOVAL) { if (req->event == GB_AUDIO_JACK_EVENT_REMOVAL) {
...@@ -43,18 +43,9 @@ static int gbaudio_request_jack(struct gbaudio_module_info *module, ...@@ -43,18 +43,9 @@ static int gbaudio_request_jack(struct gbaudio_module_info *module,
return 0; return 0;
} }
report &= ~GBCODEC_JACK_MASK;
/* currently supports Headphone, Headset & Lineout only */ /* currently supports Headphone, Headset & Lineout only */
if (req->widget_type && GB_AUDIO_WIDGET_TYPE_HP) report &= ~GBCODEC_JACK_MASK;
report |= SND_JACK_HEADPHONE & GBCODEC_JACK_MASK; report |= req->jack_attribute & GBCODEC_JACK_MASK;
if (req->widget_type && GB_AUDIO_WIDGET_TYPE_MIC)
report = SND_JACK_MICROPHONE & GBCODEC_JACK_MASK;
if (req->widget_type && GB_AUDIO_WIDGET_TYPE_LINE)
report = (report & GBCODEC_JACK_MASK) |
SND_JACK_LINEOUT | SND_JACK_LINEIN;
if (module->jack_type) if (module->jack_type)
dev_warn(module->dev, "Modifying jack from %d to %d\n", dev_warn(module->dev, "Modifying jack from %d to %d\n",
module->jack_type, report); module->jack_type, report);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment