From fe7b8eee1227aec8fa3a51061ae8426fdd2c9a71 Mon Sep 17 00:00:00 2001 From: EvilOlaf Date: Tue, 13 Jan 2026 17:36:49 +0000 Subject: [PATCH] orangepizero2: fix bluetooth in `edge` kernel --- config/kernel/linux-sunxi64-edge.config | 1 + packages/bsp/sunxi/aw859a-bluetooth.service | 1 + patch/misc/wireless-uwe5622/uwe5622-v6.18.patch | 12 +++++------- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/config/kernel/linux-sunxi64-edge.config b/config/kernel/linux-sunxi64-edge.config index 2d38a2dd6c..a2df2cc1aa 100644 --- a/config/kernel/linux-sunxi64-edge.config +++ b/config/kernel/linux-sunxi64-edge.config @@ -630,6 +630,7 @@ CONFIG_DW_XDATA_PCIE=m CONFIG_NTSYNC=m CONFIG_MISC_RTSX_PCI=m CONFIG_MISC_RTSX_USB=m +CONFIG_SUNXI_ADDR_MGT=m CONFIG_BLK_DEV_SD=y CONFIG_CHR_DEV_ST=m CONFIG_BLK_DEV_SR=m diff --git a/packages/bsp/sunxi/aw859a-bluetooth.service b/packages/bsp/sunxi/aw859a-bluetooth.service index e6e1c30136..8d9ea739e8 100644 --- a/packages/bsp/sunxi/aw859a-bluetooth.service +++ b/packages/bsp/sunxi/aw859a-bluetooth.service @@ -4,6 +4,7 @@ After=bluetooth.service [Service] Type=simple +ExecStartPre=/sbin/modprobe sunxi_addr ExecStartPre=/usr/sbin/rfkill unblock all ExecStart=/usr/bin/hciattach_opi -s 1500000 /dev/ttyBT0 sprd TimeoutSec=0 diff --git a/patch/misc/wireless-uwe5622/uwe5622-v6.18.patch b/patch/misc/wireless-uwe5622/uwe5622-v6.18.patch index 1a0341558e..32749bfb63 100644 --- a/patch/misc/wireless-uwe5622/uwe5622-v6.18.patch +++ b/patch/misc/wireless-uwe5622/uwe5622-v6.18.patch @@ -5,14 +5,14 @@ Subject: Fix compilation of uwe5622 in Linux 6.18 Signed-off-by: Werner --- - drivers/net/wireless/uwe5622/unisocwcn/platform/wcn_boot.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) + drivers/net/wireless/uwe5622/unisocwcn/platform/wcn_boot.c | 2 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/uwe5622/unisocwcn/platform/wcn_boot.c b/drivers/net/wireless/uwe5622/unisocwcn/platform/wcn_boot.c index 1558f1c03de0..07dd4528bf12 100644 --- a/drivers/net/wireless/uwe5622/unisocwcn/platform/wcn_boot.c +++ b/drivers/net/wireless/uwe5622/unisocwcn/platform/wcn_boot.c -@@ -1382,12 +1382,14 @@ static int marlin_registsr_bt_wake(struct device *dev) +@@ -1382,12 +1382,12 @@ static int marlin_registsr_bt_wake(struct device *dev) WCN_ERR("bt_hostwake irq is invalid: %d\n", bt_wake_host_gpio); return -EINVAL; @@ -20,10 +20,8 @@ index 1558f1c03de0..07dd4528bf12 100644 - ret = devm_gpio_request(dev, bt_wake_host_gpio, - "bt-wake-host-gpio"); -+ struct gpio_desc *desc = devm_gpiod_get(dev, "bt-wake-host-gpio", GPIOD_OUT_LOW); -+ if (IS_ERR(desc)) -+ return PTR_ERR(desc); -+ ++ ret = devm_gpio_request_one(dev, bt_wake_host_gpio, GPIOF_IN, ++ "bt-wake-host-gpio"); if (ret) { WCN_ERR("bt-wake-host-gpio request err: %d\n", bt_wake_host_gpio);