From d3acb07ae52cd1e07661d853cb07895d324a847f Mon Sep 17 00:00:00 2001 From: huangcm <1263938474@qq.com> Date: Sat, 12 Oct 2024 02:36:04 +0000 Subject: [PATCH] feat(board): fix poweroff & eth & hp pro --- longan/kernel/linux-4.9/sound/soc/sunxi/sun50iw10-sndcodec.c | 7 +++++-- android/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java | 5 +++++ android/device/softwinner/ceres-c3/ceres_c3.mk | 4 ++++ android/frameworks/base/packages/SettingsProvider/res/values/defaults.xml | 2 +- longan/kernel/linux-4.9/drivers/net/ethernet/allwinner/sunxi-gmac.c | 7 ++++--- 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/android/device/softwinner/ceres-c3/ceres_c3.mk b/android/device/softwinner/ceres-c3/ceres_c3.mk index b5c04a4..8db2d09 100755 --- a/android/device/softwinner/ceres-c3/ceres_c3.mk +++ b/android/device/softwinner/ceres-c3/ceres_c3.mk @@ -305,6 +305,10 @@ persist.sys.country=US \ persist.sys.language=en +# holding wake lock +PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ + persist.sys.kickpi_holding_wakelock=true + # stoarge PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \ persist.fw.force_adoptable=true diff --git a/android/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/android/frameworks/base/packages/SettingsProvider/res/values/defaults.xml index cedcb52..6aa21d1 100644 --- a/android/frameworks/base/packages/SettingsProvider/res/values/defaults.xml +++ b/android/frameworks/base/packages/SettingsProvider/res/values/defaults.xml @@ -127,7 +127,7 @@ <integer name="def_multi_press_timeout_millis">300</integer> <!-- Default for Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD --> - <bool name="def_show_ime_with_hard_keyboard">false</bool> + <bool name="def_show_ime_with_hard_keyboard">true</bool> <!-- Default for Settings.System.POINTER_SPEED --> <integer name="def_pointer_speed">0</integer> diff --git a/android/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java b/android/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java index d8ee9f8..bd6e73e 100644 --- a/android/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java +++ b/android/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java @@ -2701,6 +2701,11 @@ } } + if (SystemProperties.getBoolean("persist.sys.kickpi_holding_wakelock", false)){ + Slog.d(TAG, "Holding wake lock suspend blocker"); + return; + } + // Then release suspend blockers if needed. if (!needWakeLockSuspendBlocker && mHoldingWakeLockSuspendBlocker) { mWakeLockSuspendBlocker.release(); diff --git a/longan/kernel/linux-4.9/drivers/net/ethernet/allwinner/sunxi-gmac.c b/longan/kernel/linux-4.9/drivers/net/ethernet/allwinner/sunxi-gmac.c index e1f365c..68efc64 100644 --- a/longan/kernel/linux-4.9/drivers/net/ethernet/allwinner/sunxi-gmac.c +++ b/longan/kernel/linux-4.9/drivers/net/ethernet/allwinner/sunxi-gmac.c @@ -904,12 +904,13 @@ for (i = 0; i < ETH_ALEN; i++, p++) ndev->dev_addr[i] = simple_strtoul(p, &p, 16); - if (!is_valid_ether_addr(ndev->dev_addr)) - geth_chip_hwaddr(ndev->dev_addr); + // if (!is_valid_ether_addr(ndev->dev_addr)) { + // geth_chip_hwaddr(ndev->dev_addr); + // } if (!is_valid_ether_addr(ndev->dev_addr)) { random_ether_addr(ndev->dev_addr); - pr_warn("%s: Use random mac address\n", ndev->name); + pr_err("%s: Use random mac address\n", ndev->name); } } } diff --git a/longan/kernel/linux-4.9/sound/soc/sunxi/sun50iw10-sndcodec.c b/longan/kernel/linux-4.9/sound/soc/sunxi/sun50iw10-sndcodec.c index 6f621e8..f13f240 100644 --- a/longan/kernel/linux-4.9/sound/soc/sunxi/sun50iw10-sndcodec.c +++ b/longan/kernel/linux-4.9/sound/soc/sunxi/sun50iw10-sndcodec.c @@ -364,7 +364,8 @@ regval &= ~(0x1 << JACK_DET_IIN_ST); regval |= 0x1 << JACK_DET_OUT_ST; snd_soc_write(priv->codec, SUNXI_HMIC_STS, regval); - priv->detect_state = PLUG_OUT; + // priv->detect_state = PLUG_OUT; + priv->detect_state = PLUG_IN; // always plugin schedule_delayed_work(&priv->hs_detect_work, msecs_to_jiffies(10)); } @@ -815,7 +816,7 @@ * initial the parameters for judge switch state */ priv->HEADSET_DATA = 0x10; - priv->detect_state = PLUG_OUT; + priv->detect_state = PLUG_IN; INIT_DELAYED_WORK(&priv->hs_detect_work, sunxi_check_hs_detect_status); INIT_DELAYED_WORK(&priv->hs_button_work, sunxi_check_hs_button_status); INIT_DELAYED_WORK(&priv->hs_init_work, sunxi_hs_init_work); @@ -838,6 +839,8 @@ dev_warn(&pdev->dev, "[%s] register card finished.\n", __func__); + schedule_delayed_work(&priv->hs_detect_work, msecs_to_jiffies(10)); + return 0; err_devm_kfree: -- Gitblit v1.6.2