From nobody Fri Dec 19 11:17:35 2025 Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DE301328259; Tue, 11 Nov 2025 13:11:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.21 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762866703; cv=none; b=ZVfX+ocOcjYpvmbl2FAXCkmqt4PiPrphdulyRwaShJjUWAXeAFt3SqcT5gDMs4faqvPpwvCCrNpe0ekACnWduOupqCEo3z1bOiB1OBwLbPbcGZgdg6QMQQlcSRqaXK56aZhanx81jEj33iQDr93fM/zGowNZ8TFIirfiST06eIE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762866703; c=relaxed/simple; bh=by/Li4iSHhM1rDG8xsYwZIwe5AwgL0fSad9FXoF5WKA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=eyjBRCtKygE0Q88HrB70mQUeVW0gjKdKD5jkejQzRRHXh1tK4+8Y12u0eJw0LFS1ujF2VtVbVhEgxHrfR9gTx7+ooSAmN+XRjx0ofEXGo7BqLpbEd55etYE7qaoGCTQaoaeNUDoJ/iKJexKoNgtHuLTtcb+6es1noznQ8rWcDfU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de; spf=pass smtp.mailfrom=gmx.de; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b=G8bdj33O; arc=none smtp.client-ip=212.227.17.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b="G8bdj33O" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1762866692; x=1763471492; i=w_armin@gmx.de; bh=SKEe6QBDEckw6UbPK40FILVB/LXShWLeNILNZ7Iwdpg=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-Id:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=G8bdj33O8IAkZKQaFJkZr2D6+ai80NwXDXfFTCFLamIj3Qo/snMZ58JpovCg1MDN ka/GF2IenwG0U9wf+o3woUaCzu5cybMGOFcfv22KcogUNcmLUcNDCsqwzbhEc5LU2 7wDPWcy/RW1JeKpHCtllmqyZcoh46oygfjcYoeRK5T4+52me7mCnT6yK5BtVXff/q pwSEmq2A+Vez5mRsdsfL3ypHYN7r75FZ5S4gGXllmXx2XPQSCQOfvxCiP059q4xa7 xhpWHck2iLvGFJSFUde6vQsN2O6BQ0Cm/ZZ2HEHsptWF68Oj7xitmpG1YyCHluFVL E0rO8VPl/GQhfr6yhQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from mx-amd-b650.fritz.box ([93.202.247.91]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MfpSb-1vpf4c31yb-00qGOQ; Tue, 11 Nov 2025 14:11:32 +0100 From: Armin Wolf To: viro@zeniv.linux.org.uk, brauner@kernel.org, hansg@kernel.org, ilpo.jarvinen@linux.intel.com Cc: superm1@kernel.org, jack@suse.cz, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org Subject: [PATCH v2 1/4] fs/nls: Fix utf16 to utf8 conversion Date: Tue, 11 Nov 2025 14:11:22 +0100 Message-Id: <20251111131125.3379-2-W_Armin@gmx.de> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20251111131125.3379-1-W_Armin@gmx.de> References: <20251111131125.3379-1-W_Armin@gmx.de> 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 X-Provags-ID: V03:K1:aHvUie/LVaPFFB9fYLOP52I86uXBhSIuLhHCGlgxtPbeel9p6w+ MH0qjj7dySvW79LrNOWDKZ1gCRX67ChDmyFoorJulR2ya8GKzCp3u4ACf1YaDzt1J1TSxOv wVNw78SgXcj74sXfYGqX3roN8tusd92BCLjlYwns0YvHAkZckWen0wY7JulAYu0H3Rpngg0 giGGLOFJwE3fqokTVBk1w== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:MeRJ5TjFvQc=;eXWDkIDzjHMKu5O4ujf6nSBT83h 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 Content-Type: text/plain; charset="utf-8" Currently the function responsible for converting between utf16 and utf8 strings will ignore any characters that cannot be converted. This however also includes multi-byte characters that do not fit into the provided string buffer. This can cause problems if such a multi-byte character is followed by a single-byte character. In such a case the multi-byte character might be ignored when the provided string buffer is too small, but the single-byte character might fit and is thus still copied into the resulting string. Fix this by stop filling the provided string buffer once a character does not fit. In order to be able to do this extend utf32_to_utf8() to return useful errno codes instead of -1. Fixes: 74675a58507e ("NLS: update handling of Unicode") Signed-off-by: Armin Wolf --- fs/nls/nls_base.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/fs/nls/nls_base.c b/fs/nls/nls_base.c index 18d597e49a19..d434c4463a8f 100644 --- a/fs/nls/nls_base.c +++ b/fs/nls/nls_base.c @@ -94,7 +94,7 @@ int utf32_to_utf8(unicode_t u, u8 *s, int maxout) =20 l =3D u; if (l > UNICODE_MAX || (l & SURROGATE_MASK) =3D=3D SURROGATE_PAIR) - return -1; + return -EILSEQ; =20 nc =3D 0; for (t =3D utf8_table; t->cmask && maxout; t++, maxout--) { @@ -110,7 +110,7 @@ int utf32_to_utf8(unicode_t u, u8 *s, int maxout) return nc; } } - return -1; + return -EOVERFLOW; } EXPORT_SYMBOL(utf32_to_utf8); =20 @@ -217,8 +217,16 @@ int utf16s_to_utf8s(const wchar_t *pwcs, int inlen, en= um utf16_endian endian, inlen--; } size =3D utf32_to_utf8(u, op, maxout); - if (size =3D=3D -1) { - /* Ignore character and move on */ + if (size < 0) { + if (size =3D=3D -EILSEQ) { + /* Ignore character and move on */ + continue; + } + /* + * Stop filling the buffer with data once a character + * does not fit anymore. + */ + break; } else { op +=3D size; maxout -=3D size; --=20 2.39.5 From nobody Fri Dec 19 11:17:35 2025 Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9D3B933ADA7; Tue, 11 Nov 2025 13:11:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.21 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762866709; cv=none; b=TdIy0foZ3N6ATAVbX0KV7JgEGXhxUzveTU7ZY67gbZ3QSbL6I0QP9JEvswcXYyAU5QeJPULB4sgvGc4bgAVLMXeEBEXd2CshIn1bL3b3fKk1o06JWqdD/yPGeM6NIsPkVC9pZPK/MlqfjVD54qRWl2J8JD282DBEqqC8wEj7trk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762866709; c=relaxed/simple; bh=l6dgkwVTX+nYYUEUarUe9Z8EG8LznFvBnfy7Dit+dJs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=e346X9cFVdgzzYGiD0oK0ftVmUuZrlt7M3xbJGowf1Qm74PHNU25Gu6ECgPbAmewRvC9rT70/PxczwFmzK+tQqk9m/ip82T0ZXDq95dKnz5nMz8A7w3vzzO3TJ1ndPZOsN+mwRG/utsPyI/RnC0rwS5AprELUlKehkNwE2OxqlQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de; spf=pass smtp.mailfrom=gmx.de; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b=ip28wqAn; arc=none smtp.client-ip=212.227.17.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b="ip28wqAn" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1762866694; x=1763471494; i=w_armin@gmx.de; bh=0P/Z+v6CnKjg6IgFnYEQ2dxLZv6jFsLO3430lUKgxhA=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-Id:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=ip28wqAnXowYQDAYdSHujmBD41/wYLA4FUYeVp+xRy/Xy9KDEfpqQKkPmbWusYu/ DwTG5Bhh4JPrU/V8Hgs8noIW0Rz9Ax/BdexR0wVmdHH3jgBB54aWvViZc3VGObkpX ptGxRi0Tr3cZoJqwLIaQU9fH7NNon+5/wD1jP2Sq5P96JB2iGvQZ0Kn1HzQdvtFXF 6xRS/dGXeWFg3mV/2TgScjzpMMg20hw04z7CXQPGSq55Is5zTa5ldiC8xD6+bnTsg 7/Cy7YnSiaWE0dY4gETx/R9fLoeWhIeNhkS8E7XAa2lkcqbl20pE45rCiAG/GtvOz fEeTwK5j6Wo3ie1F1g== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from mx-amd-b650.fritz.box ([93.202.247.91]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MeU0q-1vtEu1452K-00ipnu; Tue, 11 Nov 2025 14:11:34 +0100 From: Armin Wolf To: viro@zeniv.linux.org.uk, brauner@kernel.org, hansg@kernel.org, ilpo.jarvinen@linux.intel.com Cc: superm1@kernel.org, jack@suse.cz, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org Subject: [PATCH v2 2/4] platform/x86: wmi: Use correct type when populating ACPI objects Date: Tue, 11 Nov 2025 14:11:23 +0100 Message-Id: <20251111131125.3379-3-W_Armin@gmx.de> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20251111131125.3379-1-W_Armin@gmx.de> References: <20251111131125.3379-1-W_Armin@gmx.de> 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 X-Provags-ID: V03:K1:WKzGiazRbRJEWXZ7gA3cIuv0IkVn5I2vz1LzNVsEAcenG2S3zDB g1uq2aiZrBk1UJ5IGkepXXNL2icgrlHc4hBEQNfkqdMZSNO+oZg7QNSqkeykb5+b1ZsBAkm 9q+T2o2c+2/7iBeBj2G57RC08zBK10iL6RKjMDAnkT6GUup5fRtONOgwu8EpabV4sVf3L11 xRdpU+PbA0dlUyqUVOazQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:iyzTv7W2Kgc=;PDvimj3XJ1v8KGnZhdAUcQ112tk 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 Content-Type: text/plain; charset="utf-8" When evaluating a WMxx/WSxx ACPI control method, the data buffer either needs to be passed as an ACPI buffer or as an ACPI string. Use the correct type (buffer/string) when populating the associated ACPI object. Signed-off-by: Armin Wolf --- drivers/platform/x86/wmi.c | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c index 4e86a422f05f..6878c4fcb0b5 100644 --- a/drivers/platform/x86/wmi.c +++ b/drivers/platform/x86/wmi.c @@ -142,14 +142,6 @@ static inline void get_acpi_method_name(const struct w= mi_block *wblock, buffer[4] =3D '\0'; } =20 -static inline acpi_object_type get_param_acpi_type(const struct wmi_block = *wblock) -{ - if (wblock->gblock.flags & ACPI_WMI_STRING) - return ACPI_TYPE_STRING; - else - return ACPI_TYPE_BUFFER; -} - static int wmidev_match_guid(struct device *dev, const void *data) { struct wmi_block *wblock =3D dev_to_wblock(dev); @@ -351,9 +343,16 @@ acpi_status wmidev_evaluate_method(struct wmi_device *= wdev, u8 instance, u32 met params[0].integer.value =3D instance; params[1].type =3D ACPI_TYPE_INTEGER; params[1].integer.value =3D method_id; - params[2].type =3D get_param_acpi_type(wblock); - params[2].buffer.length =3D in->length; - params[2].buffer.pointer =3D in->pointer; + + if (wblock->gblock.flags & ACPI_WMI_STRING) { + params[2].type =3D ACPI_TYPE_STRING; + params[2].string.length =3D in->length; + params[2].string.pointer =3D in->pointer; + } else { + params[2].type =3D ACPI_TYPE_BUFFER; + params[2].buffer.length =3D in->length; + params[2].buffer.pointer =3D in->pointer; + } =20 get_acpi_method_name(wblock, 'M', method); =20 @@ -519,9 +518,16 @@ acpi_status wmidev_block_set(struct wmi_device *wdev, = u8 instance, const struct input.pointer =3D params; params[0].type =3D ACPI_TYPE_INTEGER; params[0].integer.value =3D instance; - params[1].type =3D get_param_acpi_type(wblock); - params[1].buffer.length =3D in->length; - params[1].buffer.pointer =3D in->pointer; + + if (wblock->gblock.flags & ACPI_WMI_STRING) { + params[1].type =3D ACPI_TYPE_STRING; + params[1].string.length =3D in->length; + params[1].string.pointer =3D in->pointer; + } else { + params[1].type =3D ACPI_TYPE_BUFFER; + params[1].buffer.length =3D in->length; + params[1].buffer.pointer =3D in->pointer; + } =20 get_acpi_method_name(wblock, 'S', method); =20 --=20 2.39.5 From nobody Fri Dec 19 11:17:35 2025 Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C238133120C; Tue, 11 Nov 2025 13:11:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.21 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762866706; cv=none; b=S9dj3Vt/dPbTsfN+Hlm7HgkXZg1S1YRqUimkvQpRFuLIfkYlMkLZ+xti5glZL8yNGGZ04bRSbh1a+cq7RxS81tCu9RUd6irrLo2zWD7c2yhQY11grAXDNaQuSA2ukqqpNi2ySa1P2BgQpmwdDy66IvhGIXEOWJQ3APwXsWKI0GE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762866706; c=relaxed/simple; bh=J7WqU+qFuPqY6lrI493z2xpaTkFBF79kSoAgrPIeltE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=jevzPFxKXhDpzOfzeXYmK63KELUopn29k7V1X3H2tulQPGyiIDmK7oD9cx+QBQCwU69AyHehaJNAm5Gqvs26e42VEwd1dCtS20neZDI2bKl8oGb6/5MH5QeVj2Fk7yb4waT1QKiDmyR1Y6ahfj4H1oigvIj2reowq4XFln9ggv4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de; spf=pass smtp.mailfrom=gmx.de; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b=Wcx9jMJT; arc=none smtp.client-ip=212.227.17.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b="Wcx9jMJT" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1762866696; x=1763471496; i=w_armin@gmx.de; bh=7iRlyxi57atvoFWPoLQFNeWyWZNMG97YnVYPNzVDjkE=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-Id:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=Wcx9jMJTlJDDpDYiK3wGT866ydgBZ4iYc6T3a9RKoUwbXc0zKqkznT/U3ZU1xbsI TNDsew+zJ8bKil30uhAFbjWdcjCHxwxgLw/9uA/pPzQ3eLp6FV/nqpbBp+h2WE3tm PR9mFYEs3HCKjO03PFfdJfmmHbLkkK5xkg4Iz+64EeI1CZ71mR5297/34iu6BZB8G O97XZfpujiWZiHLS3OVJcDiRc9RSJkA9FrThXIEFzxsIdMTETM0Li2/+ebbXZ+esB lrfDeVsGfySZjLJxFl1PrlO8SntdzbMGHq9dreUPNeLHHrhTaaF0eW++jViRtg3NC ApmBfGeVGelXQNwR6Q== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from mx-amd-b650.fritz.box ([93.202.247.91]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M2O2Q-1vLYmM1o5O-00BPwd; Tue, 11 Nov 2025 14:11:36 +0100 From: Armin Wolf To: viro@zeniv.linux.org.uk, brauner@kernel.org, hansg@kernel.org, ilpo.jarvinen@linux.intel.com Cc: superm1@kernel.org, jack@suse.cz, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org Subject: [PATCH v2 3/4] platform/x86: wmi: Remove extern keyword from prototypes Date: Tue, 11 Nov 2025 14:11:24 +0100 Message-Id: <20251111131125.3379-4-W_Armin@gmx.de> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20251111131125.3379-1-W_Armin@gmx.de> References: <20251111131125.3379-1-W_Armin@gmx.de> 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 X-Provags-ID: V03:K1:J+hbef+rldfd330a5NRS1/Eklb40AdaA9tHndaptE8Yeujm818G eyYONA/2FsPto7oxM5Cg+xoPhXn+hHbBTTCyWDKLtNNgAx6tahs/KK6TEC1bO+euGhyEHBL /+b6EJNeVimBKS3fHAMNMRXtCUkLHOLKPeHj/cDTh7k3WRQEBz+DFxNzIbeFo0whxYV+Gkc JlA2BUB0G9aJju63StyOQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:QQ2+NbBHa60=;Hp9MN9tpNn6jkpdCeARQ1tINutQ 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 Fxxb1jjRTUyQXDR+UhWs0J+dePWl42oH9ne+6C Content-Type: text/plain; charset="utf-8" The external function definitions do not need the "extern" keyword. Remove it to silence the associated checkpatch warnings. Signed-off-by: Armin Wolf --- include/linux/wmi.h | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/include/linux/wmi.h b/include/linux/wmi.h index 10751c8e5e6a..665ea7dc8a92 100644 --- a/include/linux/wmi.h +++ b/include/linux/wmi.h @@ -36,13 +36,10 @@ struct wmi_device { */ #define to_wmi_device(device) container_of_const(device, struct wmi_device= , dev) =20 -extern acpi_status wmidev_evaluate_method(struct wmi_device *wdev, - u8 instance, u32 method_id, - const struct acpi_buffer *in, - struct acpi_buffer *out); +acpi_status wmidev_evaluate_method(struct wmi_device *wdev, u8 instance, u= 32 method_id, + const struct acpi_buffer *in, struct acpi_buffer *out); =20 -extern union acpi_object *wmidev_block_query(struct wmi_device *wdev, - u8 instance); +union acpi_object *wmidev_block_query(struct wmi_device *wdev, u8 instance= ); =20 acpi_status wmidev_block_set(struct wmi_device *wdev, u8 instance, const s= truct acpi_buffer *in); =20 @@ -81,9 +78,9 @@ struct wmi_driver { */ #define to_wmi_driver(drv) container_of_const(drv, struct wmi_driver, driv= er) =20 -extern int __must_check __wmi_driver_register(struct wmi_driver *driver, - struct module *owner); -extern void wmi_driver_unregister(struct wmi_driver *driver); +int __must_check __wmi_driver_register(struct wmi_driver *driver, struct m= odule *owner); + +void wmi_driver_unregister(struct wmi_driver *driver); =20 /** * wmi_driver_register() - Helper macro to register a WMI driver --=20 2.39.5 From nobody Fri Dec 19 11:17:35 2025 Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C240433120D; Tue, 11 Nov 2025 13:11:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.21 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762866706; cv=none; b=Tb8srWh9A52mnxsNvexP8y2xuc+Zp0zESEOhaljiQ6avy/jF3yuHuiexSNX6DWeoNw06QxRT274La+9ymXk9tAuXoa/Vlzo4IE0l4hGkYT92qHm9PlNm4nY+rBYIKv8Deuib9rY727uqxv/e5i0bCyEH52C906Z4/intnMtwBI8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762866706; c=relaxed/simple; bh=X4aJpb/kBhUJ3mq0S18GxI1BYxXrlx8ZD0KTAn6iZFw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=HURetroLNYT4ItumuUiE2EW7Sj6X/TY141MgzivsHen636haOQMZ3JAcdVr3d4X/Qy3HEKC8vZKWifMq7E9s766mPDlShcmM5ypedsJNqe1nWGFZ1ngtwQ2hezEUom40OEvzwj9ZGrsksQgAKTS9ME3q+opg+C/MrtXZhECINFQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de; spf=pass smtp.mailfrom=gmx.de; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b=j/DJBH1f; arc=none smtp.client-ip=212.227.17.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b="j/DJBH1f" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1762866699; x=1763471499; i=w_armin@gmx.de; bh=+DIgu2KMwjrSKPX7H24CNXucYnKkbf+BuCBZwvVExHA=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-Id:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=j/DJBH1fuPLZPCZVVusg5YfJpP02pWqHA7bIKsYuwh6tP9fi7aayDUnTOWRRnTGR zzf5k9+bRPIZe9Kj3Mgwnj/+9p2w2oLU2kVrzL1HIP+UPOfsq+mg9049KVs0ExrdC RGi2kJL9nk5DItjoFBBd/dUtrEqLdDARHwy1SnpCxQf60KaU/6LcMvWrR5nmBgqG0 1cj7akTbJHC42iTSYQa1qomlz8WKFY5fvgWuqKWSRnA181HpD9cYMlf/Zd1uphgbo kJwV77s7i48pIUFmDRcDXNUUtQjOm7NHj3YdQK0Am0nc9hTVEvEs7VFSE3cDHtR8m Spj1kmwfLFIUa3crRQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from mx-amd-b650.fritz.box ([93.202.247.91]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M9o21-1vFDGJ3IBx-00DuWf; Tue, 11 Nov 2025 14:11:39 +0100 From: Armin Wolf To: viro@zeniv.linux.org.uk, brauner@kernel.org, hansg@kernel.org, ilpo.jarvinen@linux.intel.com Cc: superm1@kernel.org, jack@suse.cz, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org Subject: [PATCH v2 4/4] platform/x86: wmi: Move WMI core code into a separate directory Date: Tue, 11 Nov 2025 14:11:25 +0100 Message-Id: <20251111131125.3379-5-W_Armin@gmx.de> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20251111131125.3379-1-W_Armin@gmx.de> References: <20251111131125.3379-1-W_Armin@gmx.de> 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 X-Provags-ID: V03:K1:jCWzpKwCZaQFCgHU7eXuPV37SqHjsPC9wk17Sp+1lrRgcABXjVi JIaBb9dC4CjS0B+Yf0zdQrZ1dx2m/ZPNoLNjvQmRZE2zh2kBsbApzIfT4XF/aVFyU9eSpqo A4gASH/A39JbWpb7d40qDWFsOrP02+c83TNp4wNFWF/Uik5WaV8N83x3vlUYGmprY92jHfy EdkkPctdZ3lX/aBzoeVig== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:43+4nTlfPY8=;1ai4+qIxKyZkUcgv6PIQAuP/S1A SVbP2YsUfOj+KuoBeE59UNRtlprHtyPMH5ic2DQWp39/5NfAIlWz2RTdcnPhFsbgaUGAsKFjz xXhrW941Wqp1z7L+/83Jwu/Bip7nCmWTf0onefC7LHfhQOrx3slWP3p7L4J2ygzLmHDXNe4np r1++Un1swLdKjMNaDNwbHBeVbUB4bbaH0WXY0EQfl7NsMdjV9X1OCO1JAFDXm06+QQpbH9oV0 B/O3Ac8uyxmk+JX5b9wBGHE08pcQfUwRVUCIO3g0aoHwZBpjbBtJJs5Z1awcSh+hMst7jOwgG YfiK3CHjRCA6jsoxWMCxvPEtEV8SK7+yw5vztm38nwOg8LvEw44KQ5Ued/oCUQK1R8/l/XVxL 3JRX38h/NK7xsCcjWi9wqliqGiHvh0Bt2YpwhNfJkpJMZpL3vr4F/ECBxtVEcUf/S9MZuSwZo ZKhkzV485kK+Ls1vyjwvmYnLtO9lneHUw9jKVvvoeor3wW87XigjuNh75FjnsdUbIVrhYeMs/ XxLTAhiFzSEagstYlBAaXVg7904Ui1srkn+4momYvSmnHekEn04/4Pi9YScK4bGVKmXHK1DR+ MvibmW523Eo1Imrx3nySQ4xsPpxlLOwwaCUw7xrUgLfVxw7i4HWuviotR+9NMjoO5y3opeUIB 8eSnkSEQYt4iHN/JZdrJT8qK5edLoE04kCRq4L6ek9VZq3c65fjfj/nktGabDav0GIhQ0mzHe O+PxY9fHDeESi947BIAnDXZdAADCga6k19e9M4PB7dbOfTryZY5EtIEcGNxv5UzZfrTmIvhKq cu+XrkLQpgmBas53wr21zoImRw6jiKgCyggoAZ5DQx/esnnYJyF/k42ISuG03HZwqtbOdAyhe EgneyRJ8PWuAAZvHVdV45AbySvPeH5OOyrsRqgxMR9pa4OFHwObut+oKfTVwQDA1/y3OkxKSJ PzzmPX0s1ffUjuWMPY9bGp6WmlcGv8VOHoCa5M3f1fZYfJejIidrOV7LQmN4jbkEwD6JA5wwQ Z5KBXB1g7Yft19BVu3R4NniU8rYjQ0jp1WHvFTsJVLMAvStP8asljYGVuXSMSPJfUpg3ipH5a ZW6Q/jzAI1O/Ch/vGA3J/yXCW7Gv7DK0tbm02uv2XTyW8Wc6fTTtoG57JYms+Y1mtmFmp7U0f s98P7KQAR2fgQAEyZz/cmISGjVkIq3nPdjE/hRTMUnZ5zhyHLHlg3uy3/CTVpGroBdFJTZur0 o37ZIOUogr76lT6JVit14f4sQY2Q62wuT/CQ2TW/aRr95PqJjlTD8JqGGMnPlvnvTE9StlNcm 8FkPd6eBLRaMxSfaGTNmG/uaydy35lnn0JMn08ueGmy/eZFuRK3A5z2WodlyFUNNwUpj+kOm/ SJVAseckyD7rwAekY5KmEXQ5rj2FGT8WnPm90wESJ+WwURoEwplrUzKuRjs5QdC9WF4wcKA4u Fm4seXR75cDnSbEPla2mQHhv3z0XvRzZpolJ5x5LA8dmSwqMzZBqcNPCRpKZeClSosrYsEaPp Lx+ypZmMbI3GSAal6yRU1twnnI9tNMdj1sxOgKm8troTPxzkl/Dkl72aj/6PXIBKHWGMIUvMv KiNIROy99sqBgtdlsJ6aB64bzb9F3hX97WQl8+6XHV73mT/swzQL5FJJ69dUhlPw5XMiLy9AU goxBuiv1rpNt0CkjGVzyjCOzVDDgF7NRVHvKcHdqiU5XggiFgs9FApumciJGWMY7yNq1XcvjJ V5BtP08e6OEOwS28vEjhCqzaZUN0m5EqeGbXrOLnPYJl0rTAmyFEmCFgwHYw4UGlakw7SCFJM TSYqbIw6WNr1d1iCYumWs+GmJTAeUk8m+WP9IVDJ8Z9BPTUh40VHRAYXlhTc0rrPbh2dlWowI QBFtK/WgYw8X5v/MF0TSht4RTTGo3NfYmOiuOp9+fr23g5O+Y1PyeJFWsLyKqww0BAp1jMzjd fqfAQs62jYXBvRBGRxFIJ9lLZPUrS0raEHmPf2FrMfluCLY/qzDXcDvzHiENd8Ft46GGhTuph 4lqOU/gcmQfbTkk7bjxISo2PBRQY7gD9IzyMtJkvXvxnerAYMeGOky8wzs6MD1bfdiYk9Xki2 zzlSGOCgYmY8athLFw8TuWM/nDlSMesBVdmZlCbJjULBBiE9qVFS+Mw0hJNjW2Cf2IHRPRJxq a82eN2ul7wRufiwtW1SroOQZ1m5HHZx0vxEae8zd+8Bd2lyq5RhQ5ohqy9NM9XnxnQQwTAIBD vFkCXo4YjfMRCdavzE1Ju+GQnW+w3TIKdu5msxQOK7QyiuS7/6BcOEDGyc/fupZbWXrB/R4rS HtnV9ZSniDD6ubnigVLEyGggbTc7LeJReA6nC4ERTIYUGDjxbCiIQRboyegxJtXeH7Uqy9/2N 8KwJ1DoQ0Gb6424/WaxsgItRBftxl4QCCRxiTr7Npr2GVf5VegsdbTX0GNPpBtbIqf4ALUvf2 i4dlEhwLeI4K4Qk0G4DUslVBMc3r1fYjcjIugiKT1ruMbMBzpaHymgrGUVQ6AKCLUrZjU0zwj y12KBc5HwMSqxqF4FQIJ3HO0NJDKTq5/yu9pCwmQZW4WGIW9qSLWJXltrO5HJBFEEzCl1tq/m my+bY9YUZuUQYJHDicJ0ffygEVR65QQYMM4LPEExkjOLs2dG1bLr8OyhyDvoIOoCoxGc7zR7Z MTek9v8TlXgpQpxtTIsY9TUJn35U2TknpT0g8xBYEh3PZO3eRGOf733H3TFaWopKnWBBrMdQw YJwXOku60z7kZn+URaxK8nhyPq5yOgIi0drSVDEGYhhRiQE0bkMNTwoUfK6pctH12ZW9yswCm yVizpseJgPbA0ODfR36W45KfGtGD5eFLRCCaxQ4R6EiKp4AIgLmezaa+sIRaYTzAUtS6pZuWQ qQOCTBdzANynhDkhfMe3R05Zw5ZM979xU7lFPZ/M8y+w0i4fuj/XDPLGevl9b7mMVmBHn9S6U h6moQjquqQvEb8Ow3H15V9nWVhymBJb7F/SzcvA6hVjjYLjXHulBwfGO3ryZWcFR4216KNfeM Ev2zx7b69uhNYxGIxhSF94WibNmKEXDP/OjLKqKamTsp/QFc0K7XmtlbowWLmAXLZJbQm4BFp 8w8DQX9JKn64Zw65WDZSJ/eoIyNp8zfjet0hqUbQpElYng1BleiSB/WBc5Hb2eG27GtKpsa2s /2EMfIEChguUeOjNMV090xUA0gpbKW4SoPd0I/sPn8fRsFGfiC3q/NbYJK3saN21YiXBSJgu9 KqDn6s1o3Fuu14OUB98Qj61ciYtatj3py+eyMFBL2+HvBI+VwheOgupJoP/5faJaTq8+Jhl/V 4wadZAfWe6DOJL/a2R7BwYe1oNFU/+cqTpYl9p68xi8ZWmV/rjHcIenUDqjZ6cOy/joLyVkJm RHQV3WgCOeoziplMXKQTqD4uLVzhrHX56PrJ5gcQAF44kzbPvv069VOUr4M0AuOufnbT7CALw pwAw1y2Zonk2jXuVRkUdfEpdboANVhLSp6hcXgbsEp2tGAX8NSGDPjrM/r0R1EupY8Kg4By5U LlT3LB2G42HM5oannCYIUneApHnt7CprKrO9qCpZotFGwK5Q4r1QZjjri6/dTHKDwAlxdO26T B1kWrdbmu40r2yp5ML38KBeUKIqUiQiFQ66h4O3XHYHy2FmNC4nDcjV4T7DSl/0ZRSRxn004g 81wRVKnp/z3+Ju4P5Sy/B/+LiK8NmTznHWW8P+u5OBFy6y0M6SlyCUdZ6B1J73CTcI3SFnddA dS3zho9RFTt+ybLluR7S/M0iG5joB1DFFzhdR0Qisa0a2WrO8FYjh6uJnAsIDlN11iwJhDDFW EtMXQ4kBAPuxKAMVSxADns3htQYHrQhH4ldUh6Hr/sjIlOPWwRQ7k2bBQj9YCYPpVxzZ2Qeai cLUCWfxUoujXwn/GXqnvZYOVGMnQqa018LTFU8TjtJf9xAnEXKROksakOO2iMxAsyWyXUJRzX 3t5U2crbmf//VJzF7G5j+zDYnJTsLwmy58UgawbpssU+K7PwbVa20EHMfWETAbf5EphiT6TOR 1DGjWPH3qATlSUtO6eyszIhLHJgmhD0FFUvWeNWYHrXIGfaA81WWntLxZzsMLwFEBqkI9Dp0H eZ5CRzTns9qu4Bfh2hLPwV96ZK9LBBLXMPEGwkZC+bVRpoln6vUKL6fFayPcVG2B091+u8Knb K1vLMBD1weYjzuO1am1lhbqNmXqcrylJBM72DiHbM356DMQkBMlqbJc4m3tcPxKrAnAJHVU+e uyO2IJbeahVUrk4IA00YeRllo8bNEsraY2PEzhYic94EDUt7PAKeSRi1XI5lgCkxC6fizCW3T YLEvOS3OvdeQAXBFB4xMI5AUYXPdDfC6TAEt8ugA3VP5MbOEA1gITuWsCeErQwrdgdLhIOciI tcu6Qx9FaZ+Y3wyWtqKWDUsGQUASqJewqJWlpo+IYrf/kIEs3HKjulMzcaUbf7w0xXdaHdvJo UA3M7efk/GVB00VBr6ZHoPxKTJ0KxY3qt7umAI1COSw3DL3dIiefJE6Wr7Fe6Kcorf5FgiTtq QLWGCQ8672ph+4i2JrnR5MTe8NR95wX5+lbCbrRpcaooMnfHh0OPicIVp2WWGbitPtzqW6y54 cNpBEG8+/TenUF3k1MwCbQJ83kLbqdAL/wst8i7+cTbR353wsB1nP9XuAIZavHiTJF28iRTpX hkcjbvWSQGQbZIDXv17XoV7d0IJ6HD8Kneq9pBfvySpMWV8xowDxn/ckNEdPJ1Y/UGSrRQ/o+ zEzDlc9rXb/GLNEEZydWbXGq6EdxDv6jPspvGoecxecE1xR5WhcCpxxxuaOhsV//cNqoabMI7 xZrr+2uvwQDMcbV3H1suxocXeXUpxKZNG3SjEf4CkCZSHHdcwJtY+H55r4akzMX13g0OA0mFt dJIV6xVbpbd4lLnBW/gM4hX7lQsxM0xENonNu4HQyG3xR+XlqQ4NoSPuaek2m/MAogWLsuhS4 P2kkahUbxKcPJgaYsoXTZC8R3Da2Lg4yZhgOGvDDXlfayN92TZzF6ny7avQZhf/u0k+K805q0 pvjOHQ9RzwrCoiUYcOKPcVXjc1VuhH+WwV9YBnSalVBrdsOpSq4OxT0dsoRi56uxohc4AAtQS 0eunLRxUQ52oSXHxCiHZfGoz6+Z+4NWDD1PvLE Content-Type: text/plain; charset="utf-8" Move the WMI core code into a separate directory to prepare for future additions to the WMI driver. Also update the description of the Kconfig entry to better fit with the other subsystem Kconfig entries. Signed-off-by: Armin Wolf --- Documentation/driver-api/wmi.rst | 2 +- MAINTAINERS | 2 +- drivers/platform/Kconfig | 2 ++ drivers/platform/Makefile | 1 + drivers/platform/wmi/Kconfig | 34 ++++++++++++++++++++++ drivers/platform/wmi/Makefile | 8 +++++ drivers/platform/{x86/wmi.c =3D> wmi/core.c} | 0 drivers/platform/x86/Kconfig | 30 ------------------- drivers/platform/x86/Makefile | 1 - 9 files changed, 47 insertions(+), 33 deletions(-) create mode 100644 drivers/platform/wmi/Kconfig create mode 100644 drivers/platform/wmi/Makefile rename drivers/platform/{x86/wmi.c =3D> wmi/core.c} (100%) diff --git a/Documentation/driver-api/wmi.rst b/Documentation/driver-api/wm= i.rst index 4e8dbdb1fc67..db835b43c937 100644 --- a/Documentation/driver-api/wmi.rst +++ b/Documentation/driver-api/wmi.rst @@ -16,5 +16,5 @@ which will be bound to compatible WMI devices by the driv= er core. .. kernel-doc:: include/linux/wmi.h :internal: =20 -.. kernel-doc:: drivers/platform/x86/wmi.c +.. kernel-doc:: drivers/platform/wmi/core.c :export: diff --git a/MAINTAINERS b/MAINTAINERS index 46126ce2f968..2dc2e6cd58df 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -402,7 +402,7 @@ S: Maintained F: Documentation/ABI/testing/sysfs-bus-wmi F: Documentation/driver-api/wmi.rst F: Documentation/wmi/ -F: drivers/platform/x86/wmi.c +F: drivers/platform/wmi/ F: include/uapi/linux/wmi.h =20 ACRN HYPERVISOR SERVICE MODULE diff --git a/drivers/platform/Kconfig b/drivers/platform/Kconfig index 960fd6a82450..6bb645aed3d1 100644 --- a/drivers/platform/Kconfig +++ b/drivers/platform/Kconfig @@ -18,3 +18,5 @@ source "drivers/platform/surface/Kconfig" source "drivers/platform/x86/Kconfig" =20 source "drivers/platform/arm64/Kconfig" + +source "drivers/platform/wmi/Kconfig" diff --git a/drivers/platform/Makefile b/drivers/platform/Makefile index 19ac54648586..533f500dfcff 100644 --- a/drivers/platform/Makefile +++ b/drivers/platform/Makefile @@ -13,3 +13,4 @@ obj-$(CONFIG_CHROME_PLATFORMS) +=3D chrome/ obj-$(CONFIG_CZNIC_PLATFORMS) +=3D cznic/ obj-$(CONFIG_SURFACE_PLATFORMS) +=3D surface/ obj-$(CONFIG_ARM64_PLATFORM_DEVICES) +=3D arm64/ +obj-$(CONFIG_ACPI_WMI) +=3D wmi/ diff --git a/drivers/platform/wmi/Kconfig b/drivers/platform/wmi/Kconfig new file mode 100644 index 000000000000..77fcbb18746b --- /dev/null +++ b/drivers/platform/wmi/Kconfig @@ -0,0 +1,34 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# ACPI WMI Core +# + +menuconfig ACPI_WMI + tristate "ACPI-WMI support" + depends on ACPI && X86 + help + This option enables support for the ACPI-WMI driver core. + + The ACPI-WMI interface is a proprietary extension of ACPI allowing + the platform firmware to expose WMI (Windows Management Instrumentation) + objects used for managing various aspects of the underlying system. + Mapping between ACPI control methods and WMI objects happens through + special mapper devices (PNP0C14) defined inside the ACPI tables. + + Enabling this option is necessary for building the vendor specific + ACPI-WMI client drivers for Acer, Dell an HP machines (among others). + + It is safe to enable this option even for machines that do not contain + any ACPI-WMI mapper devices at all. + +if ACPI_WMI + +config ACPI_WMI_LEGACY_DEVICE_NAMES + bool "Use legacy WMI device naming scheme" + help + Say Y here to force the WMI driver core to use the old WMI device naming + scheme when creating WMI devices. Doing so might be necessary for some + userspace applications but will cause the registration of WMI devices w= ith + the same GUID to fail in some corner cases. + +endif # ACPI_WMI diff --git a/drivers/platform/wmi/Makefile b/drivers/platform/wmi/Makefile new file mode 100644 index 000000000000..98393d7391ec --- /dev/null +++ b/drivers/platform/wmi/Makefile @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# Makefile for linux/drivers/platform/wmi +# ACPI WMI core +# + +wmi-y :=3D core.o +obj-$(CONFIG_ACPI_WMI) +=3D wmi.o diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/wmi/core.c similarity index 100% rename from drivers/platform/x86/wmi.c rename to drivers/platform/wmi/core.c diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig index 46e62feeda3c..8c13430366ae 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig @@ -16,36 +16,6 @@ menuconfig X86_PLATFORM_DEVICES =20 if X86_PLATFORM_DEVICES =20 -config ACPI_WMI - tristate "WMI" - depends on ACPI - help - This driver adds support for the ACPI-WMI (Windows Management - Instrumentation) mapper device (PNP0C14) found on some systems. - - ACPI-WMI is a proprietary extension to ACPI to expose parts of the - ACPI firmware to userspace - this is done through various vendor - defined methods and data blocks in a PNP0C14 device, which are then - made available for userspace to call. - - The implementation of this in Linux currently only exposes this to - other kernel space drivers. - - This driver is a required dependency to build the firmware specific - drivers needed on many machines, including Acer and HP laptops. - - It is safe to enable this driver even if your DSDT doesn't define - any ACPI-WMI devices. - -config ACPI_WMI_LEGACY_DEVICE_NAMES - bool "Use legacy WMI device naming scheme" - depends on ACPI_WMI - help - Say Y here to force the WMI driver core to use the old WMI device naming - scheme when creating WMI devices. Doing so might be necessary for some - userspace applications but will cause the registration of WMI devices w= ith - the same GUID to fail in some corner cases. - config WMI_BMOF tristate "WMI embedded Binary MOF driver" depends on ACPI_WMI diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile index c7db2a88c11a..978cb55672da 100644 --- a/drivers/platform/x86/Makefile +++ b/drivers/platform/x86/Makefile @@ -5,7 +5,6 @@ # =20 # Windows Management Interface -obj-$(CONFIG_ACPI_WMI) +=3D wmi.o obj-$(CONFIG_WMI_BMOF) +=3D wmi-bmof.o =20 # WMI drivers --=20 2.39.5