From 61598093bbdd283a7edc367d900f223070ead8d2 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Fri, 10 May 2024 07:43:03 +0000
Subject: [PATCH] add ax88772C AX88772C_eeprom_tools
---
kernel/drivers/headset_observe/rk_headset.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/kernel/drivers/headset_observe/rk_headset.c b/kernel/drivers/headset_observe/rk_headset.c
index 5b16db7..64115a5 100644
--- a/kernel/drivers/headset_observe/rk_headset.c
+++ b/kernel/drivers/headset_observe/rk_headset.c
@@ -155,6 +155,7 @@
int level2 = 0;
struct rk_headset_pdata *pdata = headset_info->pdata;
static unsigned int old_status = 0;
+ int ret;
printk("---headsetobserve_work---\n");
mutex_lock(&headset_info->mutex_lock[HEADSET]);
@@ -182,6 +183,10 @@
headset_info->headset_status ? "in" : "out");
if (headset_info->headset_status == HEADSET_IN) {
headset_info->cur_headset_status = BIT_HEADSET_NO_MIC;
+ ret = gpio_direction_output(pdata->spk_ctl_gpio,0);
+ if (ret < 0) {
+ printk("spk_ctl_gpio set direction fail\n");
+ }
if (pdata->headset_insert_type == HEADSET_IN_HIGH)
irq_set_irq_type(headset_info->irq[HEADSET],
IRQF_TRIGGER_FALLING);
@@ -196,6 +201,10 @@
goto out;
}
} else if (headset_info->headset_status == HEADSET_OUT) {
+ ret = gpio_direction_output(pdata->spk_ctl_gpio,1);
+ if (ret < 0) {
+ printk("spk_ctl_gpio set direction fail\n");
+ }
headset_info->hook_status = HOOK_UP;
if (headset_info->isHook_irq == enable) {
DBG("disable headset_hook irq\n");
--
Gitblit v1.6.2