uefi-x86-7.2: update applet2 patches from t2linux/linux-t2-patches@1637df4

- rewritten/attribution preserved
- rewrite .config with new t2 stuff +recover SOUND/SND/SND_SOC
This commit is contained in:
Ricardo Pardini
2026-09-08 17:22:28 +02:00
committed by Igor
parent ed8bbd3de2
commit 153d2ff622
26 changed files with 685 additions and 28165 deletions
+6
View File
@@ -3509,7 +3509,10 @@ CONFIG_DRM_ACCEL=y
CONFIG_DRM_ACCEL_HABANALABS=m CONFIG_DRM_ACCEL_HABANALABS=m
CONFIG_DRM_ACCEL_IVPU=m CONFIG_DRM_ACCEL_IVPU=m
CONFIG_DRM_ACCEL_QAIC=m CONFIG_DRM_ACCEL_QAIC=m
CONFIG_SOUND=m
CONFIG_SND=m
CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_ACPI=m
CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_REALTEK=m
CONFIG_SND_HDA_CODEC_HDMI=m CONFIG_SND_HDA_CODEC_HDMI=m
CONFIG_SND_SOC=m CONFIG_SND_SOC=m
@@ -4440,6 +4443,9 @@ CONFIG_VME_BUS=y
CONFIG_VME_TSI148=m CONFIG_VME_TSI148=m
CONFIG_VME_FAKE=m CONFIG_VME_FAKE=m
CONFIG_VME_USER=m CONFIG_VME_USER=m
CONFIG_T2BCE_CORE=m
CONFIG_T2BCE_VHCI=m
CONFIG_T2BCE_AUDIO=m
CONFIG_CHROME_PLATFORMS=y CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_ACPI=m CONFIG_CHROMEOS_ACPI=m
CONFIG_CHROMEOS_LAPTOP=m CONFIG_CHROMEOS_LAPTOP=m
+6 -2
View File
@@ -20,13 +20,16 @@ case "${BRANCH}" in
# Extra .config stuff for the Applet T2 stuff in this kernel # Extra .config stuff for the Applet T2 stuff in this kernel
function custom_kernel_config__applet2() { function custom_kernel_config__applet2() {
# From https://github.com/t2linux/linux-t2-patches/blob/6.18/extra_config ignore DRM_KUNIT_TEST # From https://github.com/t2linux/linux-t2-patches/blob/main/extra_config ignore DRM_KUNIT_TEST
opts_y+=( opts_y+=(
BT_HCIUART_BCM BT_HCIUART_BCM
STAGING STAGING
) )
opts_m+=( opts_m+=(
APPLE_BCE T2BCE_CORE
T2BCE_VHCI
T2BCE_AUDIO
T2BCE_DMA
APPLE_GMUX APPLE_GMUX
BRCMFMAC BRCMFMAC
BT_BCM BT_BCM
@@ -37,6 +40,7 @@ case "${BRANCH}" in
HID_APPLE HID_APPLE
HID_MAGICMOUSE HID_MAGICMOUSE
DRM_APPLETBDRM DRM_APPLETBDRM
# DRM_KUNIT_TEST # not this
HID_SENSOR_ALS HID_SENSOR_ALS
SENSORS_APPLESMC SENSORS_APPLESMC
SND_PCM SND_PCM
@@ -1,75 +1,45 @@
From fa02d10221faf3a76060ca3a48b13080c4de6ea0 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com> <41898282+github-actions[bot]@users.noreply.github.com>
Date: Mon, 3 Aug 2026 14:15:45 +0000 Date: Fri, 7 Aug 2026 15:55:34 +0000
Subject: [PATCH] Add t2bce driver stack Subject: Add t2bce driver stack
--- ---
drivers/staging/t2bce/Kconfig | 40 + drivers/staging/t2bce/Kconfig | 40 +
drivers/staging/t2bce/Makefile | 5 + drivers/staging/t2bce/Makefile | 5 +
drivers/staging/t2bce/t2bce_audio/Makefile | 7 + drivers/staging/t2bce/t2bce_audio/Makefile | 7 +
drivers/staging/t2bce/t2bce_audio/audio.c | 929 ++++++++++++ drivers/staging/t2bce/t2bce_audio/audio.c | 930 +++++++
drivers/staging/t2bce/t2bce_audio/audio.h | 148 ++ drivers/staging/t2bce/t2bce_audio/audio.h | 148 ++
.../staging/t2bce/t2bce_audio/description.h | 42 + drivers/staging/t2bce/t2bce_audio/description.h | 42 +
drivers/staging/t2bce/t2bce_audio/pcm.c | 520 +++++++ drivers/staging/t2bce/t2bce_audio/pcm.c | 520 ++++
drivers/staging/t2bce/t2bce_audio/pcm.h | 17 + drivers/staging/t2bce/t2bce_audio/pcm.h | 17 +
drivers/staging/t2bce/t2bce_audio/protocol.c | 347 +++++ drivers/staging/t2bce/t2bce_audio/protocol.c | 347 +++
drivers/staging/t2bce/t2bce_audio/protocol.h | 147 ++ drivers/staging/t2bce/t2bce_audio/protocol.h | 147 ++
.../staging/t2bce/t2bce_audio/protocol_bce.c | 260 ++++ drivers/staging/t2bce/t2bce_audio/protocol_bce.c | 260 ++
.../staging/t2bce/t2bce_audio/protocol_bce.h | 72 + drivers/staging/t2bce/t2bce_audio/protocol_bce.h | 72 +
drivers/staging/t2bce/t2bce_core/Makefile | 7 + drivers/staging/t2bce/t2bce_core/Makefile | 7 +
.../t2bce_core/include/t2bce_core_transport.h | 83 ++ drivers/staging/t2bce/t2bce_core/include/t2bce_core_transport.h | 83 +
drivers/staging/t2bce/t2bce_core/mailbox.c | 234 +++ drivers/staging/t2bce/t2bce_core/mailbox.c | 234 ++
drivers/staging/t2bce/t2bce_core/mailbox.h | 64 + drivers/staging/t2bce/t2bce_core/mailbox.h | 64 +
drivers/staging/t2bce/t2bce_core/t2bce.h | 51 + drivers/staging/t2bce/t2bce_core/t2bce.h | 51 +
drivers/staging/t2bce/t2bce_core/t2bce_main.c | 766 ++++++++++ drivers/staging/t2bce/t2bce_core/t2bce_main.c | 766 ++++++
drivers/staging/t2bce/t2bce_core/transport.c | 408 ++++++ drivers/staging/t2bce/t2bce_core/transport.c | 408 +++
drivers/staging/t2bce/t2bce_dma/Makefile | 6 + drivers/staging/t2bce/t2bce_dma/Makefile | 6 +
.../t2bce/t2bce_dma/include/t2bce_dma_queue.h | 182 +++ drivers/staging/t2bce/t2bce_dma/include/t2bce_dma_queue.h | 182 ++
drivers/staging/t2bce/t2bce_dma/queue.c | 625 ++++++++ drivers/staging/t2bce/t2bce_dma/queue.c | 625 +++++
drivers/staging/t2bce/t2bce_vhci/Makefile | 7 + drivers/staging/t2bce/t2bce_vhci/Makefile | 7 +
drivers/staging/t2bce/t2bce_vhci/command.h | 206 +++ drivers/staging/t2bce/t2bce_vhci/command.h | 206 ++
drivers/staging/t2bce/t2bce_vhci/queue.c | 269 ++++ drivers/staging/t2bce/t2bce_vhci/queue.c | 269 ++
drivers/staging/t2bce/t2bce_vhci/queue.h | 76 + drivers/staging/t2bce/t2bce_vhci/queue.h | 76 +
drivers/staging/t2bce/t2bce_vhci/transfer.c | 1261 ++++++++++++++++ drivers/staging/t2bce/t2bce_vhci/transfer.c | 1261 +++++++++
drivers/staging/t2bce/t2bce_vhci/transfer.h | 86 ++ drivers/staging/t2bce/t2bce_vhci/transfer.h | 86 +
drivers/staging/t2bce/t2bce_vhci/vhci.c | 1293 +++++++++++++++++ drivers/staging/t2bce/t2bce_vhci/vhci.c | 1293 ++++++++++
drivers/staging/t2bce/t2bce_vhci/vhci.h | 69 + drivers/staging/t2bce/t2bce_vhci/vhci.h | 69 +
30 files changed, 8227 insertions(+) 30 files changed, 8228 insertions(+)
create mode 100644 drivers/staging/t2bce/Kconfig
create mode 100644 drivers/staging/t2bce/Makefile
create mode 100644 drivers/staging/t2bce/t2bce_audio/Makefile
create mode 100644 drivers/staging/t2bce/t2bce_audio/audio.c
create mode 100644 drivers/staging/t2bce/t2bce_audio/audio.h
create mode 100644 drivers/staging/t2bce/t2bce_audio/description.h
create mode 100644 drivers/staging/t2bce/t2bce_audio/pcm.c
create mode 100644 drivers/staging/t2bce/t2bce_audio/pcm.h
create mode 100644 drivers/staging/t2bce/t2bce_audio/protocol.c
create mode 100644 drivers/staging/t2bce/t2bce_audio/protocol.h
create mode 100644 drivers/staging/t2bce/t2bce_audio/protocol_bce.c
create mode 100644 drivers/staging/t2bce/t2bce_audio/protocol_bce.h
create mode 100644 drivers/staging/t2bce/t2bce_core/Makefile
create mode 100644 drivers/staging/t2bce/t2bce_core/include/t2bce_core_transport.h
create mode 100644 drivers/staging/t2bce/t2bce_core/mailbox.c
create mode 100644 drivers/staging/t2bce/t2bce_core/mailbox.h
create mode 100644 drivers/staging/t2bce/t2bce_core/t2bce.h
create mode 100644 drivers/staging/t2bce/t2bce_core/t2bce_main.c
create mode 100644 drivers/staging/t2bce/t2bce_core/transport.c
create mode 100644 drivers/staging/t2bce/t2bce_dma/Makefile
create mode 100644 drivers/staging/t2bce/t2bce_dma/include/t2bce_dma_queue.h
create mode 100644 drivers/staging/t2bce/t2bce_dma/queue.c
create mode 100644 drivers/staging/t2bce/t2bce_vhci/Makefile
create mode 100644 drivers/staging/t2bce/t2bce_vhci/command.h
create mode 100644 drivers/staging/t2bce/t2bce_vhci/queue.c
create mode 100644 drivers/staging/t2bce/t2bce_vhci/queue.h
create mode 100644 drivers/staging/t2bce/t2bce_vhci/transfer.c
create mode 100644 drivers/staging/t2bce/t2bce_vhci/transfer.h
create mode 100644 drivers/staging/t2bce/t2bce_vhci/vhci.c
create mode 100644 drivers/staging/t2bce/t2bce_vhci/vhci.h
diff --git a/drivers/staging/t2bce/Kconfig b/drivers/staging/t2bce/Kconfig diff --git a/drivers/staging/t2bce/Kconfig b/drivers/staging/t2bce/Kconfig
new file mode 100644 new file mode 100644
index 000000000..112bc3435 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/Kconfig +++ b/drivers/staging/t2bce/Kconfig
@@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
@@ -115,7 +85,7 @@ index 000000000..112bc3435
+endmenu +endmenu
diff --git a/drivers/staging/t2bce/Makefile b/drivers/staging/t2bce/Makefile diff --git a/drivers/staging/t2bce/Makefile b/drivers/staging/t2bce/Makefile
new file mode 100644 new file mode 100644
index 000000000..91eebdc8d index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/Makefile +++ b/drivers/staging/t2bce/Makefile
@@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
@@ -126,7 +96,7 @@ index 000000000..91eebdc8d
+obj-$(CONFIG_T2BCE_AUDIO) += t2bce_audio/ +obj-$(CONFIG_T2BCE_AUDIO) += t2bce_audio/
diff --git a/drivers/staging/t2bce/t2bce_audio/Makefile b/drivers/staging/t2bce/t2bce_audio/Makefile diff --git a/drivers/staging/t2bce/t2bce_audio/Makefile b/drivers/staging/t2bce/t2bce_audio/Makefile
new file mode 100644 new file mode 100644
index 000000000..1fba36e10 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_audio/Makefile +++ b/drivers/staging/t2bce/t2bce_audio/Makefile
@@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
@@ -139,10 +109,10 @@ index 000000000..1fba36e10
+ccflags-y += -I$(src)/../t2bce_core/include +ccflags-y += -I$(src)/../t2bce_core/include
diff --git a/drivers/staging/t2bce/t2bce_audio/audio.c b/drivers/staging/t2bce/t2bce_audio/audio.c diff --git a/drivers/staging/t2bce/t2bce_audio/audio.c b/drivers/staging/t2bce/t2bce_audio/audio.c
new file mode 100644 new file mode 100644
index 000000000..60f552c06 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_audio/audio.c +++ b/drivers/staging/t2bce/t2bce_audio/audio.c
@@ -0,0 +1,929 @@ @@ -0,0 +1,930 @@
+#include <linux/pci.h> +#include <linux/pci.h>
+#include <linux/spinlock.h> +#include <linux/spinlock.h>
+#include <linux/module.h> +#include <linux/module.h>
@@ -580,6 +550,7 @@ index 000000000..60f552c06
+ dev_err(a->dev, "Failed to get device uid for device %llx\n", dev_id); + dev_err(a->dev, "Failed to get device uid for device %llx\n", dev_id);
+ goto fail; + goto fail;
+ } + }
+ uid[uid_len] = '\0';
+ pr_debug("t2bce_audio: Remote device %llx %.*s\n", dev_id, (int) uid_len, uid); + pr_debug("t2bce_audio: Remote device %llx %.*s\n", dev_id, (int) uid_len, uid);
+ +
+ sdev->a = a; + sdev->a = a;
@@ -1074,7 +1045,7 @@ index 000000000..60f552c06
+module_exit(t2audio_module_exit); +module_exit(t2audio_module_exit);
diff --git a/drivers/staging/t2bce/t2bce_audio/audio.h b/drivers/staging/t2bce/t2bce_audio/audio.h diff --git a/drivers/staging/t2bce/t2bce_audio/audio.h b/drivers/staging/t2bce/t2bce_audio/audio.h
new file mode 100644 new file mode 100644
index 000000000..6eb57789e index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_audio/audio.h +++ b/drivers/staging/t2bce/t2bce_audio/audio.h
@@ -0,0 +1,148 @@ @@ -0,0 +1,148 @@
@@ -1228,7 +1199,7 @@ index 000000000..6eb57789e
+#endif //T2AUDIO_H +#endif //T2AUDIO_H
diff --git a/drivers/staging/t2bce/t2bce_audio/description.h b/drivers/staging/t2bce/t2bce_audio/description.h diff --git a/drivers/staging/t2bce/t2bce_audio/description.h b/drivers/staging/t2bce/t2bce_audio/description.h
new file mode 100644 new file mode 100644
index 000000000..011ebfd69 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_audio/description.h +++ b/drivers/staging/t2bce/t2bce_audio/description.h
@@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
@@ -1276,7 +1247,7 @@ index 000000000..011ebfd69
+#endif //T2AUDIO_DESCRIPTION_H +#endif //T2AUDIO_DESCRIPTION_H
diff --git a/drivers/staging/t2bce/t2bce_audio/pcm.c b/drivers/staging/t2bce/t2bce_audio/pcm.c diff --git a/drivers/staging/t2bce/t2bce_audio/pcm.c b/drivers/staging/t2bce/t2bce_audio/pcm.c
new file mode 100644 new file mode 100644
index 000000000..dcffd53a7 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_audio/pcm.c +++ b/drivers/staging/t2bce/t2bce_audio/pcm.c
@@ -0,0 +1,520 @@ @@ -0,0 +1,520 @@
@@ -1802,7 +1773,7 @@ index 000000000..dcffd53a7
+} +}
diff --git a/drivers/staging/t2bce/t2bce_audio/pcm.h b/drivers/staging/t2bce/t2bce_audio/pcm.h diff --git a/drivers/staging/t2bce/t2bce_audio/pcm.h b/drivers/staging/t2bce/t2bce_audio/pcm.h
new file mode 100644 new file mode 100644
index 000000000..d39e63dd4 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_audio/pcm.h +++ b/drivers/staging/t2bce/t2bce_audio/pcm.h
@@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
@@ -1825,7 +1796,7 @@ index 000000000..d39e63dd4
+#endif //T2AUDIO_PCM_H +#endif //T2AUDIO_PCM_H
diff --git a/drivers/staging/t2bce/t2bce_audio/protocol.c b/drivers/staging/t2bce/t2bce_audio/protocol.c diff --git a/drivers/staging/t2bce/t2bce_audio/protocol.c b/drivers/staging/t2bce/t2bce_audio/protocol.c
new file mode 100644 new file mode 100644
index 000000000..7441bbb9c index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_audio/protocol.c +++ b/drivers/staging/t2bce/t2bce_audio/protocol.c
@@ -0,0 +1,347 @@ @@ -0,0 +1,347 @@
@@ -2179,7 +2150,7 @@ index 000000000..7441bbb9c
\ No newline at end of file \ No newline at end of file
diff --git a/drivers/staging/t2bce/t2bce_audio/protocol.h b/drivers/staging/t2bce/t2bce_audio/protocol.h diff --git a/drivers/staging/t2bce/t2bce_audio/protocol.h b/drivers/staging/t2bce/t2bce_audio/protocol.h
new file mode 100644 new file mode 100644
index 000000000..650d49793 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_audio/protocol.h +++ b/drivers/staging/t2bce/t2bce_audio/protocol.h
@@ -0,0 +1,147 @@ @@ -0,0 +1,147 @@
@@ -2332,7 +2303,7 @@ index 000000000..650d49793
+#endif //T2AUDIO_PROTOCOL_H +#endif //T2AUDIO_PROTOCOL_H
diff --git a/drivers/staging/t2bce/t2bce_audio/protocol_bce.c b/drivers/staging/t2bce/t2bce_audio/protocol_bce.c diff --git a/drivers/staging/t2bce/t2bce_audio/protocol_bce.c b/drivers/staging/t2bce/t2bce_audio/protocol_bce.c
new file mode 100644 new file mode 100644
index 000000000..a6f3de971 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_audio/protocol_bce.c +++ b/drivers/staging/t2bce/t2bce_audio/protocol_bce.c
@@ -0,0 +1,260 @@ @@ -0,0 +1,260 @@
@@ -2598,7 +2569,7 @@ index 000000000..a6f3de971
+} +}
diff --git a/drivers/staging/t2bce/t2bce_audio/protocol_bce.h b/drivers/staging/t2bce/t2bce_audio/protocol_bce.h diff --git a/drivers/staging/t2bce/t2bce_audio/protocol_bce.h b/drivers/staging/t2bce/t2bce_audio/protocol_bce.h
new file mode 100644 new file mode 100644
index 000000000..8e474d2f7 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_audio/protocol_bce.h +++ b/drivers/staging/t2bce/t2bce_audio/protocol_bce.h
@@ -0,0 +1,72 @@ @@ -0,0 +1,72 @@
@@ -2676,7 +2647,7 @@ index 000000000..8e474d2f7
+#endif //T2AUDIO_PROTOCOL_BCE_H +#endif //T2AUDIO_PROTOCOL_BCE_H
diff --git a/drivers/staging/t2bce/t2bce_core/Makefile b/drivers/staging/t2bce/t2bce_core/Makefile diff --git a/drivers/staging/t2bce/t2bce_core/Makefile b/drivers/staging/t2bce/t2bce_core/Makefile
new file mode 100644 new file mode 100644
index 000000000..5ee2110b8 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_core/Makefile +++ b/drivers/staging/t2bce/t2bce_core/Makefile
@@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
@@ -2689,7 +2660,7 @@ index 000000000..5ee2110b8
+ccflags-y += -I$(src)/../t2bce_dma/include +ccflags-y += -I$(src)/../t2bce_dma/include
diff --git a/drivers/staging/t2bce/t2bce_core/include/t2bce_core_transport.h b/drivers/staging/t2bce/t2bce_core/include/t2bce_core_transport.h diff --git a/drivers/staging/t2bce/t2bce_core/include/t2bce_core_transport.h b/drivers/staging/t2bce/t2bce_core/include/t2bce_core_transport.h
new file mode 100644 new file mode 100644
index 000000000..c0085c266 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_core/include/t2bce_core_transport.h +++ b/drivers/staging/t2bce/t2bce_core/include/t2bce_core_transport.h
@@ -0,0 +1,83 @@ @@ -0,0 +1,83 @@
@@ -2778,7 +2749,7 @@ index 000000000..c0085c266
+#endif +#endif
diff --git a/drivers/staging/t2bce/t2bce_core/mailbox.c b/drivers/staging/t2bce/t2bce_core/mailbox.c diff --git a/drivers/staging/t2bce/t2bce_core/mailbox.c b/drivers/staging/t2bce/t2bce_core/mailbox.c
new file mode 100644 new file mode 100644
index 000000000..45aa999f7 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_core/mailbox.c +++ b/drivers/staging/t2bce/t2bce_core/mailbox.c
@@ -0,0 +1,234 @@ @@ -0,0 +1,234 @@
@@ -3018,7 +2989,7 @@ index 000000000..45aa999f7
+} +}
diff --git a/drivers/staging/t2bce/t2bce_core/mailbox.h b/drivers/staging/t2bce/t2bce_core/mailbox.h diff --git a/drivers/staging/t2bce/t2bce_core/mailbox.h b/drivers/staging/t2bce/t2bce_core/mailbox.h
new file mode 100644 new file mode 100644
index 000000000..8a16bd36a index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_core/mailbox.h +++ b/drivers/staging/t2bce/t2bce_core/mailbox.h
@@ -0,0 +1,64 @@ @@ -0,0 +1,64 @@
@@ -3088,7 +3059,7 @@ index 000000000..8a16bd36a
+#endif //BCEDRIVER_MAILBOX_H +#endif //BCEDRIVER_MAILBOX_H
diff --git a/drivers/staging/t2bce/t2bce_core/t2bce.h b/drivers/staging/t2bce/t2bce_core/t2bce.h diff --git a/drivers/staging/t2bce/t2bce_core/t2bce.h b/drivers/staging/t2bce/t2bce_core/t2bce.h
new file mode 100644 new file mode 100644
index 000000000..fe50f2ff7 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_core/t2bce.h +++ b/drivers/staging/t2bce/t2bce_core/t2bce.h
@@ -0,0 +1,51 @@ @@ -0,0 +1,51 @@
@@ -3145,7 +3116,7 @@ index 000000000..fe50f2ff7
+#endif //APPLE_BCE_H +#endif //APPLE_BCE_H
diff --git a/drivers/staging/t2bce/t2bce_core/t2bce_main.c b/drivers/staging/t2bce/t2bce_core/t2bce_main.c diff --git a/drivers/staging/t2bce/t2bce_core/t2bce_main.c b/drivers/staging/t2bce/t2bce_core/t2bce_main.c
new file mode 100644 new file mode 100644
index 000000000..6e90a7ea4 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_core/t2bce_main.c +++ b/drivers/staging/t2bce/t2bce_core/t2bce_main.c
@@ -0,0 +1,766 @@ @@ -0,0 +1,766 @@
@@ -3917,7 +3888,7 @@ index 000000000..6e90a7ea4
+module_exit(t2bce_module_exit); +module_exit(t2bce_module_exit);
diff --git a/drivers/staging/t2bce/t2bce_core/transport.c b/drivers/staging/t2bce/t2bce_core/transport.c diff --git a/drivers/staging/t2bce/t2bce_core/transport.c b/drivers/staging/t2bce/t2bce_core/transport.c
new file mode 100644 new file mode 100644
index 000000000..1f731faff index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_core/transport.c +++ b/drivers/staging/t2bce/t2bce_core/transport.c
@@ -0,0 +1,408 @@ @@ -0,0 +1,408 @@
@@ -4331,7 +4302,7 @@ index 000000000..1f731faff
+EXPORT_SYMBOL_GPL(t2bce_core_flush_queue); +EXPORT_SYMBOL_GPL(t2bce_core_flush_queue);
diff --git a/drivers/staging/t2bce/t2bce_dma/Makefile b/drivers/staging/t2bce/t2bce_dma/Makefile diff --git a/drivers/staging/t2bce/t2bce_dma/Makefile b/drivers/staging/t2bce/t2bce_dma/Makefile
new file mode 100644 new file mode 100644
index 000000000..d8bb26e69 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_dma/Makefile +++ b/drivers/staging/t2bce/t2bce_dma/Makefile
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
@@ -4343,7 +4314,7 @@ index 000000000..d8bb26e69
+ccflags-y += -I$(src)/include +ccflags-y += -I$(src)/include
diff --git a/drivers/staging/t2bce/t2bce_dma/include/t2bce_dma_queue.h b/drivers/staging/t2bce/t2bce_dma/include/t2bce_dma_queue.h diff --git a/drivers/staging/t2bce/t2bce_dma/include/t2bce_dma_queue.h b/drivers/staging/t2bce/t2bce_dma/include/t2bce_dma_queue.h
new file mode 100644 new file mode 100644
index 000000000..079582e89 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_dma/include/t2bce_dma_queue.h +++ b/drivers/staging/t2bce/t2bce_dma/include/t2bce_dma_queue.h
@@ -0,0 +1,182 @@ @@ -0,0 +1,182 @@
@@ -4531,7 +4502,7 @@ index 000000000..079582e89
+#endif +#endif
diff --git a/drivers/staging/t2bce/t2bce_dma/queue.c b/drivers/staging/t2bce/t2bce_dma/queue.c diff --git a/drivers/staging/t2bce/t2bce_dma/queue.c b/drivers/staging/t2bce/t2bce_dma/queue.c
new file mode 100644 new file mode 100644
index 000000000..0328e40cd index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_dma/queue.c +++ b/drivers/staging/t2bce/t2bce_dma/queue.c
@@ -0,0 +1,625 @@ @@ -0,0 +1,625 @@
@@ -5162,7 +5133,7 @@ index 000000000..0328e40cd
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
diff --git a/drivers/staging/t2bce/t2bce_vhci/Makefile b/drivers/staging/t2bce/t2bce_vhci/Makefile diff --git a/drivers/staging/t2bce/t2bce_vhci/Makefile b/drivers/staging/t2bce/t2bce_vhci/Makefile
new file mode 100644 new file mode 100644
index 000000000..45e988609 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_vhci/Makefile +++ b/drivers/staging/t2bce/t2bce_vhci/Makefile
@@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
@@ -5175,7 +5146,7 @@ index 000000000..45e988609
+ccflags-y += -I$(src)/../t2bce_core/include +ccflags-y += -I$(src)/../t2bce_core/include
diff --git a/drivers/staging/t2bce/t2bce_vhci/command.h b/drivers/staging/t2bce/t2bce_vhci/command.h diff --git a/drivers/staging/t2bce/t2bce_vhci/command.h b/drivers/staging/t2bce/t2bce_vhci/command.h
new file mode 100644 new file mode 100644
index 000000000..6dc5fc94f index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_vhci/command.h +++ b/drivers/staging/t2bce/t2bce_vhci/command.h
@@ -0,0 +1,206 @@ @@ -0,0 +1,206 @@
@@ -5387,7 +5358,7 @@ index 000000000..6dc5fc94f
+#endif //BCE_VHCI_COMMAND_H +#endif //BCE_VHCI_COMMAND_H
diff --git a/drivers/staging/t2bce/t2bce_vhci/queue.c b/drivers/staging/t2bce/t2bce_vhci/queue.c diff --git a/drivers/staging/t2bce/t2bce_vhci/queue.c b/drivers/staging/t2bce/t2bce_vhci/queue.c
new file mode 100644 new file mode 100644
index 000000000..63779fc92 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_vhci/queue.c +++ b/drivers/staging/t2bce/t2bce_vhci/queue.c
@@ -0,0 +1,269 @@ @@ -0,0 +1,269 @@
@@ -5662,7 +5633,7 @@ index 000000000..63779fc92
+} +}
diff --git a/drivers/staging/t2bce/t2bce_vhci/queue.h b/drivers/staging/t2bce/t2bce_vhci/queue.h diff --git a/drivers/staging/t2bce/t2bce_vhci/queue.h b/drivers/staging/t2bce/t2bce_vhci/queue.h
new file mode 100644 new file mode 100644
index 000000000..044eb2971 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_vhci/queue.h +++ b/drivers/staging/t2bce/t2bce_vhci/queue.h
@@ -0,0 +1,76 @@ @@ -0,0 +1,76 @@
@@ -5744,7 +5715,7 @@ index 000000000..044eb2971
+#endif //BCE_VHCI_QUEUE_H +#endif //BCE_VHCI_QUEUE_H
diff --git a/drivers/staging/t2bce/t2bce_vhci/transfer.c b/drivers/staging/t2bce/t2bce_vhci/transfer.c diff --git a/drivers/staging/t2bce/t2bce_vhci/transfer.c b/drivers/staging/t2bce/t2bce_vhci/transfer.c
new file mode 100644 new file mode 100644
index 000000000..1c9643e13 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_vhci/transfer.c +++ b/drivers/staging/t2bce/t2bce_vhci/transfer.c
@@ -0,0 +1,1261 @@ @@ -0,0 +1,1261 @@
@@ -7011,7 +6982,7 @@ index 000000000..1c9643e13
+} +}
diff --git a/drivers/staging/t2bce/t2bce_vhci/transfer.h b/drivers/staging/t2bce/t2bce_vhci/transfer.h diff --git a/drivers/staging/t2bce/t2bce_vhci/transfer.h b/drivers/staging/t2bce/t2bce_vhci/transfer.h
new file mode 100644 new file mode 100644
index 000000000..5416b65c5 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_vhci/transfer.h +++ b/drivers/staging/t2bce/t2bce_vhci/transfer.h
@@ -0,0 +1,86 @@ @@ -0,0 +1,86 @@
@@ -7103,7 +7074,7 @@ index 000000000..5416b65c5
+#endif //BCEDRIVER_TRANSFER_H +#endif //BCEDRIVER_TRANSFER_H
diff --git a/drivers/staging/t2bce/t2bce_vhci/vhci.c b/drivers/staging/t2bce/t2bce_vhci/vhci.c diff --git a/drivers/staging/t2bce/t2bce_vhci/vhci.c b/drivers/staging/t2bce/t2bce_vhci/vhci.c
new file mode 100644 new file mode 100644
index 000000000..682badb23 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_vhci/vhci.c +++ b/drivers/staging/t2bce/t2bce_vhci/vhci.c
@@ -0,0 +1,1293 @@ @@ -0,0 +1,1293 @@
@@ -8402,7 +8373,7 @@ index 000000000..682badb23
+module_exit(bce_vhci_module_exit); +module_exit(bce_vhci_module_exit);
diff --git a/drivers/staging/t2bce/t2bce_vhci/vhci.h b/drivers/staging/t2bce/t2bce_vhci/vhci.h diff --git a/drivers/staging/t2bce/t2bce_vhci/vhci.h b/drivers/staging/t2bce/t2bce_vhci/vhci.h
new file mode 100644 new file mode 100644
index 000000000..cc18c6c58 index 000000000000..111111111111
--- /dev/null --- /dev/null
+++ b/drivers/staging/t2bce/t2bce_vhci/vhci.h +++ b/drivers/staging/t2bce/t2bce_vhci/vhci.h
@@ -0,0 +1,69 @@ @@ -0,0 +1,69 @@
@@ -8476,5 +8447,5 @@ index 000000000..cc18c6c58
+ +
+#endif //BCE_VHCI_H +#endif //BCE_VHCI_H
-- --
2.54.0 Armbian
@@ -1,8 +1,8 @@
From 41ee66633eea8b2de503db0f4412b5d0b254d15c Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com> <41898282+github-actions[bot]@users.noreply.github.com>
Date: Mon, 3 Aug 2026 14:15:45 +0000 Date: Fri, 7 Aug 2026 15:55:34 +0000
Subject: [PATCH] Integrate t2bce driver stack Subject: Integrate t2bce driver stack
--- ---
drivers/staging/Kconfig | 2 ++ drivers/staging/Kconfig | 2 ++
@@ -10,7 +10,7 @@ Subject: [PATCH] Integrate t2bce driver stack
2 files changed, 3 insertions(+) 2 files changed, 3 insertions(+)
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
index 2f92cd698..8e5d34d06 100644 index 111111111111..222222222222 100644
--- a/drivers/staging/Kconfig --- a/drivers/staging/Kconfig
+++ b/drivers/staging/Kconfig +++ b/drivers/staging/Kconfig
@@ -48,4 +48,6 @@ source "drivers/staging/axis-fifo/Kconfig" @@ -48,4 +48,6 @@ source "drivers/staging/axis-fifo/Kconfig"
@@ -21,7 +21,7 @@ index 2f92cd698..8e5d34d06 100644
+ +
endif # STAGING endif # STAGING
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index f5b8876aa..6b61cce48 100644 index 111111111111..222222222222 100644
--- a/drivers/staging/Makefile --- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile +++ b/drivers/staging/Makefile
@@ -13,3 +13,4 @@ obj-$(CONFIG_MOST) += most/ @@ -13,3 +13,4 @@ obj-$(CONFIG_MOST) += most/
@@ -30,5 +30,5 @@ index f5b8876aa..6b61cce48 100644
obj-$(CONFIG_XIL_AXIS_FIFO) += axis-fifo/ obj-$(CONFIG_XIL_AXIS_FIFO) += axis-fifo/
+obj-$(CONFIG_T2BCE_CORE) += t2bce/ +obj-$(CONFIG_T2BCE_CORE) += t2bce/
-- --
2.54.0 Armbian
@@ -1,22 +1,22 @@
From 8a84123c2f8619a14f9fc493db2528e59fcc0db8 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Orlando Chamberlain <orlandoch.dev@gmail.com> From: Orlando Chamberlain <orlandoch.dev@gmail.com>
Date: Fri, 28 Jun 2024 04:43:50 +0000 Date: Fri, 28 Jun 2024 04:43:50 +0000
Subject: [PATCH 8/9] i915: 4 lane quirk for mbp15,1 Subject: i915: 4 lane quirk for mbp15,1
Needed to use iGPU when dGPU was boot GPU Needed to use iGPU when dGPU was boot GPU
Patch written by Kerem Karabay <kekrby@gmail.com> Patch written by Kerem Karabay <kekrby@gmail.com>
--- ---
drivers/gpu/drm/i915/display/intel_ddi.c | 4 ++++ drivers/gpu/drm/i915/display/intel_ddi.c | 3 ++
drivers/gpu/drm/i915/display/intel_quirks.c | 15 +++++++++++++++ drivers/gpu/drm/i915/display/intel_quirks.c | 15 ++++++++++
drivers/gpu/drm/i915/display/intel_quirks.h | 1 + drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
3 files changed, 20 insertions(+) 3 files changed, 19 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 49b5cc01c..1435f49f2 100644 index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c --- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -4693,6 +4694,9 @@ static bool intel_ddi_a_force_4_lanes(struct intel_digital_port *dig_port) @@ -4940,6 +4940,9 @@ static bool intel_ddi_a_force_4_lanes(struct intel_digital_port *dig_port)
if (dig_port->ddi_a_4_lanes) if (dig_port->ddi_a_4_lanes)
return false; return false;
@@ -27,10 +27,10 @@ index 49b5cc01c..1435f49f2 100644
* supported configuration * supported configuration
*/ */
diff --git a/drivers/gpu/drm/i915/display/intel_quirks.c b/drivers/gpu/drm/i915/display/intel_quirks.c diff --git a/drivers/gpu/drm/i915/display/intel_quirks.c b/drivers/gpu/drm/i915/display/intel_quirks.c
index 28f497ae7..c2952b0f8 100644 index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/i915/display/intel_quirks.c --- a/drivers/gpu/drm/i915/display/intel_quirks.c
+++ b/drivers/gpu/drm/i915/display/intel_quirks.c +++ b/drivers/gpu/drm/i915/display/intel_quirks.c
@@ -64,6 +64,18 @@ static void quirk_increase_ddi_disabled_time(struct intel_display *display) @@ -66,6 +66,18 @@ static void quirk_increase_ddi_disabled_time(struct intel_display *display)
drm_info(display->drm, "Applying Increase DDI Disabled quirk\n"); drm_info(display->drm, "Applying Increase DDI Disabled quirk\n");
} }
@@ -49,7 +49,7 @@ index 28f497ae7..c2952b0f8 100644
static void quirk_no_pps_backlight_power_hook(struct intel_display *display) static void quirk_no_pps_backlight_power_hook(struct intel_display *display)
{ {
intel_set_quirk(display, QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK); intel_set_quirk(display, QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK);
@@ -229,6 +241,9 @@ static struct intel_quirk intel_quirks[] = { @@ -259,6 +271,9 @@ static struct intel_quirk intel_quirks[] = {
/* Xiaomi Book Pro 14 2026 */ /* Xiaomi Book Pro 14 2026 */
{ 0xb081, 0x1d72, 0x2424, quirk_disable_psr2 }, { 0xb081, 0x1d72, 0x2424, quirk_disable_psr2 },
@@ -60,10 +60,10 @@ index 28f497ae7..c2952b0f8 100644
static const struct intel_dpcd_quirk intel_dpcd_quirks[] = { static const struct intel_dpcd_quirk intel_dpcd_quirks[] = {
diff --git a/drivers/gpu/drm/i915/display/intel_quirks.h b/drivers/gpu/drm/i915/display/intel_quirks.h diff --git a/drivers/gpu/drm/i915/display/intel_quirks.h b/drivers/gpu/drm/i915/display/intel_quirks.h
index cafdebda7..a5296f827 100644 index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/i915/display/intel_quirks.h --- a/drivers/gpu/drm/i915/display/intel_quirks.h
+++ b/drivers/gpu/drm/i915/display/intel_quirks.h +++ b/drivers/gpu/drm/i915/display/intel_quirks.h
@@ -20,6 +20,7 @@ enum intel_quirk_id { @@ -23,6 +23,7 @@ enum intel_quirk_id {
QUIRK_EDP_LIMIT_RATE_HBR2, QUIRK_EDP_LIMIT_RATE_HBR2,
QUIRK_DISABLE_EDP_PANEL_REPLAY, QUIRK_DISABLE_EDP_PANEL_REPLAY,
QUIRK_DISABLE_PSR2, QUIRK_DISABLE_PSR2,
@@ -72,5 +72,5 @@ index cafdebda7..a5296f827 100644
void intel_init_quirks(struct intel_display *display); void intel_init_quirks(struct intel_display *display);
-- --
2.48.1 Armbian
@@ -1,7 +1,7 @@
From bd8e785c74e22978648ced004552eb9c137f1eb6 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Orlando Chamberlain <orlandoch.dev@gmail.com> From: Orlando Chamberlain <orlandoch.dev@gmail.com>
Date: Fri, 10 Feb 2023 22:45:00 +1100 Date: Fri, 10 Feb 2023 22:45:00 +1100
Subject: [PATCH 9/9] apple-gmux: allow switching to igpu at probe Subject: apple-gmux: allow switching to igpu at probe
This means user don't need to set the gpu-power-prefs efivar to use the This means user don't need to set the gpu-power-prefs efivar to use the
igpu while runtime switching isn't working, so macOS will be unaffected. igpu while runtime switching isn't working, so macOS will be unaffected.
@@ -11,17 +11,17 @@ switch at runtime (so both gpus need to be able to probe the eDP panel).
Based off of work by Kerem Karabay <kekrby@gmail.com> Based off of work by Kerem Karabay <kekrby@gmail.com>
--- ---
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3 ++
drivers/gpu/vga/vga_switcheroo.c | 7 +------ drivers/gpu/vga/vga_switcheroo.c | 7 +---
drivers/pci/vgaarb.c | 1 + drivers/pci/vgaarb.c | 1 +
drivers/platform/x86/apple-gmux.c | 18 ++++++++++++++++++ drivers/platform/x86/apple-gmux.c | 18 ++++++++++
4 files changed, 23 insertions(+), 6 deletions(-) 4 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index 81edf66dbea8..8f3daf28665b 100644 index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -2051,6 +2051,9 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, @@ -2383,6 +2383,9 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
int ret, retry = 0, i; int ret, retry = 0, i;
bool supports_atomic = false; bool supports_atomic = false;
@@ -32,10 +32,10 @@ index 81edf66dbea8..8f3daf28665b 100644
(pdev->class >> 8) == PCI_CLASS_DISPLAY_OTHER) { (pdev->class >> 8) == PCI_CLASS_DISPLAY_OTHER) {
if (drm_firmware_drivers_only() && amdgpu_modeset == -1) if (drm_firmware_drivers_only() && amdgpu_modeset == -1)
diff --git a/drivers/gpu/vga/vga_switcheroo.c b/drivers/gpu/vga/vga_switcheroo.c diff --git a/drivers/gpu/vga/vga_switcheroo.c b/drivers/gpu/vga/vga_switcheroo.c
index 365e6ddbe90f..cf357cd3389d 100644 index 111111111111..222222222222 100644
--- a/drivers/gpu/vga/vga_switcheroo.c --- a/drivers/gpu/vga/vga_switcheroo.c
+++ b/drivers/gpu/vga/vga_switcheroo.c +++ b/drivers/gpu/vga/vga_switcheroo.c
@@ -438,12 +438,7 @@ find_active_client(struct list_head *head) @@ -436,12 +436,7 @@ find_active_client(struct list_head *head)
bool vga_switcheroo_client_probe_defer(struct pci_dev *pdev) bool vga_switcheroo_client_probe_defer(struct pci_dev *pdev)
{ {
if (pci_is_display(pdev)) { if (pci_is_display(pdev)) {
@@ -50,7 +50,7 @@ index 365e6ddbe90f..cf357cd3389d 100644
} }
diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c
index 5e6b1eb54c64..1f11701d37d1 100644 index 111111111111..222222222222 100644
--- a/drivers/pci/vgaarb.c --- a/drivers/pci/vgaarb.c
+++ b/drivers/pci/vgaarb.c +++ b/drivers/pci/vgaarb.c
@@ -143,6 +143,7 @@ void vga_set_default_device(struct pci_dev *pdev) @@ -143,6 +143,7 @@ void vga_set_default_device(struct pci_dev *pdev)
@@ -62,7 +62,7 @@ index 5e6b1eb54c64..1f11701d37d1 100644
/** /**
* vga_remove_vgacon - deactivate VGA console * vga_remove_vgacon - deactivate VGA console
diff --git a/drivers/platform/x86/apple-gmux.c b/drivers/platform/x86/apple-gmux.c diff --git a/drivers/platform/x86/apple-gmux.c b/drivers/platform/x86/apple-gmux.c
index 1417e230edbd..e69785af8e1d 100644 index 111111111111..222222222222 100644
--- a/drivers/platform/x86/apple-gmux.c --- a/drivers/platform/x86/apple-gmux.c
+++ b/drivers/platform/x86/apple-gmux.c +++ b/drivers/platform/x86/apple-gmux.c
@@ -21,6 +21,7 @@ @@ -21,6 +21,7 @@
@@ -105,5 +105,5 @@ index 1417e230edbd..e69785af8e1d 100644
* Retina MacBook Pros cannot switch the panel's AUX separately * Retina MacBook Pros cannot switch the panel's AUX separately
* and need eDP pre-calibration. They are distinguishable from * and need eDP pre-calibration. They are distinguishable from
-- --
2.43.0 Armbian
@@ -1,7 +1,7 @@
From aa8cbca2aa7fa99119fe0e7de616d5b0dcde3a15 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paul Pawlowski <paul@mrarm.io> From: Paul Pawlowski <paul@mrarm.io>
Date: Sun, 17 Nov 2019 23:12:55 +0100 Date: Sun, 17 Nov 2019 23:12:55 +0100
Subject: [PATCH 1/9] applesmc: convert static structures to drvdata Subject: applesmc: convert static structures to drvdata
All static data structures have been moved to an applesmc_device struct, All static data structures have been moved to an applesmc_device struct,
which is then associated with the platform device. which is then associated with the platform device.
@@ -10,11 +10,11 @@ static data would preferably be avoided.
Signed-off-by: Aun-Ali Zaidi <admin@kodeit.net> Signed-off-by: Aun-Ali Zaidi <admin@kodeit.net>
--- ---
drivers/hwmon/applesmc.c | 540 +++++++++++++++++++++++---------------- drivers/hwmon/applesmc.c | 540 ++++++----
1 file changed, 319 insertions(+), 221 deletions(-) 1 file changed, 319 insertions(+), 221 deletions(-)
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index fc6d6a905..7fb40738d 100644 index 111111111111..222222222222 100644
--- a/drivers/hwmon/applesmc.c --- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c +++ b/drivers/hwmon/applesmc.c
@@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
@@ -1040,9 +1040,9 @@ index fc6d6a905..7fb40738d 100644
} }
static int applesmc_dmi_match(const struct dmi_system_id *id) static int applesmc_dmi_match(const struct dmi_system_id *id)
@@ -1306,86 +1397,100 @@ static const struct dmi_system_id applesmc_whitelist[] __initconst = { @@ -1307,86 +1398,100 @@ static const struct dmi_system_id applesmc_whitelist[] __initconst = {
{ .ident = NULL }
}; };
MODULE_DEVICE_TABLE(dmi, applesmc_whitelist);
-static int __init applesmc_init(void) -static int __init applesmc_init(void)
+static int applesmc_create_modules(struct applesmc_device *smc) +static int applesmc_create_modules(struct applesmc_device *smc)
@@ -1190,7 +1190,7 @@ index fc6d6a905..7fb40738d 100644
out_driver: out_driver:
platform_driver_unregister(&applesmc_driver); platform_driver_unregister(&applesmc_driver);
out_region: out_region:
@@ -1397,14 +1502,6 @@ static int __init applesmc_init(void) @@ -1398,14 +1503,6 @@ static int __init applesmc_init(void)
static void __exit applesmc_exit(void) static void __exit applesmc_exit(void)
{ {
@@ -1205,14 +1205,13 @@ index fc6d6a905..7fb40738d 100644
platform_device_unregister(pdev); platform_device_unregister(pdev);
platform_driver_unregister(&applesmc_driver); platform_driver_unregister(&applesmc_driver);
release_region(APPLESMC_DATA_PORT, APPLESMC_NR_PORTS); release_region(APPLESMC_DATA_PORT, APPLESMC_NR_PORTS);
@@ -1414,6 +1511,7 @@ module_init(applesmc_init); @@ -1415,5 +1512,6 @@ module_init(applesmc_init);
module_exit(applesmc_exit); module_exit(applesmc_exit);
MODULE_AUTHOR("Nicolas Boichat"); MODULE_AUTHOR("Nicolas Boichat");
+MODULE_AUTHOR("Paul Pawlowski"); +MODULE_AUTHOR("Paul Pawlowski");
MODULE_DESCRIPTION("Apple SMC"); MODULE_DESCRIPTION("Apple SMC");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
MODULE_DEVICE_TABLE(dmi, applesmc_whitelist);
-- --
2.45.2 Armbian
@@ -1,7 +1,7 @@
From d0b5f668d43281eda94dd64d48e39973139d107c Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paul Pawlowski <paul@mrarm.io> From: Paul Pawlowski <paul@mrarm.io>
Date: Sun, 17 Nov 2019 23:11:56 +0100 Date: Sun, 17 Nov 2019 23:11:56 +0100
Subject: [PATCH 2/9] applesmc: make io port base addr dynamic Subject: applesmc: make io port base addr dynamic
This change makes the port base runtime configurable. This change makes the port base runtime configurable.
The reason why this change is made is so that when we switch to an The reason why this change is made is so that when we switch to an
@@ -12,11 +12,11 @@ address is still 0x300 on T2 Macs.
Signed-off-by: Aun-Ali Zaidi <admin@kodeit.net> Signed-off-by: Aun-Ali Zaidi <admin@kodeit.net>
--- ---
drivers/hwmon/applesmc.c | 91 +++++++++++++++++++++------------------- drivers/hwmon/applesmc.c | 91 +++++-----
1 file changed, 49 insertions(+), 42 deletions(-) 1 file changed, 49 insertions(+), 42 deletions(-)
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index 7fb40738d..a599db68b 100644 index 111111111111..222222222222 100644
--- a/drivers/hwmon/applesmc.c --- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c +++ b/drivers/hwmon/applesmc.c
@@ -35,10 +35,11 @@ @@ -35,10 +35,11 @@
@@ -280,7 +280,7 @@ index 7fb40738d..a599db68b 100644
if (ret) if (ret)
return ret; return ret;
@@ -1472,7 +1479,7 @@ static int __init applesmc_init(void) @@ -1473,7 +1480,7 @@ static int __init applesmc_init(void)
goto out; goto out;
} }
@@ -289,7 +289,7 @@ index 7fb40738d..a599db68b 100644
"applesmc")) { "applesmc")) {
ret = -ENXIO; ret = -ENXIO;
goto out; goto out;
@@ -1494,7 +1501,7 @@ static int __init applesmc_init(void) @@ -1495,7 +1502,7 @@ static int __init applesmc_init(void)
out_driver: out_driver:
platform_driver_unregister(&applesmc_driver); platform_driver_unregister(&applesmc_driver);
out_region: out_region:
@@ -298,7 +298,7 @@ index 7fb40738d..a599db68b 100644
out: out:
pr_warn("driver init failed (ret=%d)!\n", ret); pr_warn("driver init failed (ret=%d)!\n", ret);
return ret; return ret;
@@ -1504,7 +1511,7 @@ static void __exit applesmc_exit(void) @@ -1505,7 +1512,7 @@ static void __exit applesmc_exit(void)
{ {
platform_device_unregister(pdev); platform_device_unregister(pdev);
platform_driver_unregister(&applesmc_driver); platform_driver_unregister(&applesmc_driver);
@@ -308,5 +308,5 @@ index 7fb40738d..a599db68b 100644
module_init(applesmc_init); module_init(applesmc_init);
-- --
2.45.2 Armbian
@@ -1,7 +1,7 @@
From c405f826e30e0035581b350084d61457ddde6146 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paul Pawlowski <paul@mrarm.io> From: Paul Pawlowski <paul@mrarm.io>
Date: Sat, 29 Jun 2024 04:49:16 +0000 Date: Sat, 29 Jun 2024 04:49:16 +0000
Subject: [PATCH 3/9] applesmc: switch to acpi_device (from platform) Subject: applesmc: switch to acpi_device (from platform)
This change makes the change from platform_device This change makes the change from platform_device
to acpi_device. The rationale for this change is to acpi_device. The rationale for this change is
@@ -17,11 +17,11 @@ should not result in any incompatibilities.
Signed-off-by: Aun-Ali Zaidi <admin@kodeit.net> Signed-off-by: Aun-Ali Zaidi <admin@kodeit.net>
--- ---
drivers/hwmon/applesmc.c | 124 ++++++++++++++++++++++++++------------- drivers/hwmon/applesmc.c | 124 +++++++---
1 file changed, 84 insertions(+), 40 deletions(-) 1 file changed, 84 insertions(+), 40 deletions(-)
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index a599db68b..b4fe412c0 100644 index 111111111111..222222222222 100644
--- a/drivers/hwmon/applesmc.c --- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c +++ b/drivers/hwmon/applesmc.c
@@ -19,7 +19,7 @@ @@ -19,7 +19,7 @@
@@ -208,7 +208,7 @@ index a599db68b..b4fe412c0 100644
if (!smc->reg.has_accelerometer) if (!smc->reg.has_accelerometer)
return 0; return 0;
@@ -1467,8 +1532,6 @@ static void applesmc_destroy_modules(struct applesmc_device *smc) @@ -1468,8 +1533,6 @@ static void applesmc_destroy_modules(struct applesmc_device *smc)
applesmc_destroy_nodes(smc, info_group); applesmc_destroy_nodes(smc, info_group);
} }
@@ -217,7 +217,7 @@ index a599db68b..b4fe412c0 100644
static int __init applesmc_init(void) static int __init applesmc_init(void)
{ {
int ret; int ret;
@@ -1479,29 +1542,12 @@ static int __init applesmc_init(void) @@ -1480,29 +1543,12 @@ static int __init applesmc_init(void)
goto out; goto out;
} }
@@ -249,7 +249,7 @@ index a599db68b..b4fe412c0 100644
out: out:
pr_warn("driver init failed (ret=%d)!\n", ret); pr_warn("driver init failed (ret=%d)!\n", ret);
return ret; return ret;
@@ -1509,9 +1555,7 @@ static int __init applesmc_init(void) @@ -1510,9 +1556,7 @@ static int __init applesmc_init(void)
static void __exit applesmc_exit(void) static void __exit applesmc_exit(void)
{ {
@@ -261,5 +261,5 @@ index a599db68b..b4fe412c0 100644
module_init(applesmc_init); module_init(applesmc_init);
-- --
2.45.2 Armbian
@@ -1,7 +1,7 @@
From 1ce5dd27e4464383ddfba3ee0d7ffdc7020bd81c Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paul Pawlowski <paul@mrarm.io> From: Paul Pawlowski <paul@mrarm.io>
Date: Sun, 17 Nov 2019 23:12:14 +0100 Date: Sun, 17 Nov 2019 23:12:14 +0100
Subject: [PATCH 4/9] applesmc: key interface wrappers Subject: applesmc: key interface wrappers
This change replaces the read_smc and write_smc This change replaces the read_smc and write_smc
methods with wrappers, additionally removing the methods with wrappers, additionally removing the
@@ -16,11 +16,11 @@ separated.
Signed-off-by: Aun-Ali Zaidi <admin@kodeit.net> Signed-off-by: Aun-Ali Zaidi <admin@kodeit.net>
--- ---
drivers/hwmon/applesmc.c | 119 ++++++++++++++++++++++++++------------- drivers/hwmon/applesmc.c | 119 ++++++----
1 file changed, 79 insertions(+), 40 deletions(-) 1 file changed, 79 insertions(+), 40 deletions(-)
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index b4fe412c0..5442897e3 100644 index 111111111111..222222222222 100644
--- a/drivers/hwmon/applesmc.c --- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c +++ b/drivers/hwmon/applesmc.c
@@ -172,7 +172,7 @@ static const int debug; @@ -172,7 +172,7 @@ static const int debug;
@@ -294,5 +294,5 @@ index b4fe412c0..5442897e3 100644
out: out:
-- --
2.45.2 Armbian
@@ -1,7 +1,7 @@
From 665609158a43eb6ab3d79e6ee06b9c1edf1cd331 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Aun-Ali Zaidi <admin@kodeit.net> From: Aun-Ali Zaidi <admin@kodeit.net>
Date: Sun, 17 Nov 2019 23:12:16 +0100 Date: Sun, 17 Nov 2019 23:12:16 +0100
Subject: [PATCH 5/9] applesmc: basic mmio interface implementation Subject: applesmc: basic mmio interface implementation
This change introduces a basic MMIO-based This change introduces a basic MMIO-based
interface implementation required to communicate interface implementation required to communicate
@@ -17,11 +17,11 @@ key by index and getting key info).
Signed-off-by: Aun-Ali Zaidi <admin@kodeit.net> Signed-off-by: Aun-Ali Zaidi <admin@kodeit.net>
--- ---
drivers/hwmon/applesmc.c | 237 ++++++++++++++++++++++++++++++++++++++- drivers/hwmon/applesmc.c | 237 +++++++++-
1 file changed, 231 insertions(+), 6 deletions(-) 1 file changed, 231 insertions(+), 6 deletions(-)
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index 5442897e3..435541f9f 100644 index 111111111111..222222222222 100644
--- a/drivers/hwmon/applesmc.c --- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c +++ b/drivers/hwmon/applesmc.c
@@ -42,6 +42,18 @@ @@ -42,6 +42,18 @@
@@ -339,5 +339,5 @@ index 5442897e3..435541f9f 100644
} }
-- --
2.45.2 Armbian
@@ -1,7 +1,7 @@
From e77e6a12cd389d1d61b861a1c88a6f393daa6d91 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paul Pawlowski <paul@mrarm.io> From: Paul Pawlowski <paul@mrarm.io>
Date: Sun, 17 Nov 2019 23:12:18 +0100 Date: Sun, 17 Nov 2019 23:12:18 +0100
Subject: [PATCH 6/9] applesmc: fan support on T2 Macs Subject: applesmc: fan support on T2 Macs
T2 Macs changed the fan values from shorts to T2 Macs changed the fan values from shorts to
floats, and changed the fan manual override floats, and changed the fan manual override
@@ -15,11 +15,11 @@ versa).
Signed-off-by: Aun-Ali Zaidi <admin@kodeit.net> Signed-off-by: Aun-Ali Zaidi <admin@kodeit.net>
--- ---
drivers/hwmon/applesmc.c | 119 +++++++++++++++++++++++++++++++++------ drivers/hwmon/applesmc.c | 119 ++++++++--
1 file changed, 102 insertions(+), 17 deletions(-) 1 file changed, 102 insertions(+), 17 deletions(-)
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index 435541f9f..46b64eba7 100644 index 111111111111..222222222222 100644
--- a/drivers/hwmon/applesmc.c --- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c +++ b/drivers/hwmon/applesmc.c
@@ -87,6 +87,7 @@ @@ -87,6 +87,7 @@
@@ -223,5 +223,5 @@ index 435541f9f..46b64eba7 100644
out: out:
if (ret) if (ret)
-- --
2.45.2 Armbian
@@ -1,7 +1,7 @@
From 5c95c8e1ada14babfba0f21a2f481d7ff53d17c7 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Orlando Chamberlain <redecorating@protonmail.com> From: Orlando Chamberlain <redecorating@protonmail.com>
Date: Sun, 9 Oct 2022 15:59:01 +0530 Date: Sun, 9 Oct 2022 15:59:01 +0530
Subject: [PATCH 7/9] applesmc: Add iMacPro to applesmc_whitelist Subject: applesmc: Add iMacPro to applesmc_whitelist
The iMacPro1,1 is the only iMacPro released before the line was The iMacPro1,1 is the only iMacPro released before the line was
discontinued. Add it to the applesmc_whitelist. discontinued. Add it to the applesmc_whitelist.
@@ -12,7 +12,7 @@ Signed-off-by: Orlando Chamberlain <redecorating@protonmail.com>
1 file changed, 4 insertions(+) 1 file changed, 4 insertions(+)
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index 46b64eba7..8c7b2e2cd 100644 index 111111111111..222222222222 100644
--- a/drivers/hwmon/applesmc.c --- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c +++ b/drivers/hwmon/applesmc.c
@@ -1803,6 +1803,10 @@ static const struct dmi_system_id applesmc_whitelist[] __initconst = { @@ -1803,6 +1803,10 @@ static const struct dmi_system_id applesmc_whitelist[] __initconst = {
@@ -27,5 +27,5 @@ index 46b64eba7..8c7b2e2cd 100644
DMI_MATCH(DMI_BOARD_VENDOR, "Apple"), DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
DMI_MATCH(DMI_PRODUCT_NAME, "MacPro") }, DMI_MATCH(DMI_PRODUCT_NAME, "MacPro") },
-- --
2.45.2 Armbian
@@ -1,7 +1,7 @@
From 4d444d98c6f5f7f39540386b97aa8d77102ada74 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Orlando Chamberlain <orlandoch.dev@gmail.com> From: Orlando Chamberlain <orlandoch.dev@gmail.com>
Date: Tue, 24 Jan 2023 15:46:48 +1100 Date: Tue, 24 Jan 2023 15:46:48 +1100
Subject: [PATCH 8/9] applesmc: make applesmc_remove void Subject: applesmc: make applesmc_remove void
for linux6.2 compatibility for linux6.2 compatibility
--- ---
@@ -9,7 +9,7 @@ for linux6.2 compatibility
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index 8c7b2e2cd..5f67d7362 100644 index 111111111111..222222222222 100644
--- a/drivers/hwmon/applesmc.c --- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c +++ b/drivers/hwmon/applesmc.c
@@ -979,7 +979,7 @@ static int applesmc_add(struct acpi_device *dev) @@ -979,7 +979,7 @@ static int applesmc_add(struct acpi_device *dev)
@@ -31,5 +31,5 @@ index 8c7b2e2cd..5f67d7362 100644
static acpi_status applesmc_walk_resources(struct acpi_resource *res, static acpi_status applesmc_walk_resources(struct acpi_resource *res,
-- --
2.45.2 Armbian
@@ -1,14 +1,14 @@
From add0db8b96c3f90b844586a3b9ea32041bae4b2c Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Orlando Chamberlain <orlandoch.dev@gmail.com> From: Orlando Chamberlain <orlandoch.dev@gmail.com>
Date: Mon, 30 Jan 2023 18:42:21 +1100 Date: Mon, 30 Jan 2023 18:42:21 +1100
Subject: [PATCH 9/9] applesmc: battery charge limiter Subject: applesmc: battery charge limiter
--- ---
drivers/hwmon/applesmc.c | 42 +++++++++++++++++++++++++++++++++++++++- drivers/hwmon/applesmc.c | 42 +++++++++-
1 file changed, 41 insertions(+), 1 deletion(-) 1 file changed, 41 insertions(+), 1 deletion(-)
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index 5f67d7362..698f44794 100644 index 111111111111..222222222222 100644
--- a/drivers/hwmon/applesmc.c --- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c +++ b/drivers/hwmon/applesmc.c
@@ -1477,6 +1477,35 @@ static void applesmc_brightness_set(struct led_classdev *led_cdev, @@ -1477,6 +1477,35 @@ static void applesmc_brightness_set(struct led_classdev *led_cdev,
@@ -59,7 +59,7 @@ index 5f67d7362..698f44794 100644
/* Module stuff */ /* Module stuff */
/* /*
@@ -1829,10 +1863,13 @@ static int applesmc_create_modules(struct applesmc_device *smc) @@ -1830,10 +1864,13 @@ static int applesmc_create_modules(struct applesmc_device *smc)
ret = applesmc_create_nodes(smc, info_group, 1); ret = applesmc_create_nodes(smc, info_group, 1);
if (ret) if (ret)
goto out; goto out;
@@ -74,7 +74,7 @@ index 5f67d7362..698f44794 100644
ret = applesmc_create_nodes(smc, temp_group, smc->reg.index_count); ret = applesmc_create_nodes(smc, temp_group, smc->reg.index_count);
if (ret) if (ret)
@@ -1868,6 +1905,8 @@ static int applesmc_create_modules(struct applesmc_device *smc) @@ -1869,6 +1906,8 @@ static int applesmc_create_modules(struct applesmc_device *smc)
applesmc_destroy_nodes(smc, temp_group); applesmc_destroy_nodes(smc, temp_group);
out_fans: out_fans:
applesmc_destroy_nodes(smc, fan_group); applesmc_destroy_nodes(smc, fan_group);
@@ -83,7 +83,7 @@ index 5f67d7362..698f44794 100644
out_info: out_info:
applesmc_destroy_nodes(smc, info_group); applesmc_destroy_nodes(smc, info_group);
out: out:
@@ -1882,6 +1921,7 @@ static void applesmc_destroy_modules(struct applesmc_device *smc) @@ -1883,6 +1922,7 @@ static void applesmc_destroy_modules(struct applesmc_device *smc)
applesmc_release_accelerometer(smc); applesmc_release_accelerometer(smc);
applesmc_destroy_nodes(smc, temp_group); applesmc_destroy_nodes(smc, temp_group);
applesmc_destroy_nodes(smc, fan_group); applesmc_destroy_nodes(smc, fan_group);
@@ -92,5 +92,5 @@ index 5f67d7362..698f44794 100644
} }
-- --
2.45.2 Armbian
File diff suppressed because it is too large Load Diff
@@ -1,19 +1,19 @@
From 2a61d561add01926e19b2ae370c99b93a836bca9 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Aditya Garg <gargaditya08@live.com> From: Aditya Garg <aditya.garg@linux.dev>
Date: Fri, 12 Sep 2025 12:09:01 +0000 Date: Fri, 12 Sep 2025 12:09:01 +0000
Subject: [PATCH 2/5] HID: apple: ignore the trackpad on T2 Macs Subject: HID: apple: ignore the trackpad on T2 Macs
In order to manage the trackpad on T2 Macs by hid-magicmouse driver The trackpad on T2 Macs is incorrectly bound by the hid-apple driver.
we need to ensure that it is not bound by the hid-apple driver. Use This is due to both trackpad and keyboard sharing the same VID/PID.
the existing APPLE_IGNORE_MOUSE quirk for the same. Use the existing APPLE_IGNORE_MOUSE quirk for the same.
Signed-off-by: Aditya Garg <gargaditya08@live.com> Signed-off-by: Aditya Garg <aditya.garg@linux.dev>
--- ---
drivers/hid/hid-apple.c | 27 +++++++++++++++++---------- drivers/hid/hid-apple.c | 27 ++++++----
1 file changed, 17 insertions(+), 10 deletions(-) 1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c
index 4505e5839..cdc008c66 100644 index 111111111111..222222222222 100644
--- a/drivers/hid/hid-apple.c --- a/drivers/hid/hid-apple.c
+++ b/drivers/hid/hid-apple.c +++ b/drivers/hid/hid-apple.c
@@ -30,7 +30,7 @@ @@ -30,7 +30,7 @@
@@ -25,17 +25,17 @@ index 4505e5839..cdc008c66 100644
#define APPLE_HAS_FN BIT(2) #define APPLE_HAS_FN BIT(2)
/* BIT(3) reserved, was: APPLE_HIDDEV */ /* BIT(3) reserved, was: APPLE_HIDDEV */
#define APPLE_ISO_TILDE_QUIRK BIT(4) #define APPLE_ISO_TILDE_QUIRK BIT(4)
@@ -951,6 +951,9 @@ static int apple_probe(struct hid_device *hdev, @@ -985,6 +985,9 @@ static int apple_probe(struct hid_device *hdev,
hdev->type != HID_TYPE_SPI_KEYBOARD) hdev->type != HID_TYPE_SPI_KEYBOARD)
return -ENODEV; return -ENODEV;
+ if (quirks & APPLE_IGNORE_MOUSE && hdev->type == HID_TYPE_USBMOUSE) + if (quirks & APPLE_IGNORE_MOUSE && hdev->type == HID_TYPE_USBMOUSE)
+ return -ENODEV; + return -ENODEV;
+ +
asc = devm_kzalloc(&hdev->dev, sizeof(*asc), GFP_KERNEL); // key remapping will happen in xkeyboard-config so ignore
if (asc == NULL) { // APPLE_ISO_TILDE_QUIRK
hid_err(hdev, "can't alloc apple descriptor\n"); if ((id->bus == BUS_SPI || id->bus == BUS_HOST) && fnmode == FKEYS_IGNORE)
@@ -1173,27 +1176,31 @@ static const struct hid_device_id apple_devices[] = { @@ -1212,27 +1215,31 @@ static const struct hid_device_id apple_devices[] = {
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_JIS), { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_JIS),
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS }, .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRINGT2_J140K), { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRINGT2_J140K),
@@ -77,5 +77,5 @@ index 4505e5839..cdc008c66 100644
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO), { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO),
-- --
2.50.1 Armbian
@@ -1,8 +1,7 @@
From 4cc9316f58027ec2617e82fd228b7d2714644907 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Aditya Garg <gargaditya08@live.com> From: Aditya Garg <gargaditya08@live.com>
Date: Tue, 11 Mar 2025 18:44:06 +0530 Date: Tue, 11 Mar 2025 18:44:06 +0530
Subject: [PATCH 3/5] HID: magicmouse: Add support for trackpads found on T2 Subject: HID: magicmouse: Add support for trackpads found on T2 Macs
Macs
This patch adds support for trackpads found on Macs with the T2 This patch adds support for trackpads found on Macs with the T2
Security Chip. The touch report format differs from other trackpads. Security Chip. The touch report format differs from other trackpads.
@@ -10,11 +9,11 @@ It is the same format as type 4 in bcm5974.c
Signed-off-by: Aditya Garg <gargaditya08@live.com> Signed-off-by: Aditya Garg <gargaditya08@live.com>
--- ---
drivers/hid/hid-magicmouse.c | 296 ++++++++++++++++++++++++++++++++--- drivers/hid/hid-magicmouse.c | 290 +++++++++-
1 file changed, 275 insertions(+), 21 deletions(-) 1 file changed, 269 insertions(+), 21 deletions(-)
diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c
index 3c062f80c..b40f41168 100644 index 111111111111..222222222222 100644
--- a/drivers/hid/hid-magicmouse.c --- a/drivers/hid/hid-magicmouse.c
+++ b/drivers/hid/hid-magicmouse.c +++ b/drivers/hid/hid-magicmouse.c
@@ -118,6 +118,105 @@ MODULE_PARM_DESC(report_undeciphered, "Report undeciphered multi-touch state fie @@ -118,6 +118,105 @@ MODULE_PARM_DESC(report_undeciphered, "Report undeciphered multi-touch state fie
@@ -136,7 +135,7 @@ index 3c062f80c..b40f41168 100644
struct magicmouse_input_ops { struct magicmouse_input_ops {
int (*raw_event)(struct hid_device *hdev, int (*raw_event)(struct hid_device *hdev,
@@ -733,7 +836,7 @@ static void report_finger_data(struct input_dev *input, int slot, @@ -756,7 +859,7 @@ static void report_finger_data(struct input_dev *input, int slot,
input_report_abs(input, ABS_MT_WIDTH_MINOR, input_report_abs(input, ABS_MT_WIDTH_MINOR,
le16_to_int(f->tool_minor) << 1); le16_to_int(f->tool_minor) << 1);
input_report_abs(input, ABS_MT_ORIENTATION, input_report_abs(input, ABS_MT_ORIENTATION,
@@ -145,7 +144,7 @@ index 3c062f80c..b40f41168 100644
input_report_abs(input, ABS_MT_PRESSURE, le16_to_int(f->pressure)); input_report_abs(input, ABS_MT_PRESSURE, le16_to_int(f->pressure));
input_report_abs(input, ABS_MT_POSITION_X, pos->x); input_report_abs(input, ABS_MT_POSITION_X, pos->x);
input_report_abs(input, ABS_MT_POSITION_Y, pos->y); input_report_abs(input, ABS_MT_POSITION_Y, pos->y);
@@ -821,6 +924,20 @@ static int magicmouse_raw_event_spi(struct hid_device *hdev, @@ -844,6 +947,20 @@ static int magicmouse_raw_event_spi(struct hid_device *hdev,
return magicmouse_raw_event_mtp(hdev, report, data + hdr_sz, size - hdr_sz); return magicmouse_raw_event_mtp(hdev, report, data + hdr_sz, size - hdr_sz);
} }
@@ -166,7 +165,7 @@ index 3c062f80c..b40f41168 100644
static int magicmouse_event(struct hid_device *hdev, struct hid_field *field, static int magicmouse_event(struct hid_device *hdev, struct hid_field *field,
struct hid_usage *usage, __s32 value) struct hid_usage *usage, __s32 value)
{ {
@@ -1018,8 +1135,32 @@ static int magicmouse_setup_input_usb(struct input_dev *input, @@ -1048,8 +1165,32 @@ static int magicmouse_setup_input_usb(struct input_dev *input,
return 0; return 0;
} }
@@ -201,7 +200,7 @@ index 3c062f80c..b40f41168 100644
{ {
int error; int error;
int mt_flags = 0; int mt_flags = 0;
@@ -1060,19 +1201,17 @@ static int magicmouse_setup_input_mtp(struct input_dev *input, @@ -1090,19 +1231,17 @@ static int magicmouse_setup_input_mtp(struct input_dev *input,
input_abs_set_res(input, ABS_MT_PRESSURE, 1); input_abs_set_res(input, ABS_MT_PRESSURE, 1);
/* finger orientation */ /* finger orientation */
@@ -227,7 +226,7 @@ index 3c062f80c..b40f41168 100644
input_set_events_per_packet(input, 60); input_set_events_per_packet(input, 60);
@@ -1099,7 +1238,20 @@ static int magicmouse_setup_input_mtp(struct input_dev *input, @@ -1129,7 +1268,20 @@ static int magicmouse_setup_input_mtp(struct input_dev *input,
*/ */
input->open = magicmouse_open; input->open = magicmouse_open;
input->close = magicmouse_close; input->close = magicmouse_close;
@@ -249,7 +248,7 @@ index 3c062f80c..b40f41168 100644
return 0; return 0;
} }
@@ -1107,7 +1259,34 @@ static int magicmouse_setup_input_mtp(struct input_dev *input, @@ -1137,7 +1289,34 @@ static int magicmouse_setup_input_mtp(struct input_dev *input,
static int magicmouse_setup_input_spi(struct input_dev *input, static int magicmouse_setup_input_spi(struct input_dev *input,
struct hid_device *hdev) struct hid_device *hdev)
{ {
@@ -285,10 +284,10 @@ index 3c062f80c..b40f41168 100644
if (ret) if (ret)
return ret; return ret;
@@ -1180,6 +1359,18 @@ static int magicmouse_enable_multitouch(struct hid_device *hdev) @@ -1205,6 +1384,15 @@ static int magicmouse_enable_multitouch(struct hid_device *hdev)
feature = feature_mt_trackpad2_usb; case SPI_DEVICE_ID_APPLE_MACBOOK_PRO16_2021:
} case USB_DEVICE_ID_APPLE_MAGICTRACKPAD2:
break; case USB_DEVICE_ID_APPLE_MAGICTRACKPAD2_USBC:
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J140K: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J140K:
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J132: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J132:
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J680: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J680:
@@ -298,13 +297,10 @@ index 3c062f80c..b40f41168 100644
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J223: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J223:
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J230K: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J230K:
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J152F: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J152F:
+ feature_size = sizeof(feature_mt_trackpad2_usb); switch (hdev->vendor) {
+ feature = feature_mt_trackpad2_usb; case BT_VENDOR_ID_APPLE:
+ break; feature_size = sizeof(feature_mt_trackpad2_bt);
case USB_DEVICE_ID_APPLE_MAGICMOUSE2: @@ -1317,8 +1505,23 @@ static int magicmouse_probe(struct hid_device *hdev,
case USB_DEVICE_ID_APPLE_MAGICMOUSE2_USBC:
feature_size = sizeof(feature_mt_mouse2);
@@ -1273,8 +1464,23 @@ static int magicmouse_probe(struct hid_device *hdev,
int ret; int ret;
if ((id->bus == BUS_SPI || id->bus == BUS_HOST) && id->vendor == SPI_VENDOR_ID_APPLE && if ((id->bus == BUS_SPI || id->bus == BUS_HOST) && id->vendor == SPI_VENDOR_ID_APPLE &&
@@ -330,7 +326,7 @@ index 3c062f80c..b40f41168 100644
msc = devm_kzalloc(&hdev->dev, sizeof(*msc), GFP_KERNEL); msc = devm_kzalloc(&hdev->dev, sizeof(*msc), GFP_KERNEL);
if (msc == NULL) { if (msc == NULL) {
@@ -1284,15 +1490,33 @@ static int magicmouse_probe(struct hid_device *hdev, @@ -1328,15 +1531,33 @@ static int magicmouse_probe(struct hid_device *hdev,
// internal trackpad use a data format use input ops to avoid // internal trackpad use a data format use input ops to avoid
// conflicts with the report ID. // conflicts with the report ID.
@@ -369,10 +365,10 @@ index 3c062f80c..b40f41168 100644
} }
msc->scroll_accel = SCROLL_ACCEL_DEFAULT; msc->scroll_accel = SCROLL_ACCEL_DEFAULT;
@@ -1353,6 +1577,18 @@ static int magicmouse_probe(struct hid_device *hdev, @@ -1397,6 +1618,15 @@ static int magicmouse_probe(struct hid_device *hdev,
TRACKPAD2_USB_REPORT_ID, 0);
}
break; break;
case USB_DEVICE_ID_APPLE_MAGICTRACKPAD2:
case USB_DEVICE_ID_APPLE_MAGICTRACKPAD2_USBC:
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J140K: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J140K:
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J132: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J132:
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J680: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J680:
@@ -382,13 +378,10 @@ index 3c062f80c..b40f41168 100644
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J223: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J223:
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J230K: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J230K:
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J152F: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J152F:
+ report = hid_register_report(hdev, HID_INPUT_REPORT, switch (id->vendor) {
+ TRACKPAD2_USB_REPORT_ID, 0); case BT_VENDOR_ID_APPLE:
+ break; report = hid_register_report(hdev, HID_INPUT_REPORT,
case HID_ANY_ID: @@ -1539,6 +1769,24 @@ static const struct hid_device_id magic_mice[] = {
switch (id->bus) {
case BUS_HOST:
@@ -1464,6 +1700,24 @@ static const struct hid_device_id magic_mice[] = {
USB_DEVICE_ID_APPLE_MAGICTRACKPAD2_USBC), .driver_data = 0 }, USB_DEVICE_ID_APPLE_MAGICTRACKPAD2_USBC), .driver_data = 0 },
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE,
USB_DEVICE_ID_APPLE_MAGICTRACKPAD2_USBC), .driver_data = 0 }, USB_DEVICE_ID_APPLE_MAGICTRACKPAD2_USBC), .driver_data = 0 },
@@ -414,5 +407,5 @@ index 3c062f80c..b40f41168 100644
.driver_data = 0 }, .driver_data = 0 },
{ HID_DEVICE(BUS_HOST, HID_GROUP_ANY, HOST_VENDOR_ID_APPLE, { HID_DEVICE(BUS_HOST, HID_GROUP_ANY, HOST_VENDOR_ID_APPLE,
-- --
2.50.1 Armbian
@@ -1,54 +0,0 @@
From 1075f28377eb60788c78aedb1b9d7e9fa2f01bd7 Mon Sep 17 00:00:00 2001
From: Aditya Garg <gargaditya08@live.com>
Date: Wed, 8 Oct 2025 01:48:18 +0000
Subject: [PATCH] HID: magicmouse: fix regression breaking support for Magic
Trackpad 1
The case HID_ANY_ID and default are technically the same, but the first
one was assigning no report to the Magic Trackpad 1, while the second
one assigns the correct report. Since the first case is matched first,
the Magic Trackpad 1 was not being assigned any report, breaking
support for it.
Signed-off-by: Aditya Garg <gargaditya08@live.com>
---
drivers/hid/hid-magicmouse.c | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c
index b40f41168..4bf49d7ca 100644
--- a/drivers/hid/hid-magicmouse.c
+++ b/drivers/hid/hid-magicmouse.c
@@ -1589,7 +1589,7 @@ static int magicmouse_probe(struct hid_device *hdev,
report = hid_register_report(hdev, HID_INPUT_REPORT,
TRACKPAD2_USB_REPORT_ID, 0);
break;
- case HID_ANY_ID:
+ default:
switch (id->bus) {
case BUS_HOST:
report = hid_register_report(hdev, HID_INPUT_REPORT, MTP_REPORT_ID, 0);
@@ -1597,15 +1597,12 @@ static int magicmouse_probe(struct hid_device *hdev,
case BUS_SPI:
report = hid_register_report(hdev, HID_INPUT_REPORT, SPI_REPORT_ID, 0);
break;
- default:
- break;
+ default: /* USB_DEVICE_ID_APPLE_MAGICTRACKPAD */
+ report = hid_register_report(hdev, HID_INPUT_REPORT,
+ TRACKPAD_REPORT_ID, 0);
+ report = hid_register_report(hdev, HID_INPUT_REPORT,
+ DOUBLE_REPORT_ID, 0);
}
- break;
- default: /* USB_DEVICE_ID_APPLE_MAGICTRACKPAD */
- report = hid_register_report(hdev, HID_INPUT_REPORT,
- TRACKPAD_REPORT_ID, 0);
- report = hid_register_report(hdev, HID_INPUT_REPORT,
- DOUBLE_REPORT_ID, 0);
}
if (!report) {
--
2.50.1
@@ -1,8 +1,8 @@
From b35bf1b21ec5ce52a9672ce9924c133d8f4817a1 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Aditya Garg <gargaditya08@proton.me> From: Aditya Garg <gargaditya08@proton.me>
Date: Mon, 18 May 2026 17:06:58 +0000 Date: Mon, 18 May 2026 17:06:58 +0000
Subject: [PATCH] HID: appletb-kbd: add option to switch default layer on Subject: HID: appletb-kbd: add option to switch default layer on double
double pressing fn key pressing fn key
This patch enables a user to switch the default layer from media to fn This patch enables a user to switch the default layer from media to fn
keys and vice-versa upon double pressing the fn key. This behaviour can keys and vice-versa upon double pressing the fn key. This behaviour can
@@ -13,11 +13,11 @@ disables this behaviour.
Signed-off-by: Aditya Garg <gargaditya08@proton.me> Signed-off-by: Aditya Garg <gargaditya08@proton.me>
--- ---
drivers/hid/hid-appletb-kbd.c | 60 +++++++++++++++++++++++++++++++---- drivers/hid/hid-appletb-kbd.c | 60 ++++++++--
1 file changed, 53 insertions(+), 7 deletions(-) 1 file changed, 53 insertions(+), 7 deletions(-)
diff --git a/drivers/hid/hid-appletb-kbd.c b/drivers/hid/hid-appletb-kbd.c diff --git a/drivers/hid/hid-appletb-kbd.c b/drivers/hid/hid-appletb-kbd.c
index 462010a75..4f900338b 100644 index 111111111111..222222222222 100644
--- a/drivers/hid/hid-appletb-kbd.c --- a/drivers/hid/hid-appletb-kbd.c
+++ b/drivers/hid/hid-appletb-kbd.c +++ b/drivers/hid/hid-appletb-kbd.c
@@ -56,6 +56,12 @@ static int appletb_tb_idle_timeout = 15; @@ -56,6 +56,12 @@ static int appletb_tb_idle_timeout = 15;
@@ -111,5 +111,5 @@ index 462010a75..4f900338b 100644
} }
} }
-- --
2.53.0 Armbian
@@ -1,7 +1,7 @@
From e3c9ab26b5825f943a4f4fe36be8ed73a4b921ea Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Atharva Tiwari <atharvatiwarilinuxdev@gmail.com> From: Atharva Tiwari <atharvatiwarilinuxdev@gmail.com>
Date: Thu, 9 Jul 2026 14:15:04 -0400 Date: Thu, 9 Jul 2026 14:15:04 -0400
Subject: [PATCH] drm/amd/pm: Fix boot problems in 5300 Subject: drm/amd/pm: Fix boot problems in 5300
This fixes the error: This fixes the error:
"SMU: I'm not done with your previous command" on 5300. "SMU: I'm not done with your previous command" on 5300.
@@ -12,11 +12,11 @@ so we only know the hardcoded values provided by ioreg.
Signed-off-by: Atharva Tiwari <atharvatiwarilinuxdev@gmail.com> Signed-off-by: Atharva Tiwari <atharvatiwarilinuxdev@gmail.com>
--- ---
drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c | 16 ++++++++++++++++ drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c | 16 ++++++++++
1 file changed, 16 insertions(+) 1 file changed, 16 insertions(+)
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
index d68ceee16d8f..1d0c6874dba0 100644 index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c
@@ -674,6 +674,22 @@ int smu_v11_0_set_allowed_mask(struct smu_context *smu) @@ -674,6 +674,22 @@ int smu_v11_0_set_allowed_mask(struct smu_context *smu)
@@ -43,5 +43,5 @@ index d68ceee16d8f..1d0c6874dba0 100644
feature->feature_num < SMU_FEATURE_NUM_DEFAULT) { feature->feature_num < SMU_FEATURE_NUM_DEFAULT) {
ret = -EINVAL; ret = -EINVAL;
-- --
2.43.0 Armbian
@@ -1,6 +1,8 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ashish Arora <ashisharora.linux@outlook.com> From: Ashish Arora <ashisharora.linux@outlook.com>
Subject: Re: [PATCH] drm/i915: Discard large BIOS framebuffers causing display corruption. Date: Sat, 8 Jan 2022 21:43:18 +1100
Date: Sat, 08 Jan 2022 21:43:18 +1100 Subject: Re: [PATCH] drm/i915: Discard large BIOS framebuffers causing display
corruption.
On certain 4k panels, the BIOS framebuffer is larger than what panel On certain 4k panels, the BIOS framebuffer is larger than what panel
requires causing display corruption. Introduce a check for the same. requires causing display corruption. Introduce a check for the same.
@@ -11,10 +13,10 @@ Signed-off-by: Ashish Arora <ashisharora.linux@outlook.com>
1 file changed, 3 insertions(+), 3 deletions(-) 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c
index 49a1ac4f549195..c8c10a6104c4e9 100644 index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/i915/display/intel_fbdev.c --- a/drivers/gpu/drm/i915/display/intel_fbdev.c
+++ b/drivers/gpu/drm/i915/display/intel_fbdev.c +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
@@ -224,10 +224,10 @@ int intel_fbdev_driver_fbdev_probe(struct drm_fb_helper *helper, @@ -280,10 +280,10 @@ int intel_fbdev_driver_fbdev_probe(struct drm_fb_helper *helper,
ifbdev->fb = NULL; ifbdev->fb = NULL;
if (fb && if (fb &&
@@ -29,5 +31,5 @@ index 49a1ac4f549195..c8c10a6104c4e9 100644
fb->base.width, fb->base.height, fb->base.width, fb->base.height,
sizes->fb_width, sizes->fb_height); sizes->fb_width, sizes->fb_height);
-- --
1.8.3.1 Armbian
@@ -1,7 +1,7 @@
From 5fdaec4725bea1bfb506efc314318c65b01aafc4 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Andre Eikmeyer <dev@deq.rocks> From: Andre Eikmeyer <dev@deq.rocks>
Date: Tue, 21 Jul 2026 15:53:47 +0200 Date: Tue, 21 Jul 2026 15:53:47 +0200
Subject: [PATCH] drm/amdgpu: reset VI ASIC on MacBookPro15,1 Subject: drm/amdgpu: reset VI ASIC on MacBookPro15,1
After S3, reloading amdgpu on MacBookPro15,1 systems with a Radeon Pro After S3, reloading amdgpu on MacBookPro15,1 systems with a Radeon Pro
555X or 560X fails while loading the SMU firmware. The existing SMC 555X or 560X fails while loading the SMU firmware. The existing SMC
@@ -16,11 +16,11 @@ two GPUs, leaving other VI hardware unchanged.
Suggested-by: Frederick Morlock <me@freddy.us> Suggested-by: Frederick Morlock <me@freddy.us>
Signed-off-by: Andre Eikmeyer <dev@deq.rocks> Signed-off-by: Andre Eikmeyer <dev@deq.rocks>
--- ---
drivers/gpu/drm/amd/amdgpu/vi.c | 20 ++++++++++++++++++++ drivers/gpu/drm/amd/amdgpu/vi.c | 20 ++++++++++
1 file changed, 20 insertions(+) 1 file changed, 20 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm/amd/amdgpu/vi.c diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm/amd/amdgpu/vi.c
index a256320b92f3..320c43143e5d 100644 index 111111111111..222222222222 100644
--- a/drivers/gpu/drm/amd/amdgpu/vi.c --- a/drivers/gpu/drm/amd/amdgpu/vi.c
+++ b/drivers/gpu/drm/amd/amdgpu/vi.c +++ b/drivers/gpu/drm/amd/amdgpu/vi.c
@@ -1407,10 +1407,30 @@ static uint64_t vi_get_pcie_replay_count(struct amdgpu_device *adev) @@ -1407,10 +1407,30 @@ static uint64_t vi_get_pcie_replay_count(struct amdgpu_device *adev)
@@ -55,5 +55,5 @@ index a256320b92f3..320c43143e5d 100644
return false; return false;
-- --
2.55.0 Armbian
File diff suppressed because it is too large Load Diff
@@ -1,94 +0,0 @@
From 918ebea43ba3c425e6ffefdbde0db6b55e445b77 Mon Sep 17 00:00:00 2001
From: Aditya Garg <85610623+AdityaGarg8@users.noreply.github.com>
Date: Sun, 10 Nov 2024 15:31:18 +0530
Subject: [PATCH] Necessary modifications to build APFS with the kernel
---
fs/Kconfig | 1 +
fs/Makefile | 1 +
fs/apfs/Kconfig | 13 +++++++++++++
fs/apfs/Makefile | 22 ++--------------------
4 files changed, 17 insertions(+), 20 deletions(-)
create mode 100644 fs/apfs/Kconfig
diff --git a/fs/Kconfig b/fs/Kconfig
index aae170fc2..5131d5b3c 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -321,6 +321,7 @@ source "fs/affs/Kconfig"
source "fs/ecryptfs/Kconfig"
source "fs/hfs/Kconfig"
source "fs/hfsplus/Kconfig"
+source "fs/apfs/Kconfig"
source "fs/befs/Kconfig"
source "fs/bfs/Kconfig"
source "fs/efs/Kconfig"
diff --git a/fs/Makefile b/fs/Makefile
index 61679fd58..8a17c50d7 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -120,6 +120,7 @@ obj-$(CONFIG_DEBUG_FS) += debugfs/
obj-$(CONFIG_TRACING) += tracefs/
obj-$(CONFIG_OCFS2_FS) += ocfs2/
obj-$(CONFIG_BTRFS_FS) += btrfs/
+obj-$(CONFIG_APFS_FS) += apfs/
obj-$(CONFIG_GFS2_FS) += gfs2/
obj-$(CONFIG_F2FS_FS) += f2fs/
obj-$(CONFIG_CEPH_FS) += ceph/
diff --git a/fs/apfs/Kconfig b/fs/apfs/Kconfig
new file mode 100644
index 000000000..99caf203a
--- /dev/null
+++ b/fs/apfs/Kconfig
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: GPL-2.0-only
+config APFS_FS
+ tristate "Apple file system support"
+ select LIBCRC32C
+ select ZLIB_INFLATE
+ select NLS
+ select BUFFER_HEAD
+ select FS_IOMAP
+ select LEGACY_DIRECT_IO
+ help
+ If you say Y here, you will be able to mount APFS partitions
+ with read-only access. Write access is experimental and will
+ corrupt your container.
diff --git a/fs/apfs/Makefile b/fs/apfs/Makefile
index a2dbed980..bc7bc8cc5 100644
--- a/fs/apfs/Makefile
+++ b/fs/apfs/Makefile
@@ -1,28 +1,10 @@
# SPDX-License-Identifier: GPL-2.0-only
#
-# Makefile for the out-of-tree Linux APFS module.
+# Makefile for the Linux APFS module.
#
-KERNELRELEASE ?= $(shell uname -r)
-KERNEL_DIR ?= /lib/modules/$(KERNELRELEASE)/build
-PWD := $(shell pwd)
-
-obj-m = apfs.o
+obj-$(CONFIG_APFS_FS) = apfs.o
apfs-y := btree.o compress.o dir.o extents.o file.o inode.o key.o libzbitmap.o \
lzfse/lzfse_decode.o lzfse/lzfse_decode_base.o lzfse/lzfse_fse.o \
lzfse/lzvn_decode_base.o message.o namei.o node.o object.o snapshot.o \
spaceman.o super.o symlink.o transaction.o unicode.o xattr.o xfield.o
-
-# If you want mounts to be writable by default, run the build as:
-# make APFS_CONFIG=-DCONFIG_APFS_RW_ALWAYS
-# This is risky and not generally recommended.
-ccflags-y += $(APFS_CONFIG)
-
-default:
- ./genver.sh
- make -C $(KERNEL_DIR) M=$(PWD)
-install:
- make -C $(KERNEL_DIR) M=$(PWD) modules_install
-clean:
- rm -f version.h
- make -C $(KERNEL_DIR) M=$(PWD) clean
--
2.39.5 (Apple Git-154)
@@ -1,7 +1,7 @@
From ccb4c5eb64213b5fd0876b27dac86b2f1bbd6e2b Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Andre Eikmeyer <dev@deq.rocks> From: Andre Eikmeyer <dev@deq.rocks>
Date: Fri, 24 Jul 2026 17:37:27 +0200 Date: Fri, 24 Jul 2026 17:37:27 +0200
Subject: [PATCH] ACPI: x86: Apple T2 systems need early CPU offlining Subject: ACPI: x86: Apple T2 systems need early CPU offlining
Linux reports _OSI("Darwin") on x86 Apple systems. On T2 Macs, the Linux reports _OSI("Darwin") on x86 Apple systems. On T2 Macs, the
selected firmware suspend path makes secondary CPU startup during early selected firmware suspend path makes secondary CPU startup during early
@@ -19,11 +19,11 @@ MacBookPro16,2, MacBookAir9,1 and a 27-inch T2 iMac.
Signed-off-by: Andre Eikmeyer <dev@deq.rocks> Signed-off-by: Andre Eikmeyer <dev@deq.rocks>
--- ---
drivers/acpi/x86/apple.c | 131 +++++++++++++++++++++++++++++++++++++++ drivers/acpi/x86/apple.c | 131 ++++++++++
1 file changed, 131 insertions(+) 1 file changed, 131 insertions(+)
diff --git a/drivers/acpi/x86/apple.c b/drivers/acpi/x86/apple.c diff --git a/drivers/acpi/x86/apple.c b/drivers/acpi/x86/apple.c
index 45d0f16f374f..2522593163f5 100644 index 111111111111..222222222222 100644
--- a/drivers/acpi/x86/apple.c --- a/drivers/acpi/x86/apple.c
+++ b/drivers/acpi/x86/apple.c +++ b/drivers/acpi/x86/apple.c
@@ -6,7 +6,13 @@ @@ -6,7 +6,13 @@
@@ -170,5 +170,5 @@ index 45d0f16f374f..2522593163f5 100644
+late_initcall(apple_t2_cpu_pm_init); +late_initcall(apple_t2_cpu_pm_init);
+#endif +#endif
-- --
2.55.0 Armbian