From 7350e3ee759418cdad452a7755f63da9372cbc67 Mon Sep 17 00:00:00 2001 From: Avery Black Date: Sun, 13 Oct 2024 06:55:22 -0700 Subject: [PATCH] Fixed multiple PS2/SMBus devices attaching (#64) --- Changelog.md | 3 +++ VoodooPS2Trackpad/VoodooPS2SynapticsTouchPad.cpp | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/Changelog.md b/Changelog.md index f6655e3..2ede481 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,8 @@ VoodooPS2 Changelog ============================ +#### v2.3.7 +- Fixed multiple PS2/SMBus devices attaching + #### v2.3.6 - Lowered macOS requirements to 10.10 - Added PS/2 stub driver for better VoodooRMI compatibility diff --git a/VoodooPS2Trackpad/VoodooPS2SynapticsTouchPad.cpp b/VoodooPS2Trackpad/VoodooPS2SynapticsTouchPad.cpp index f8cdf8e..ee668b8 100644 --- a/VoodooPS2Trackpad/VoodooPS2SynapticsTouchPad.cpp +++ b/VoodooPS2Trackpad/VoodooPS2SynapticsTouchPad.cpp @@ -213,6 +213,10 @@ IOService* ApplePS2SynapticsTouchPad::probe(IOService * provider, SInt32 * score dictionary->setObject("Clickpad", _cont_caps.one_btn_clickpad ? kOSBooleanTrue : kOSBooleanFalse); ApplePS2SmbusDevice *smbus = ApplePS2SmbusDevice::withReset(true, dictionary, 0x2C); + + // gIOMatchCategoryKey is necessary to prevent multiple services attaching to the PS2 device + if (smbus) + smbus->setProperty(gIOMatchCategoryKey, getProperty(gIOMatchCategoryKey)); OSSafeReleaseNULL(dictionary); return smbus; }