From nobody Fri Oct 2 07:45:19 2026 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C73982F1FEC for ; Mon, 3 Aug 2026 22:16:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785795383; cv=none; b=CaC3sJw9FsG/RZhJGZSxAkYXn6LxTPGrebnVT59R8o4q+Hupeb7VSEKv5W0tk8j1ZDbtEpHxd8/e58fUIhg6hT0mzLAiEepJ2Vcrad0xJgpQNvQST7HZENEee3KGkWLymOJDH3hIAtUpIcuq2QLSqYJkXOjWjl4x9cD1IiYPXX4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785795383; c=relaxed/simple; bh=HDD3BCKdaHCS43NkUBSwVd1u/RrPToWuCQHOzDVsYZc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ADBlA600/uuusErXrttApy2/InTK3GxCr5g8m2aLVOnDjlAK4Y9iQK/THst/OaYeFUuhtE8fZ8WQx1N0F9vtlFr93k5Qyw8ZJnOe9rix97AF9ILUHzN8R5TiADeX+hx6ILp+WdQ0ocas3uB/0XCYms5uqJE6ChPyYmTSD49ITF4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=IFcZbazF; arc=none smtp.client-ip=209.85.214.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IFcZbazF" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-2d032846c95so42868165ad.1 for ; Mon, 03 Aug 2026 15:16:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785795381; x=1786400181; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=CHofJjuC+8WuxnJ+ZeRv8pXBm7Br8DGbmZDVzBhVs0c=; b=IFcZbazFn+Fmk/LZgH61+d1mZMsZekarVk4MbEJ5rz1Ilz2VEJmnLqep86XPaLu0vX ONQg07jdk0M6sLfsjUGzZtVsqNjOC0/ULpHQD+r9UnZ68GUPQm2R/rPgbm8Q6AsH8i11 6t2Dk4CjPylYQcwX4U7J0gQxafSaFklj1Sq+GTYW6HVjlMSuepE8W2BCmPgMeOig6E0W UVKDRa5KAUMNQyc3qjaAuZSNP0QhQxJtTkNZbpH38DUkpF4/F17ovL3MEjFivetDNVEv 6J0V9PNCFSFFlY/rDXh2q0WA7Qau/asEpzFa+T2+24EQi76cE+tpJhW421BC7HoKS40V m4UA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785795381; x=1786400181; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=CHofJjuC+8WuxnJ+ZeRv8pXBm7Br8DGbmZDVzBhVs0c=; b=RzEkkcZP60wSFYRRPpt6qpdYnf5VxJk31u5HOc+WT1VlSMLwfTDdBJb8CCJoSBRVfa X+QnLdRPV7wu1qM1JsxiHS6oLV2UtY/XOlAhnmVYEv7zKW2tm08+Bu3IHhXitRXO5gJL QGBqAzKYC6rpQK4FFWaMeZBmazpRM0nPfyquxewVK6WL2z/CHQbpqbLhSgHJIbJl6Y9p N3D22vguJHXJ+zGecM1kqV1yt2ubtgE/jT5Za5WXo+5ij6pH4TtvcEkOcc4cxlrAV3RU 4KKMWcVaLJ1IM6fa33tCQA20dSqIfFdJ1J7IJl94ktqveaLXwfRZ2MGWUf1jCgSP82my uGdg== X-Forwarded-Encrypted: i=1; AHgh+RpEV4Hg08HLg5shyv4GQqAb/UuDRf9oyIQVjIFrLUy6eBBC+1DYkgpGsND17OszmBmbZBEGH++4xUPtw7w=@vger.kernel.org X-Gm-Message-State: AOJu0YyIqV9KJwigN5AZFUq5VB2SgDC7R7QDxmX63sWDq1PDGlND+NiY E5SNt3gKjqiVHtotYemcVBVbmtVLqDLa/vk+5i9AnOu3HlzRU4bUVgMa X-Gm-Gg: AR+sD13E7JqIaGYKP8+H5oE5yrPSAUVuCi/R9Q4MsTMDy9Yj0ugePKEz/JhKi6SuADB N0vML6b8nFTRZQX2D9MIQWV8SZFTvGbzoBdzwQfYqChZU5b+ttvkrYRbiJ2/ZBzq4nGbhoOQL/V fReryL6Ub6UIPXoJp+EsnrPEYh/0qMiICZm06i8hZuwvA55s+NfJczmLxo8oT99AZmljCmAWpmb TCtt1wZyUXF5SccWeCBcFxy0vANjL0EJcrV7c4iEPMdJQTiWN7e+Rk1fUoHDqi0csYazfeUIBcp gFPHa1IPLtkJuLcDvBx95xAbqkCt8F11l6LZyXmzfllLcnT0KJsjPRXJ1ezlsv/sJMutzUCHFMW wJi4XRsFFIyn4KdTnEsVHDgxZNDHjEy+bksG0Nra+P0mZhPkiFfZsrY9xptLWAR370G4E5Vi7yG esVYKIfJhGP3Ntc0W4rkw6EUbNSJTI9svuNT/AVnxo6iWmOOKhQNcnvjCPC1+Lm78NQcPslHVOZ 3UQ/8ADVC9vHcCObyk2lz2Vxvy9jzPiYNIzx6QZdQ== X-Received: by 2002:a05:6a21:a91:b0:3b4:b340:411d with SMTP id adf61e73a8af0-3c92a529fa5mr12008651637.24.1785795381179; Mon, 03 Aug 2026 15:16:21 -0700 (PDT) Received: from lappy (108-228-232-20.lightspeed.sndgca.sbcglobal.net. [108.228.232.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13fab1334cfsm38685666c88.1.2026.08.03.15.16.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2026 15:16:20 -0700 (PDT) From: "Derek J. Clark" To: lkml@antheas.dev Cc: W_Armin@gmx.de, corbet@lwn.net, hdegoede@redhat.com, ilpo.jarvinen@linux.intel.com, jdelvare@suse.com, kuurtb@gmail.com, linux-doc@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org, "Derek J. Clark" Subject: [PATCH 1/6] platform/x86: msi-wmi-platform: Move guard out of switch in platform_write() Date: Mon, 3 Aug 2026 15:16:09 -0700 Message-ID: <20260803221614.59324-2-derekjohn.clark@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260803221614.59324-1-derekjohn.clark@gmail.com> References: <20250511204427.327558-1-lkml@antheas.dev> <20260803221614.59324-1-derekjohn.clark@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The ML patch set uses a guard within a switch case that violates cleanup rules. Move the guard outside the switch so all return paths are covered. Signed-off-by: Derek J. Clark --- drivers/platform/x86/msi-wmi-platform.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/platform/x86/msi-wmi-platform.c b/drivers/platform/x86= /msi-wmi-platform.c index dfb65ac8fbf6..33acd448f674 100644 --- a/drivers/platform/x86/msi-wmi-platform.c +++ b/drivers/platform/x86/msi-wmi-platform.c @@ -675,11 +675,11 @@ static int msi_wmi_platform_write(struct device *dev,= enum hwmon_sensor_types ty u8 buffer[32] =3D { }; int ret; =20 + guard(mutex)(&data->wmi_lock); switch (type) { case hwmon_pwm: switch (attr) { case hwmon_pwm_enable: - guard(mutex)(&data->wmi_lock); =20 buffer[0] =3D MSI_PLATFORM_AP_SUBFEATURE_FAN_MODE; ret =3D msi_wmi_platform_query_unlocked( --=20 2.55.0 From nobody Fri Oct 2 07:45:19 2026 Received: from mail-pg1-f174.google.com (mail-pg1-f174.google.com [209.85.215.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 97C85345EA9 for ; Mon, 3 Aug 2026 22:16:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785795384; cv=none; b=N+2MeWDvGHcGCbCFtuHYOB+Q7+DlpiUZRkBe7U7t0I3HXUC3vuAx0LaiZWpBfQNZ85tx8dNdw/D4CCc/o673UU7wvAkn9zYA462+Nviv1s1ock53fyWXVMKLLhRqGsSH676QBlrcR7fKc1l2TBxjQhpxZaOoQ2Alko96j3p95uQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785795384; c=relaxed/simple; bh=zSTDonIyBsR3WqojOzXln4HA3bKn7fqzEMx8iWnncMc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Q1rSBcFSJ+GDIm1S1npcakXkRq3VBCzD3uK04j7jxs3AiwAYwgroz/tW9dla0DWHUZu8WZIuH/7louy6rybDtjEty5skla715L94TsPL56bbW/+UU+6Zh2Nw5eebCqUbqzvIJFHTK9oEQ+7+8UZit2e8zYCHeSIJjhoK/CeNcQA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Z2VGZe+E; arc=none smtp.client-ip=209.85.215.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Z2VGZe+E" Received: by mail-pg1-f174.google.com with SMTP id 41be03b00d2f7-cbb662575d3so2166179a12.0 for ; Mon, 03 Aug 2026 15:16:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785795382; x=1786400182; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=BPAQpOydhVH6LbG4fSXhvyUlk2qXWOQA9jkrLqZQMCI=; b=Z2VGZe+EXmWb/UElNyHc7clTzFJ4klD4DWiShD4RN6VAFyUBGMB/AD0WLHp3xGBESk l7eO3R8kDiMtsahbG0B6OHj7YmqxW1PzEe3UlsTfpRDWt7lQJTIPqI90FJXhriDzRhsJ oyg2fZdeDBZsc3cewehF6c7725fZ8T1PcxyxOXOJPrkK9ftEJdviHIOC+2lhBlJRP3WI ReMlM3ofSNnMhpeBbiVREZp9Jc+kZwa088sPRI3d6qenOW7IYNzGcUcUKRzYr+gOIoqu GBgH5GR00jMeqUrAJ94J0qD/t1bfJebZBYd0n1RqvKrE1sNm91vnXjpKVEzmFIp3qNw1 RGGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785795382; x=1786400182; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=BPAQpOydhVH6LbG4fSXhvyUlk2qXWOQA9jkrLqZQMCI=; b=i/MSdBSuyM4519zt4F6Yi9U8V8vjJ6G3GmSMvT7S+nbvTLINllXxl+i1w6pAn+VApl AueLI1vb9q+NyOqTN0ERmIYllcP9aFUJasmy/Zhe9DLwFeNhIJWWbjTVCXiWT++YneBX +MjksT6YzYw+J6aouY0SjR2sZciMYGo1gZwUsvxBbThrJ8bSknaeSVDD/q1XxmwL3CPT 4HueBITMhgV4EkH8XEsTxpJfQintcBsgnqfdGAEwq8RHsSxspWg/QvTTpF0ynHad0Eun VtLCTvLfQltn/9n96E21fwwMdYx7bbTNy1TtZ+IfhwVoiPAA+e9ZVzNwpOzCPxcPIkFl hCKg== X-Forwarded-Encrypted: i=1; AHgh+RpjC5JWaWlb7EiMLtwH5Eg+wSp0OJkHDMT4LTf6oRxUulbamYoC5Kz6tYWZtkM1TOrc9FESOrUx6pBPGjs=@vger.kernel.org X-Gm-Message-State: AOJu0YyRz6v50DgbTgz15JsYNtv9ZpfYjsze7L22FokM534ZekAGry0w BZvtXAf/lKhNlLYXvANNt8KTzlShmVhiYM0JalKffeqp+cdkSmPZlkX8 X-Gm-Gg: AR+sD10XrbxjuhRmTPAi7phZlFi1WXqzmbTZQzUhv1iWlDl1xHeStvs1Dy7k08JCln5 IRmA5Akv/7jEBoQ98hyAu5u7ThElNbEoYBNoSOD0pnxUU+MDTCjBUk+yVtocOrf3LGc1fq6rkmE Kgmh6LmqCOF5yrkNZ/nTYDDEIxuzRJ81zjPcF992xkq/fSiEw4v4e3b4t95j1u3Hk98kfxf0dLa x4LAgTfHR/TIeezg3HmTq/XljsRWbmnHBO0BxJ7bhLivZO2ce/iUGedePd5NsqTOglBstJy12JV 6qacSQRi+OAeqXOGHbAh4nG91a2hSDRA9WDV3bUSEfMlD03l/Pr8txrGxsHa7pCfRl08ZtFojSg Ik4Rl4lJLNq8mL4cUAfr4GW9i4l+xwevvsXNw1BioxbVYarXL5GSim5exxGENvS5AaLAhsGAWTW IF7vmqchIq6uUVyi9DBQquBRp906PnKc8brYE6S3u+ZutdZ2Paw8NUrCLaZUDkj+t4fRey/112e +SUB/n8PRZLqzWmlm64MZTiC2EU0/WPOiN3z9J0fA== X-Received: by 2002:a17:90b:2b86:b0:38f:240d:b857 with SMTP id 98e67ed59e1d1-38fbc3f7e4emr11504598a91.2.1785795382006; Mon, 03 Aug 2026 15:16:22 -0700 (PDT) Received: from lappy (108-228-232-20.lightspeed.sndgca.sbcglobal.net. [108.228.232.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13fab1334cfsm38685666c88.1.2026.08.03.15.16.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2026 15:16:21 -0700 (PDT) From: "Derek J. Clark" To: lkml@antheas.dev Cc: W_Armin@gmx.de, corbet@lwn.net, hdegoede@redhat.com, ilpo.jarvinen@linux.intel.com, jdelvare@suse.com, kuurtb@gmail.com, linux-doc@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org, "Derek J. Clark" Subject: [PATCH 2/6] platform/x86: msi-wmi-platform: fix: Remove unused err Date: Mon, 3 Aug 2026 15:16:10 -0700 Message-ID: <20260803221614.59324-3-derekjohn.clark@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260803221614.59324-1-derekjohn.clark@gmail.com> References: <20250511204427.327558-1-lkml@antheas.dev> <20260803221614.59324-1-derekjohn.clark@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" msi_wmi_platform_profile_setup() declares int err and leaves it unintitialized, then returns PTR_ERR_OR_ZERO. Remove the unused variable. Signed-off-by: Derek J. Clark --- drivers/platform/x86/msi-wmi-platform.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/platform/x86/msi-wmi-platform.c b/drivers/platform/x86= /msi-wmi-platform.c index 33acd448f674..2439b4f0001b 100644 --- a/drivers/platform/x86/msi-wmi-platform.c +++ b/drivers/platform/x86/msi-wmi-platform.c @@ -1422,16 +1422,12 @@ static int msi_wmi_platform_init(struct msi_wmi_pla= tform_data *data) =20 static int msi_wmi_platform_profile_setup(struct msi_wmi_platform_data *da= ta) { - int err; - if (!data->quirks->shift_mode) return 0; =20 data->ppdev =3D devm_platform_profile_register( &data->wdev->dev, "msi-wmi-platform", data, &msi_wmi_platform_profile_ops); - if (err) - return err; =20 return PTR_ERR_OR_ZERO(data->ppdev); } --=20 2.55.0 From nobody Fri Oct 2 07:45:19 2026 Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6889C3191D0 for ; Mon, 3 Aug 2026 22:16:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785795384; cv=none; b=u6VhA3rt+l8yMZtf02sDfrnHIhNGZZS1wH1sRs7o9fUffbJfjf7iB2/FaalolYybpPRu6fsu4TXMMdnNFrfSQH986K0pWI0pW7DvoMKn7wYZDnQhcQru7b34Wj5x6/Lhn7TgGvrYPdqBFkzMF3fweDBucGaLWcdtU3+6swIaCxA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785795384; c=relaxed/simple; bh=EIMWWlWDcq0uEYhrtukreWiGwiCZqVgmmuCgjtQWFjc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IHcg96/0TUn31prvVix7bmN34Y7PPPd/uvYTR12bQd9kUE3q9JCkvK9P/NLYvZjvCNw+lFHrF2QTYRng3BknAoJ3gc2ns/8gvGQbtL4n0npITDhPyUw6ZsQhSRGHF5ra79ydD3prQ39EfqbQkxJZgI30xVokchvwswKwJp5RT4I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=fmXc8oU8; arc=none smtp.client-ip=209.85.216.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fmXc8oU8" Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-382ef647e20so4129058a91.1 for ; Mon, 03 Aug 2026 15:16:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785795383; x=1786400183; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=cyQb3HEnxnGJdzSi8B8jk9beGpq3QOPyQ1mK+KBtq5A=; b=fmXc8oU8QMWRSg83kAatQ3GNpWjjSeFXdDFz/EfLaJR8lKtFDy8k0BgzDeSjG2vWVz ki12rrVoKtLy/xhEYzjUwiPnpnQx8EJvEVlnO38s8VFitlvTkKJgwNGwbzLtMkrnWoOo fIqW34odSPmPAuE/k8SK5pPMnz4tKg8p1y788wYxfXejjxlxWjSdRzmNsDiU5Y/u1MSP jAWjAy/LXbw4LMyus0OIqSPZ0VjjNN5H8HUBdbMKs6sgWpB5993X9HaBdcjRudC4qCPN x1NAQAg5lJtFxI7qRIhyGFE0IWdPCENlqmcGjGMbKmUe/3alR/KpxVA/q1nWrNoaVCKJ TNNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785795383; x=1786400183; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=cyQb3HEnxnGJdzSi8B8jk9beGpq3QOPyQ1mK+KBtq5A=; b=Fn/gmy9uWw3PodDafaqex7MbDwpYrY0RmA9AGT3BqZCARUgEWdnfy2XBq/AVcdiWIB C4ok5umO50BFWt+C1E5KgmaxQx4K3tVqGgemCv6y7i+lTPLPXMDABZymRBt7IE8LIBDz wt6moTOMzX0vnE7/VY9ynf6b/l7zGIMGf1netBb6zLtD7xd31iG8njZ2y6ZEclSNIxKA E5R4zEDQ7ie5jhaPqGhxRjub5vbNroxSIqF9DY8svvzKWVaLiydN4cCbp0T0Ouht3szs LDEzPIOudkwn7KC1Jcyv3fkDtTot1xV9e139/w1JBrZYODqGPO7wyEKK/BCLpd0wcgyo SmKw== X-Forwarded-Encrypted: i=1; AHgh+RrccWUQx5+gD2I6VLc9O7nO9UQMOzQrhrrKpnVAEAbJLot7ykG7t41WvnKEMs78NbW5tKrLjBQDEWAko7o=@vger.kernel.org X-Gm-Message-State: AOJu0YzV7P9nsbRvrIeEZTe74HIdQVeunabDTqpBU/y8m4IZLYUssh70 AVvdY0ctArRhk8esHID9oD4GLxX9TDyOXoqw6pIX1flgj4yjPb4MIJTP X-Gm-Gg: AR+sD10nOZra2Db1jHcCDtP/5sL4dzAC1ITLBSebLThK6v8M/jh3idZgd0N1UPp8vej lRCLx3H/L0x5W4KQ22iWc8q/SNOI8mntUX2r/M1fNVWC7uOcp6L5XcjAUk1xYNt1sgkKXXOsoZI npSyGs6Of9SAr7YFtVfBsNeF0cvraiW0l4GexgUIua+dab51Cfh6ZhYsCsa86M7rsi1qT45t2Ec EkxtixnlUEj7CEoe2hCIDzOeKZBoczpf10oq0aueGTV6sGuhUp5QO4jXKfR+/CQj8SgFIMNG8lf w044d+CQSrmMoiqTLVcLNs2d3pdGveI0pZOLzfpdEG98OVy9DGQLe2e1gYhu/kL0kGeh5MhY3P2 0pBEHWdD3LD8ArEgHLbOl6j6VgHd4PRkO8fA33v7Mdt0uOTdPzMQ4F01aNBdcJTNXoWRDgQk3v4 Fjp23bAAeA3bxDe2BA48nX2FL4W0Vhtk0Lv3ljYVoIPbmiqUr5UldqeD9MN+Ubsa31z03te3GQk Jub4NBBKZneaCw/aDkbVuvk5n9r72dTKV7wf+YZwQ== X-Received: by 2002:a17:90b:5824:b0:381:9028:5945 with SMTP id 98e67ed59e1d1-38fbc43a847mr11586487a91.14.1785795382878; Mon, 03 Aug 2026 15:16:22 -0700 (PDT) Received: from lappy (108-228-232-20.lightspeed.sndgca.sbcglobal.net. [108.228.232.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13fab1334cfsm38685666c88.1.2026.08.03.15.16.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2026 15:16:22 -0700 (PDT) From: "Derek J. Clark" To: lkml@antheas.dev Cc: W_Armin@gmx.de, corbet@lwn.net, hdegoede@redhat.com, ilpo.jarvinen@linux.intel.com, jdelvare@suse.com, kuurtb@gmail.com, linux-doc@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org, Matthew Schwartz Subject: [PATCH 3/6] platform/x86: msi-wmi-platform: terminate msi_quirks DMI table Date: Mon, 3 Aug 2026 15:16:11 -0700 Message-ID: <20260803221614.59324-4-derekjohn.clark@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260803221614.59324-1-derekjohn.clark@gmail.com> References: <20250511204427.327558-1-lkml@antheas.dev> <20260803221614.59324-1-derekjohn.clark@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Matthew Schwartz The msi_quirks table lacks a terminating empty entry so it crashes the kernel on non-quirked MSI Claw devices. Signed-off-by: Matthew Schwartz --- drivers/platform/x86/msi-wmi-platform.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/platform/x86/msi-wmi-platform.c b/drivers/platform/x86= /msi-wmi-platform.c index 2439b4f0001b..fdc2f6f4ca7e 100644 --- a/drivers/platform/x86/msi-wmi-platform.c +++ b/drivers/platform/x86/msi-wmi-platform.c @@ -268,6 +268,7 @@ static const struct dmi_system_id msi_quirks[] =3D { }, .driver_data =3D &quirk_gen2, }, + { } }; =20 static int msi_wmi_platform_parse_buffer(union acpi_object *obj, u8 *outpu= t, size_t length) --=20 2.55.0 From nobody Fri Oct 2 07:45:19 2026 Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 39760349B15 for ; Mon, 3 Aug 2026 22:16:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785795386; cv=none; b=IOz514hAw3836OtClRAh8CDVp0IVLyzTsIcKXxQLhW8ttYy4776DPS/HK1ntm5r+eVMoter2MeiwnmQLRXylYG3yEgJUx9Yg4UYd9cDnV+4T8v5n+6wqLm/8TBqiY4NeCsuSHhqBzjcxe4aNLhYdpLygHAfKpMYdyIKR2CgQc2M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785795386; c=relaxed/simple; bh=ODSEOHVW4KYU9xP2cIISQVh2g4cADrCkR6ETTeHmPoA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZtPr3M6ax1fnm8kbT3ZWaOeCjy7JVOXIwYAyJQmF3IGi47E0lvlRgS1DYfSyUDOcI1+c4nl69FmBztDWQj++W5/wWt7k/d+XfwTpLO4NfnjXET4S/6xKji5eZwHkG/mw1jSNozEpqfr1Lpom4FUU41QH+N8PYvFLVGjnKUThHio= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=d8bXM6do; arc=none smtp.client-ip=209.85.215.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="d8bXM6do" Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-c999f162c9aso2555165a12.3 for ; Mon, 03 Aug 2026 15:16:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785795384; x=1786400184; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=gtKu0FT85uYm4ILu5Mq1OuaF/iNH/TftNn4lcGyvoLs=; b=d8bXM6doaHydHzm6dzFOTn3SCRvyLcTVDpPyP7wmAcp6XXXCw/36DwNmzblGsPzaES Eh+WCh9n4xGq6/afaevwQOqTX64K5FmseuGSgMkprXgJ3CTC0LBAxh2s2m83ksTnUIvw T5FMqPBb/76hIPjmC8/c30ri1kuGX/f8eb8Yy/tFlPfZSiprQNVZN5zLRz66ZBaxVpZQ Z3bmLyGO3hzUypiRpiVHqYGRAp8+YkwFx3RAMxRTvtDEHX5QQbxlcWCA92L1MHYkZLVB S/KEZzhqncWHVKzUa/qRPxQkxGSW2KFwbl+fv41gUsYWFEgp3O+wcYo8n301rE4dQjij aeHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785795384; x=1786400184; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=gtKu0FT85uYm4ILu5Mq1OuaF/iNH/TftNn4lcGyvoLs=; b=CkFxufSob/sHROIsydVY2yE69pKV5X2ZPC1F5Yrpflg7Mb76dDeDUOSU/dT0Ej0zAk hYDSbB0YxGzUduM/o1bU427jSN+3UrLDFAlrWNmqoIVz3soKGWagPhUssotIpv4IDGJ1 6Md13KFjjV+wWoXjjnEp/nKPxmFOzsHXZNLVGN7vhnTMnVDadYHMueiFmP11v8Tan5SQ DplJKAkfPasg6OrE0vfES2DFfaZKz6jMVMmgXShdlu8NqtOAedzEkCok2YjV6AsS0CsY fAPW9u5laLQz6hmdLTYCwBDuuEMw0Av77nmlya1bdB/hPvXk4YQyATWKj/hWt7TcVfay QShg== X-Forwarded-Encrypted: i=1; AHgh+RoGpse98+k+acqKKXIf2GDmjAKQH9kKuh+RjyBm6A63//MdwG0r19I6rvSOIi9FIfokpOl+NDZ8N1ATpgM=@vger.kernel.org X-Gm-Message-State: AOJu0YxUv6gQQepGJOlSx4xFMsNSNHVpq3ma0nwoWPgBOKQToCO5nMgY h9gJCI4/TO/EPgetOX2A7+xJPHydZT1c6GrcOUEX4Uqq0tnFVjjDlRns X-Gm-Gg: AR+sD10tJ7S7Z7f2L9QqRRspIz6hgD1W8lDUwW4v6ON9+Zne4iM89Bmh239eb9pAvbn 1saiharEZZIURQgMBEtynNnoIsIm11rewSIVfVdNjSRCaqnWK2IXwfGmwRLF1cMzXuvd0Yuz1Tj N6QeCkFbc5R+GaJAhLZU8Ct5nXS5lTWlf6aBb0i8KsBGZb43lJIegLlPSqmeoJYe3k2+j9D5Iec QRps/hmSeifQ+w4kkPnKjpsXAXi3LxTwfQBMGfxUPsFh5o11QS5Hj10sijGaXLVW1CA3Z9dlPrR 9bw4UOdPfyAfLOKfwvjUIC2jZKWMqzyN/r+M4Ez3595ZIq5VFwH8xlWGHC8JxSC6hgW11V8PzYv fO6UYpLz/8z6MrAYKo8tFekhIj4KhOXXeoo0/Xul0deJ1IjSxI5KKhdloU5Qkr7eQJ1bNfF8sxs UAgb5Az9pSdK1RNxYBbw6zQQR0QuMzvYTN/AWDpsFii6spwCD5vL6tZtJdcWN3Lg8Zr1hO/SVP7 q/OzP8BJIOCi5vrQmDkgqf+Wr0BR6NDNKBIhyz8kA== X-Received: by 2002:a05:6a21:696:b0:3c3:a7ab:135a with SMTP id adf61e73a8af0-3c92a749b53mr11060704637.20.1785795383620; Mon, 03 Aug 2026 15:16:23 -0700 (PDT) Received: from lappy (108-228-232-20.lightspeed.sndgca.sbcglobal.net. [108.228.232.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13fab1334cfsm38685666c88.1.2026.08.03.15.16.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2026 15:16:23 -0700 (PDT) From: "Derek J. Clark" To: lkml@antheas.dev Cc: W_Armin@gmx.de, corbet@lwn.net, hdegoede@redhat.com, ilpo.jarvinen@linux.intel.com, jdelvare@suse.com, kuurtb@gmail.com, linux-doc@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org, "Derek J. Clark" Subject: [PATCH 4/6] platform/x86: msi-wmi-platform: Clean up devices Date: Mon, 3 Aug 2026 15:16:12 -0700 Message-ID: <20260803221614.59324-5-derekjohn.clark@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260803221614.59324-1-derekjohn.clark@gmail.com> References: <20250511204427.327558-1-lkml@antheas.dev> <20260803221614.59324-1-derekjohn.clark@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The current driver has multiple minor mistakes. Fix them all in one cleanup patch. - Device names are inconsistent/incorrect for the quirk table - Per the Windows DLL, PL2 must always be at least 1W higher than PL1. Give PL1 and PL2 different minimum values. - Copy buffer before write to ensure payload is sent instead of stale data Signed-off-by: Derek J. Clark --- drivers/platform/x86/msi-wmi-platform.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/platform/x86/msi-wmi-platform.c b/drivers/platform/x86= /msi-wmi-platform.c index fdc2f6f4ca7e..35cd35fc6446 100644 --- a/drivers/platform/x86/msi-wmi-platform.c +++ b/drivers/platform/x86/msi-wmi-platform.c @@ -124,8 +124,9 @@ struct msi_wmi_platform_quirk { bool charge_threshold; /* Charge threshold is supported */ bool dual_fans; /* For devices with two hwmon fans */ bool restore_curves; /* Restore factory curves on unload */ - int pl_min; /* Minimum PLx value */ + int pl1_min; /* Minimum PL1 value */ int pl1_max; /* Maximum PL1 value */ + int pl2_min; /* Minimum PL2 value */ int pl2_max; /* Maximum PL2 value */ }; =20 @@ -229,8 +230,9 @@ static struct msi_wmi_platform_quirk quirk_gen1 =3D { .charge_threshold =3D true, .dual_fans =3D true, .restore_curves =3D true, - .pl_min =3D 8, + .pl1_min =3D 8, .pl1_max =3D 43, + .pl2_min =3D 9, .pl2_max =3D 45 }; static struct msi_wmi_platform_quirk quirk_gen2 =3D { @@ -238,14 +240,15 @@ static struct msi_wmi_platform_quirk quirk_gen2 =3D { .charge_threshold =3D true, .dual_fans =3D true, .restore_curves =3D true, - .pl_min =3D 8, + .pl1_min =3D 8, .pl1_max =3D 30, + .pl2_min =3D 9, .pl2_max =3D 37 }; =20 static const struct dmi_system_id msi_quirks[] =3D { { - .ident =3D "MSI Claw (gen 1)", + .ident =3D "MSI Claw A1M", .matches =3D { DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star International Co., Ltd."), DMI_MATCH(DMI_BOARD_NAME, "MS-1T41"), @@ -253,7 +256,7 @@ static const struct dmi_system_id msi_quirks[] =3D { .driver_data =3D &quirk_gen1, }, { - .ident =3D "MSI Claw AI+ 7", + .ident =3D "MSI Claw 7 AI+ A2VM", .matches =3D { DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star International Co., Ltd."), DMI_MATCH(DMI_BOARD_NAME, "MS-1T42"), @@ -261,7 +264,7 @@ static const struct dmi_system_id msi_quirks[] =3D { .driver_data =3D &quirk_gen2, }, { - .ident =3D "MSI Claw AI+ 8", + .ident =3D "MSI Claw 8 AI+ A2VM", .matches =3D { DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star International Co., Ltd."), DMI_MATCH(DMI_BOARD_NAME, "MS-1T52"), @@ -1131,7 +1134,7 @@ static int msi_wmi_fw_attrs_init(struct msi_wmi_platf= orm_data *data) =20 if (data->quirks->pl1_max) { err =3D msi_fw_attr_init(data, MSI_ATTR_PPT_PL1_SPL, - &fw_attr_type_int, data->quirks->pl_min, + &fw_attr_type_int, data->quirks->pl1_min, data->quirks->pl1_max, &data_get_value, &data_set_value); if (err) @@ -1140,7 +1143,7 @@ static int msi_wmi_fw_attrs_init(struct msi_wmi_platf= orm_data *data) =20 if (data->quirks->pl2_max) { err =3D msi_fw_attr_init(data, MSI_ATTR_PPT_PL2_SPPT, - &fw_attr_type_int, data->quirks->pl_min, + &fw_attr_type_int, data->quirks->pl2_min, data->quirks->pl2_max, &data_get_value, &data_set_value); if (err) @@ -1259,6 +1262,7 @@ static ssize_t msi_wmi_platform_debugfs_write(struct = file *fp, const char __user return ret; =20 down_write(&data->buffer_lock); + memcpy(data->buffer, payload, data->length); ret =3D msi_wmi_platform_query(data->data, data->method, data->buffer, data->length); up_write(&data->buffer_lock); @@ -1266,10 +1270,6 @@ static ssize_t msi_wmi_platform_debugfs_write(struct= file *fp, const char __user if (ret < 0) return ret; =20 - down_write(&data->buffer_lock); - memcpy(data->buffer, payload, data->length); - up_write(&data->buffer_lock); - return length; } =20 --=20 2.55.0 From nobody Fri Oct 2 07:45:19 2026 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1914D34C130 for ; Mon, 3 Aug 2026 22:16:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785795387; cv=none; b=iz8KI7Z5k/u/z0M2xF31Oa3m2roCtVngOQowapA7A8WHLpZom7TAT+fqNLxyyouOJhxelmm1VcUrA+O8nHoxaPghZpGml4qDNdW3pPFd5OGUAD8x7K/msq39pFCu2BbQqVXtu06wSmV0WiGCX4F0C7yEc7YmUAYb086ODFG4vBU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785795387; c=relaxed/simple; bh=3bRWRJHR2oolUlkzswcZCW6q5QwYlzsAmGwJ0DlRxpo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FvReLjRKsj4xDHdv9TUfO2FN9FuGVT2ec4Gm/K86MhXauRhwgsvHLhjnOgQGidzD+BJmgHplQfI2+tM5v1wA6Alg/2gTH2ZdFiRsd5qHTRVk/klp0KRx7pYFrKetw1JM7B6FOHJolithgb5lCjBRpQKKOVUi27wFKJnsLlVcBUk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=sCeREx1A; arc=none smtp.client-ip=209.85.210.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="sCeREx1A" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-8487088510aso4046969b3a.0 for ; Mon, 03 Aug 2026 15:16:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785795384; x=1786400184; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=umPlPU9FyoH+PYFO+Ek3X5tyEqywCKxkkeaN/G8otu0=; b=sCeREx1ARyPQXATTov0kV00FeHXVK849YyGgieC+3uMDcIKY/0NAwdJRzDZ+IPNsW4 wwRhcglnVgQXXnSbiOttEFfiMEX4oqUf2bTjBTbMv7rEU0NvoKcpHoch12T/Z6hUAMbB cKWJMC+dr9TSTfZkCccCyUhPTeWvh3Mwd7bAY3bpHbLURAA9GQj+ytA2tT19Z882elGJ 4Hr/eGF3oFmhHxyEAtI0NnDBbhiEAVNJr5Zh34SCtUYWtpEV+9vvqxZEMhlRxAHGkEMd 0FG/44z3k1XHlHJP3gr1lAAzolV0p4FE5RLMV8/MapfmHbu6WFSMeh6E7BxdYiL65Uot KWrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785795384; x=1786400184; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=umPlPU9FyoH+PYFO+Ek3X5tyEqywCKxkkeaN/G8otu0=; b=Mkh5Sv7NBj1SRYiDJ3CYgjtnY9VZ/sjfzekxHYGmIMcUp6aPK62f6VUsyNx3FPWoNb e/zYYW0GCOl4ikijwnyv4sOi5X/BmSTi1wmzECOEE1T8tMyos7nCGk9VJTgv5qmC8V// ZV5vc/oRA+wCRkHOzyORJqV6501LWYwVmg81uO5nRQHAdrwlo1wGLR5oDFXAsHRj0mE+ 1hYEZHeAFE8O7T6c4g5y0RQ03GU1Lxqzhg7g2D9s1zmfKtHIUPYHPgUSQo8Rrm12S2dT GhfaagfkhuXrIsaM90D9Xk3yBIFvl98qzov6m0zV1lL5fMK/UrNueFeAmYPJ/5Xpfwz8 pHNQ== X-Forwarded-Encrypted: i=1; AHgh+RpxM1GwZTC3cmiPabyme6rL5XZcnHOt4xjrvmpG+YJpnShDhJk79NFhJuBFsnLerEeOVjNG7AtQKDS0mIE=@vger.kernel.org X-Gm-Message-State: AOJu0Yzg0I79pap1y8iDEpEBgxSqEEiEIOXhXoWo+uKBaQM1qUrC1N7D wjru83ouc30OFRZZFsYbtfcKQjPm6sgLkTG87kUo/Gm+0R5eGiUEpbzl X-Gm-Gg: AR+sD13TIdE9h9nS1aYZT7fQHltx4i1SgEZb/eXYp0DMDVtY2jxAv/QF2aMJKLej0ak yZtftffo8PtEKc/XOxsS2xnILPfMysZ8adMCWJSDtQHDfvO7cXVpo8RrWHbu9VVNw+fZVeTbr+b QI66E0MDxn9C3dMPCGI4tqWhubNvTv33zCcpFKzFG0nH6L3Rio+qRXi7QbvuUYYFM6+zVwY+axl heRU9Jy1HwUPgkh5FkR4oN64YkgNdTha3EBr/JXVUYA3FaiSViY9km4tit3E3jR9xk7O1ckdPCu pqfclpAM97WoL0PRSbLWNLq9Cg7VaqmjC7GHY/xExFH3COBf8MyWJO+zeqOYQHcMIPnPDszOmHE bNsGNzuIzDVSt1mb0PJktII2hrchO2D32OlbnCqTvu1HTGrGdEb1fJVqxGmS0tKAU4eJnt7UtEr rQ3Pla/snVmRyByUIpOhqH3RKQDPoa1LEHhrINYC1kEtoW6QxegtxihmmWpHcS/Jx7rQ+2QMOBD d00W3yC3CCCjQXTmfNdiQf6ierYwY1eeiyPx3HVDw== X-Received: by 2002:a05:6a21:62c4:b0:3c0:9c1a:893c with SMTP id adf61e73a8af0-3c92a96158fmr12506589637.68.1785795384448; Mon, 03 Aug 2026 15:16:24 -0700 (PDT) Received: from lappy (108-228-232-20.lightspeed.sndgca.sbcglobal.net. [108.228.232.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13fab1334cfsm38685666c88.1.2026.08.03.15.16.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2026 15:16:24 -0700 (PDT) From: "Derek J. Clark" To: lkml@antheas.dev Cc: W_Armin@gmx.de, corbet@lwn.net, hdegoede@redhat.com, ilpo.jarvinen@linux.intel.com, jdelvare@suse.com, kuurtb@gmail.com, linux-doc@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org, "Derek J. Clark" Subject: [PATCH 5/6] platform/x86: wmi-msi-platform: Add MSI Claw A8 support Date: Mon, 3 Aug 2026 15:16:13 -0700 Message-ID: <20260803221614.59324-6-derekjohn.clark@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260803221614.59324-1-derekjohn.clark@gmail.com> References: <20250511204427.327558-1-lkml@antheas.dev> <20260803221614.59324-1-derekjohn.clark@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Adds MSI Claw A8 BZ2EM support. - Adds FPPT (PL3) - Adds disable toggle during startup for AMDSTAPM flag. In the Windows DLL this feature is used when setting the device into an AI shift mode not exposed by this driver. - Add limits to gen 3 for SPL, SPPT, FPPT. Signed-off-by: Derek J. Clark --- drivers/platform/x86/msi-wmi-platform.c | 82 ++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 3 deletions(-) diff --git a/drivers/platform/x86/msi-wmi-platform.c b/drivers/platform/x86= /msi-wmi-platform.c index 35cd35fc6446..8d11dad99776 100644 --- a/drivers/platform/x86/msi-wmi-platform.c +++ b/drivers/platform/x86/msi-wmi-platform.c @@ -77,11 +77,17 @@ #define MSI_PLATFORM_SHIFT_GREEN (MSI_PLATFORM_SHIFT_ENABLE + 1) #define MSI_PLATFORM_SHIFT_ECO (MSI_PLATFORM_SHIFT_ENABLE + 2) #define MSI_PLATFORM_SHIFT_USER (MSI_PLATFORM_SHIFT_ENABLE + 3) +#define MSI_PLATFORM_SHIFT_MANUAL (MSI_PLATFORM_SHIFT_ENABLE + 6) =20 /* Get_Data() and Set_Data() Params */ -#define MSI_PLATFORM_PL1_ADDR 0x50 -#define MSI_PLATFORM_PL2_ADDR 0x51 -#define MSI_PLATFORM_BAT_ADDR 0xd7 +#define MSI_PLATFORM_PL1_ADDR 0x50 +#define MSI_PLATFORM_PL2_ADDR 0x51 +#define MSI_PLATFORM_PL3_ADDR 0x52 +#define MSI_PLATFORM_AMDSTAPM_ADDR 0xc5 +#define MSI_PLATFORM_BAT_ADDR 0xd7 + +#define MSI_PLATFORM_AMDSTAPM_SUPPORTED BIT(7) +#define MSI_PLATFORM_AMDSTAPM_DISABLE BIT(0) =20 static bool force; module_param_unsafe(force, bool, 0); @@ -124,10 +130,14 @@ struct msi_wmi_platform_quirk { bool charge_threshold; /* Charge threshold is supported */ bool dual_fans; /* For devices with two hwmon fans */ bool restore_curves; /* Restore factory curves on unload */ + bool disable_stapm; /* Disable AMD STAPM auto power management on load */ + u8 custom_shift; /* EC Shift value for PLATFORM_PROFILE_CUSTOM, 0 if unsu= pported */ int pl1_min; /* Minimum PL1 value */ int pl1_max; /* Maximum PL1 value */ int pl2_min; /* Minimum PL2 value */ int pl2_max; /* Maximum PL2 value */ + int pl3_min; /* Minimum PL3 value */ + int pl3_max; /* Maximum PL3 value */ }; =20 struct msi_wmi_platform_factory_curves { @@ -151,16 +161,19 @@ struct msi_wmi_platform_data { enum msi_fw_attr_id { MSI_ATTR_PPT_PL1_SPL, MSI_ATTR_PPT_PL2_SPPT, + MSI_ATTR_PPT_PL3_FPPT, }; =20 static const char *const msi_fw_attr_name[] =3D { [MSI_ATTR_PPT_PL1_SPL] =3D "ppt_pl1_spl", [MSI_ATTR_PPT_PL2_SPPT] =3D "ppt_pl2_sppt", + [MSI_ATTR_PPT_PL3_FPPT] =3D "ppt_pl3_fppt", }; =20 static const char *const msi_fw_attr_desc[] =3D { [MSI_ATTR_PPT_PL1_SPL] =3D "CPU Steady package limit (PL1/SPL)", [MSI_ATTR_PPT_PL2_SPPT] =3D "CPU Boost slow package limit (PL2/SPPT)", + [MSI_ATTR_PPT_PL3_FPPT] =3D "CPU Boost fast package limit (PL3/FPPT)", }; =20 #define MSI_ATTR_LANGUAGE_CODE "en_US.UTF-8" @@ -245,6 +258,19 @@ static struct msi_wmi_platform_quirk quirk_gen2 =3D { .pl2_min =3D 9, .pl2_max =3D 37 }; +static struct msi_wmi_platform_quirk quirk_gen3 =3D { + .shift_mode =3D true, + .charge_threshold =3D true, + .dual_fans =3D true, + .restore_curves =3D true, + .disable_stapm =3D true, + .pl1_min =3D 7, + .pl1_max =3D 35, + .pl2_min =3D 9, + .pl2_max =3D 40, + .pl3_min =3D 10, + .pl3_max =3D 48, +}; =20 static const struct dmi_system_id msi_quirks[] =3D { { @@ -271,6 +297,14 @@ static const struct dmi_system_id msi_quirks[] =3D { }, .driver_data =3D &quirk_gen2, }, + { + .ident =3D "MSI Claw A8 BZ2EM", + .matches =3D { + DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star International Co., Ltd."), + DMI_MATCH(DMI_BOARD_NAME, "MS-1T8K"), + }, + .driver_data =3D &quirk_gen3, + }, { } }; =20 @@ -862,6 +896,8 @@ static int data_get_addr(struct msi_wmi_platform_data *= data, return MSI_PLATFORM_PL1_ADDR; case MSI_ATTR_PPT_PL2_SPPT: return MSI_PLATFORM_PL2_ADDR; + case MSI_ATTR_PPT_PL3_FPPT: + return MSI_PLATFORM_PL3_ADDR; default: pr_warn("Invalid attribute id %d\n", id); return -EINVAL; @@ -1150,6 +1186,15 @@ static int msi_wmi_fw_attrs_init(struct msi_wmi_plat= form_data *data) return err; } =20 + if (data->quirks->pl3_max) { + err =3D msi_fw_attr_init(data, MSI_ATTR_PPT_PL3_FPPT, + &fw_attr_type_int, data->quirks->pl3_min, + data->quirks->pl3_max, &data_get_value, + &data_set_value); + if (err) + return err; + } + return 0; } =20 @@ -1421,6 +1466,31 @@ static int msi_wmi_platform_init(struct msi_wmi_plat= form_data *data) return 0; } =20 +static int msi_wmi_platform_disable_stapm(struct msi_wmi_platform_data *da= ta) +{ + u8 buffer[32] =3D { 0 }; + int ret; + + buffer[0] =3D MSI_PLATFORM_AMDSTAPM_ADDR; + + ret =3D msi_wmi_platform_query(data, MSI_PLATFORM_GET_DATA, buffer, sizeo= f(buffer)); + if (ret < 0) + return ret; + + /* Only touch it if firmware self-reports STAPM support */ + if (!(buffer[1] & MSI_PLATFORM_AMDSTAPM_SUPPORTED)) + return 0; + + buffer[0] =3D MSI_PLATFORM_AMDSTAPM_ADDR; + buffer[1] |=3D MSI_PLATFORM_AMDSTAPM_DISABLE; + + ret =3D msi_wmi_platform_query(data, MSI_PLATFORM_SET_DATA, buffer, sizeo= f(buffer)); + if (ret < 0) + return ret; + + return 0; +} + static int msi_wmi_platform_profile_setup(struct msi_wmi_platform_data *da= ta) { if (!data->quirks->shift_mode) @@ -1460,6 +1530,12 @@ static int msi_wmi_platform_probe(struct wmi_device = *wdev, const void *context) if (ret < 0) return ret; =20 + if (data->quirks->disable_stapm) { + ret =3D msi_wmi_platform_disable_stapm(data); + if (ret < 0) + return ret; + } + ret =3D msi_wmi_platform_ec_init(data); if (ret < 0) return ret; --=20 2.55.0 From nobody Fri Oct 2 07:45:19 2026 Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED48831E822 for ; Mon, 3 Aug 2026 22:16:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785795387; cv=none; b=X6IAc5W//3yG92Sc/2WK+DA6Hv1LXaYT2JcJoPAoEGY7+4nKgLZ1w3aK97M1jKC68ux2BXF6MlNab2rCmhGGrRPnAokW5RNzimuYo6qwkLwLj3o+W2VxMmLbfW/l+MrrLJ+xCU621gg9zIkMw+5xGl/u8EOveYd7lxM5fDO/iOk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785795387; c=relaxed/simple; bh=+Fd4D4G24Lf6HeULnGUvJTIyL+0ZgRwVDOjp2wWUOEs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cEWwcUJdbP5MXj9FSA2EmLSwnvJedANC1ZKjwKkV6N6AuckJHbswj4gw/n1JWgdXDfGhjMAkS5eUR9W28KGx6/EEGQz5u6iuezkAdyCWX9mjk7R8RO7jUlyv8wkG/CygYCzu2N5KNDRJo3Br0KLDfZEK6673+4Fdb60CczjcT3w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kly7RrAf; arc=none smtp.client-ip=209.85.215.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kly7RrAf" Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-ca80d708489so265283a12.1 for ; Mon, 03 Aug 2026 15:16:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785795385; x=1786400185; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=5LM51EciHqg/+cWUGKzq5pQNwGKYXu9VyZMTqMOay7I=; b=kly7RrAf2OvRFF9VWX+StFLnWWvJXla3DMbnHjiuM2BH1wKrki+M9DpTc+m2qvFVeZ +qr5LH8M0+gDdTFbHeBrtsrO2lOeoKgN9IMbC1op/fiP+gzHf1oQrvDtf1KflkNQ35yV DdyOuc3lAYp9wE+eT+++dx1XMK8/rdOA8j70n1h+tzJpoDJ8eTCEHNv8s6lzLXa4sfga OI3fll1t9/m29mkrpd+JIHdmIhRz89oL94BhYgZQHNP95V0G878rjV8CRZ1gQM+OEMIa UQLoFxBNQJEziNlT77hjdHLW9VBLM2zkuv6OQaX6TY7IIcYPiuALm/T0f9PMuW/AoLy1 C6qA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785795385; x=1786400185; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=5LM51EciHqg/+cWUGKzq5pQNwGKYXu9VyZMTqMOay7I=; b=lKQETdPBjOcUc7By5YylvIB2EJpEVTQ3ZOhuJjYsVRMeZUloEQ5c5yUCylBmv0A0me wBTlWba3x5wMWvnNAqKZCkpjNAw7CmMh/oJC5Fsrg3mMZYdYW1V2gzFmhHY4lhcL3vRi OdXDJ/nMZI5ViqA3roFpFCVmXWqBPg9KjyOAvkF7hSibS0630/GTF2mXpCa6gtDyuG4f UkmdMuRyN4TGtPY2FbKpKs5t8XI9gHOrVCUR5bm2ypBwHYjnhQWdoIyoPcq6nvbyO8k5 tZ5CjY/sKWVz8kRayPXsm+/Gyh3+Y3B04Xp/Zv3NCEUAPJM5HVKfO8H8XN1cJEfPe4UW w4bw== X-Forwarded-Encrypted: i=1; AHgh+Rovhuo7uh/RGl1R1JVKDnxr0wCuwl8TfyKHW3w09No0IeWRg5uYz+fy2YFaEtoPH8A0IRer2vxA1TKzg6E=@vger.kernel.org X-Gm-Message-State: AOJu0YxFqykg7Dmxzxm4YlYdVUXx0W9txAK6DMtDJpFGVjA7BrPbcalu k8unLYHV5GV5MZgmaNaUtni7ubpBZ78MKnslevzWzg5+XeDb/ZPTx+Y2 X-Gm-Gg: AR+sD10NT5Cr2MGYUkIvkQQOsdpMtP5mYzet6sj1h4jLbaAH+XtRC8VoB9MYf8rAVZS Lqo2vkEWo9FNj5NPFDZWv57otWk4aAIBujIPgaMpf+TdbTwlvAtRj7o7cgSp1hLy1DOCEmhnX3e MfBM0bG3TZKYDVqd4nymH5U1e91zMQoyT3lt4JUrqa5h+nPIAq2OvMq474M+gaaCA4UWT3BzDgR bH3YtEM6skioILEBEWB2yWFrO0a/Dc+ezdJQxn/n1AEBIdoMisruoOV/XsQKSRzPcVOMKynyfZr GKHS4DG5dSpUPmdqyfCWVRwejhITgI2ZNIMNP37QCwLnCHBgJPjXLkdP9gPJrvzTN/kOiQgeHSk vtn0urM3mNLp5fySf24Pqj05toXm9AATaN8fiVjv+SkhedVJ5td230KJJsfKEHH/LIOdK6rgTx0 7B7S2qMWcjl1winhRfU3K6QxoKpHwxIF0tycngOHXkFgONw5d0AtdmpZiYcoYcFqHy2qPxSHPtt 6JY49/vwD1AY+BROHkdLpuautk1BlKADqqzHuom5Fml1jz6tMRh X-Received: by 2002:a05:6a20:431f:b0:3c3:750f:3cf9 with SMTP id adf61e73a8af0-3cb6c7b8475mr1065933637.11.1785795385301; Mon, 03 Aug 2026 15:16:25 -0700 (PDT) Received: from lappy (108-228-232-20.lightspeed.sndgca.sbcglobal.net. [108.228.232.20]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13fab1334cfsm38685666c88.1.2026.08.03.15.16.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2026 15:16:24 -0700 (PDT) From: "Derek J. Clark" To: lkml@antheas.dev Cc: W_Armin@gmx.de, corbet@lwn.net, hdegoede@redhat.com, ilpo.jarvinen@linux.intel.com, jdelvare@suse.com, kuurtb@gmail.com, linux-doc@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org, "Derek J. Clark" Subject: [PATCH 6/6] platform-x86: msi-wmi-platform: Add Gen 4 device Date: Mon, 3 Aug 2026 15:16:14 -0700 Message-ID: <20260803221614.59324-7-derekjohn.clark@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260803221614.59324-1-derekjohn.clark@gmail.com> References: <20250511204427.327558-1-lkml@antheas.dev> <20260803221614.59324-1-derekjohn.clark@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Adds support for the MSI Claw 8 EX AI+. This device uses a unique new shift mode for custom TDP not previously exposed by this driver. To ensure that "MSI_SHIFT_MODE_USER" can still be set in the future to CUSTOM platform profile, store the shift mode that applies to custom in the quirks and check it outside the switch case in _get() since it is no longer a compile time const. Signed-off-by: Derek J. Clark --- drivers/platform/x86/msi-wmi-platform.c | 38 ++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/drivers/platform/x86/msi-wmi-platform.c b/drivers/platform/x86= /msi-wmi-platform.c index 8d11dad99776..0b1b64182cc3 100644 --- a/drivers/platform/x86/msi-wmi-platform.c +++ b/drivers/platform/x86/msi-wmi-platform.c @@ -271,6 +271,17 @@ static struct msi_wmi_platform_quirk quirk_gen3 =3D { .pl3_min =3D 10, .pl3_max =3D 48, }; +static struct msi_wmi_platform_quirk quirk_gen4 =3D { + .shift_mode =3D true, + .charge_threshold =3D true, + .dual_fans =3D true, + .restore_curves =3D true, + .custom_shift =3D MSI_PLATFORM_SHIFT_MANUAL, + .pl1_min =3D 8, + .pl1_max =3D 35, + .pl2_min =3D 9, + .pl2_max =3D 45, +}; =20 static const struct dmi_system_id msi_quirks[] =3D { { @@ -305,6 +316,14 @@ static const struct dmi_system_id msi_quirks[] =3D { }, .driver_data =3D &quirk_gen3, }, + { + .ident =3D "MSI Claw 8 EX AI+ CG3EM", + .matches =3D { + DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star International Co., Ltd."), + DMI_MATCH(DMI_BOARD_NAME, "MS-1T91"), + }, + .driver_data =3D &quirk_gen4, + }, { } }; =20 @@ -805,10 +824,16 @@ static const struct hwmon_chip_info msi_wmi_platform_= chip_info_dual =3D { =20 static int msi_wmi_platform_profile_probe(void *drvdata, unsigned long *ch= oices) { + struct msi_wmi_platform_data *data =3D drvdata; + set_bit(PLATFORM_PROFILE_LOW_POWER, choices); set_bit(PLATFORM_PROFILE_BALANCED, choices); set_bit(PLATFORM_PROFILE_BALANCED_PERFORMANCE, choices); set_bit(PLATFORM_PROFILE_PERFORMANCE, choices); + + if (data->quirks->custom_shift) + set_bit(PLATFORM_PROFILE_CUSTOM, choices); + return 0; } =20 @@ -816,6 +841,7 @@ static int msi_wmi_platform_profile_get(struct device *= dev, enum platform_profile_option *profile) { struct msi_wmi_platform_data *data =3D dev_get_drvdata(dev); + u8 custom =3D data->quirks->custom_shift; int ret; =20 u8 buffer[32] =3D { }; @@ -829,6 +855,11 @@ static int msi_wmi_platform_profile_get(struct device = *dev, if (buffer[0] !=3D 1) return -EINVAL; =20 + if (custom && buffer[1] =3D=3D custom) { + *profile =3D PLATFORM_PROFILE_CUSTOM; + return 0; + } + switch (buffer[1]) { case MSI_PLATFORM_SHIFT_SPORT: *profile =3D PLATFORM_PROFILE_PERFORMANCE; @@ -842,9 +873,6 @@ static int msi_wmi_platform_profile_get(struct device *= dev, case MSI_PLATFORM_SHIFT_ECO: *profile =3D PLATFORM_PROFILE_LOW_POWER; return 0; - case MSI_PLATFORM_SHIFT_USER: - *profile =3D PLATFORM_PROFILE_CUSTOM; - return 0; default: return -EINVAL; } @@ -872,7 +900,9 @@ static int msi_wmi_platform_profile_set(struct device *= dev, buffer[1] =3D MSI_PLATFORM_SHIFT_ECO; break; case PLATFORM_PROFILE_CUSTOM: - buffer[1] =3D MSI_PLATFORM_SHIFT_USER; + if (!data->quirks->custom_shift) + return -EINVAL; + buffer[1] =3D data->quirks->custom_shift; break; default: return -EINVAL; --=20 2.55.0