From patchwork Mon Dec 6 06:34:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Kai-Heng Feng X-Patchwork-Id: 1563829 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical.com header.i=@canonical.com header.a=rsa-sha256 header.s=20210705 header.b=AB1qhWKl; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4J6tww00NRz9sRN for ; Mon, 6 Dec 2021 17:35:59 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1mu7bH-000847-Mt; Mon, 06 Dec 2021 06:35:47 +0000 Received: from smtp-relay-canonical-1.internal ([10.131.114.174] helo=smtp-relay-canonical-1.canonical.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1mu7bF-00082Z-Bf for kernel-team@lists.ubuntu.com; Mon, 06 Dec 2021 06:35:45 +0000 Received: from localhost.localdomain (unknown [10.101.196.174]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-1.canonical.com (Postfix) with ESMTPSA id 0F4D2404AB for ; Mon, 6 Dec 2021 06:35:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1638772545; bh=g2f8xuTl9vgCq/QiFYld8qN5yXBiSaqCFAUX/Vv7niE=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=AB1qhWKlMFczhUPhDqLOcabKuqVWv3RsSxJGCFCc77+bzQzoffwkyAYnGfmmZcjHM 5qnwj0KcCChafnU58F9vqEt4Z+ww2JPMAYTwBE+gsLziiSg4Ov1eVjJhr0ecCXEC0Q HlCGWgRjbfiuaWMA17IMqVRwUq1CpUERVLaSW883/9FPaN9IYCHNe2gvP+Ncl4Bzw0 CTX8A9KFD2Z1iFSKAdigyKJ+lNKI1JakwroG26nKSydOAhgj44vpUFNUtgfnSMEvJV 5m9AcZfcw3P7vnPcvgwVWTdOb62fkVklyT9KoJasI7oZbXbPXyRR3gAOcacDaMtB72 z5rcX/7p9Aa/w== From: Kai-Heng Feng To: kernel-team@lists.ubuntu.com Subject: [OEM-5.14] [PATCH 1/4] platform/x86: Add driver for ACPI WMAA EC-based backlight control Date: Mon, 6 Dec 2021 14:34:51 +0800 Message-Id: <20211206063457.1522003-2-kai.heng.feng@canonical.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211206063457.1522003-1-kai.heng.feng@canonical.com> References: <20211206063457.1522003-1-kai.heng.feng@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Daniel Dadap BugLink: https://bugs.launchpad.net/bugs/1953286 A number of upcoming notebook computer designs drive the internal display panel's backlight PWM through the Embedded Controller (EC). This EC-based backlight control can be plumbed through to an ACPI "WMAA" method interface, which in turn can be wrapped by WMI with the GUID handle 603E9613-EF25-4338-A3D0-C46177516DB7. Add a new driver, aliased to the WMAA WMI GUID, to expose a sysfs backlight class driver to control backlight levels on systems with EC-driven backlights. Signed-off-by: Daniel Dadap Reviewed-by: Thomas Weißschuh Link: https://lore.kernel.org/r/20210903003838.15797-1-ddadap@nvidia.com Reviewed-by: Hans de Goede Signed-off-by: Hans de Goede (backported from commit ad62cd93198bde6644ecb5ff8f6f4c5394b5821a) Signed-off-by: Kai-Heng Feng --- MAINTAINERS | 6 + drivers/platform/x86/Kconfig | 16 ++ drivers/platform/x86/Makefile | 1 + drivers/platform/x86/wmaa-backlight-wmi.c | 205 ++++++++++++++++++++++ 4 files changed, 228 insertions(+) create mode 100644 drivers/platform/x86/wmaa-backlight-wmi.c diff --git a/MAINTAINERS b/MAINTAINERS index 507b61efaaba9..9d22d199d61a1 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -20037,6 +20037,12 @@ L: linux-wireless@vger.kernel.org S: Odd fixes F: drivers/net/wireless/wl3501* +WMAA BACKLIGHT DRIVER +M: Daniel Dadap +L: platform-driver-x86@vger.kernel.org +S: Supported +F: drivers/platform/x86/wmaa-backlight-wmi.c + WOLFSON MICROELECTRONICS DRIVERS L: patches@opensource.cirrus.com S: Supported diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig index c51f6ada29759..516b812a4fd79 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig @@ -113,6 +113,22 @@ config PEAQ_WMI help Say Y here if you want to support WMI-based hotkeys on PEAQ 2-in-1s. +config WMAA_BACKLIGHT_WMI + tristate "ACPI WMAA Backlight Driver" + depends on ACPI_WMI + depends on BACKLIGHT_CLASS_DEVICE + help + This driver provides a sysfs backlight interface for notebook + systems which expose the WMAA ACPI method and an associated WMI + wrapper to drive LCD backlight levels through the Embedded Controller + (EC). + + Say Y or M here if you want to control the backlight on a notebook + system with an EC-driven backlight using the ACPI WMAA method. + + If you choose to compile this driver as a module the module will be + called wmaa-backlight-wmi. + config XIAOMI_WMI tristate "Xiaomi WMI key driver" depends on ACPI_WMI diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile index 7ee369aab10d0..109c1714237dd 100644 --- a/drivers/platform/x86/Makefile +++ b/drivers/platform/x86/Makefile @@ -14,6 +14,7 @@ obj-$(CONFIG_INTEL_WMI_SBL_FW_UPDATE) += intel-wmi-sbl-fw-update.o obj-$(CONFIG_INTEL_WMI_THUNDERBOLT) += intel-wmi-thunderbolt.o obj-$(CONFIG_MXM_WMI) += mxm-wmi.o obj-$(CONFIG_PEAQ_WMI) += peaq-wmi.o +obj-$(CONFIG_WMAA_BACKLIGHT_WMI) += wmaa-backlight-wmi.o obj-$(CONFIG_XIAOMI_WMI) += xiaomi-wmi.o obj-$(CONFIG_GIGABYTE_WMI) += gigabyte-wmi.o diff --git a/drivers/platform/x86/wmaa-backlight-wmi.c b/drivers/platform/x86/wmaa-backlight-wmi.c new file mode 100644 index 0000000000000..f5c4f8337c2c0 --- /dev/null +++ b/drivers/platform/x86/wmaa-backlight-wmi.c @@ -0,0 +1,205 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved. + */ + +#include +#include +#include +#include +#include +#include + +/** + * enum wmaa_method - WMI method IDs for ACPI WMAA + * @WMAA_METHOD_LEVEL: Get or set the brightness level, + * or get the maximum brightness level. + * @WMAA_METHOD_SOURCE: Get the source for backlight control. + */ +enum wmaa_method { + WMAA_METHOD_LEVEL = 1, + WMAA_METHOD_SOURCE = 2, + WMAA_METHOD_MAX +}; + +/** + * enum wmaa_mode - Operation mode for ACPI WMAA method + * @WMAA_MODE_GET: Get the current brightness level or source. + * @WMAA_MODE_SET: Set the brightness level. + * @WMAA_MODE_GET_MAX_LEVEL: Get the maximum brightness level. This is only + * valid when the WMI method is %WMAA_METHOD_LEVEL. + */ +enum wmaa_mode { + WMAA_MODE_GET = 0, + WMAA_MODE_SET = 1, + WMAA_MODE_GET_MAX_LEVEL = 2, + WMAA_MODE_MAX +}; + +/** + * enum wmaa_source - Backlight brightness control source identification + * @WMAA_SOURCE_GPU: Backlight brightness is controlled by the GPU. + * @WMAA_SOURCE_EC: Backlight brightness is controlled by the system's + * Embedded Controller (EC). + * @WMAA_SOURCE_AUX: Backlight brightness is controlled over the DisplayPort + * AUX channel. + */ +enum wmaa_source { + WMAA_SOURCE_GPU = 1, + WMAA_SOURCE_EC = 2, + WMAA_SOURCE_AUX = 3, + WMAA_SOURCE_MAX +}; + +/** + * struct wmaa_args - arguments for the ACPI WMAA method + * @mode: Pass in an &enum wmaa_mode value to select between getting or + * setting a value. + * @val: In parameter for value to set when operating in %WMAA_MODE_SET + * mode. Not used in %WMAA_MODE_GET or %WMAA_MODE_GET_MAX_LEVEL mode. + * @ret: Out parameter returning retrieved value when operating in + * %WMAA_MODE_GET or %WMAA_MODE_GET_MAX_LEVEL mode. Not used in + * %WMAA_MODE_SET mode. + * @ignored: Padding; not used. The ACPI method expects a 24 byte params struct. + * + * This is the parameters structure for the ACPI WMAA method as wrapped by WMI. + * The value passed in to @val or returned by @ret will be a brightness value + * when the WMI method ID is %WMAA_METHOD_LEVEL, or an &enum wmaa_source value + * when the WMI method ID is %WMAA_METHOD_SOURCE. + */ +struct wmaa_args { + u32 mode; + u32 val; + u32 ret; + u32 ignored[3]; +}; + +/** + * wmi_call_wmaa() - helper function for calling ACPI WMAA via its WMI wrapper + * @w: Pointer to the struct wmi_device identified by %WMAA_WMI_GUID + * @id: The method ID for the ACPI WMAA method (e.g. %WMAA_METHOD_LEVEL or + * %WMAA_METHOD_SOURCE) + * @mode: The operation to perform on the ACPI WMAA method (e.g. %WMAA_MODE_SET + * or %WMAA_MODE_GET) + * @val: Pointer to a value passed in by the caller when @mode is + * %WMAA_MODE_SET, or a value passed out to the caller when @mode is + * %WMAA_MODE_GET or %WMAA_MODE_GET_MAX_LEVEL. + * + * Returns 0 on success, or a negative error number on failure. + */ +static int wmi_call_wmaa(struct wmi_device *w, enum wmaa_method id, enum wmaa_mode mode, u32 *val) +{ + struct wmaa_args args = { + .mode = mode, + .val = 0, + .ret = 0, + }; + struct acpi_buffer buf = { (acpi_size)sizeof(args), &args }; + acpi_status status; + + if (id < WMAA_METHOD_LEVEL || id >= WMAA_METHOD_MAX || + mode < WMAA_MODE_GET || mode >= WMAA_MODE_MAX) + return -EINVAL; + + if (mode == WMAA_MODE_SET) + args.val = *val; + + status = wmidev_evaluate_method(w, 0, id, &buf, &buf); + if (ACPI_FAILURE(status)) { + dev_err(&w->dev, "ACPI WMAA failed: %s\n", + acpi_format_exception(status)); + return -EIO; + } + + if (mode != WMAA_MODE_SET) + *val = args.ret; + + return 0; +} + +static int wmaa_backlight_update_status(struct backlight_device *bd) +{ + struct wmi_device *wdev = bl_get_data(bd); + + return wmi_call_wmaa(wdev, WMAA_METHOD_LEVEL, WMAA_MODE_SET, + &bd->props.brightness); +} + +static int wmaa_backlight_get_brightness(struct backlight_device *bd) +{ + struct wmi_device *wdev = bl_get_data(bd); + u32 level; + int ret; + + ret = wmi_call_wmaa(wdev, WMAA_METHOD_LEVEL, WMAA_MODE_GET, &level); + if (ret < 0) + return ret; + + return level; +} + +static const struct backlight_ops wmaa_backlight_ops = { + .update_status = wmaa_backlight_update_status, + .get_brightness = wmaa_backlight_get_brightness, +}; + +static int wmaa_backlight_wmi_probe(struct wmi_device *wdev, const void *ctx) +{ + struct backlight_properties props = {}; + struct backlight_device *bdev; + u32 source; + int ret; + + ret = wmi_call_wmaa(wdev, WMAA_METHOD_SOURCE, WMAA_MODE_GET, &source); + if (ret) + return ret; + + /* + * This driver is only to be used when brightness control is handled + * by the EC; otherwise, the GPU driver(s) should control brightness. + */ + if (source != WMAA_SOURCE_EC) + return -ENODEV; + + /* + * Identify this backlight device as a firmware device so that it can + * be prioritized over any exposed GPU-driven raw device(s). + */ + props.type = BACKLIGHT_FIRMWARE; + + ret = wmi_call_wmaa(wdev, WMAA_METHOD_LEVEL, WMAA_MODE_GET_MAX_LEVEL, + &props.max_brightness); + if (ret) + return ret; + + ret = wmi_call_wmaa(wdev, WMAA_METHOD_LEVEL, WMAA_MODE_GET, + &props.brightness); + if (ret) + return ret; + + bdev = devm_backlight_device_register(&wdev->dev, "wmaa_backlight", + &wdev->dev, wdev, + &wmaa_backlight_ops, &props); + return PTR_ERR_OR_ZERO(bdev); +} + +#define WMAA_WMI_GUID "603E9613-EF25-4338-A3D0-C46177516DB7" + +static const struct wmi_device_id wmaa_backlight_wmi_id_table[] = { + { .guid_string = WMAA_WMI_GUID }, + { } +}; +MODULE_DEVICE_TABLE(wmi, wmaa_backlight_wmi_id_table); + +static struct wmi_driver wmaa_backlight_wmi_driver = { + .driver = { + .name = "wmaa-backlight", + }, + .probe = wmaa_backlight_wmi_probe, + .id_table = wmaa_backlight_wmi_id_table, +}; +module_wmi_driver(wmaa_backlight_wmi_driver); + +MODULE_AUTHOR("Daniel Dadap "); +MODULE_DESCRIPTION("WMAA Backlight WMI driver"); +MODULE_LICENSE("GPL"); From patchwork Mon Dec 6 06:34:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kai-Heng Feng X-Patchwork-Id: 1563832 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical.com header.i=@canonical.com header.a=rsa-sha256 header.s=20210705 header.b=ChBsA3DU; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4J6twz4D19z9sRN for ; Mon, 6 Dec 2021 17:36:03 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1mu7bM-00087c-9M; Mon, 06 Dec 2021 06:35:52 +0000 Received: from smtp-relay-canonical-1.internal ([10.131.114.174] helo=smtp-relay-canonical-1.canonical.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1mu7bJ-00085O-I4 for kernel-team@lists.ubuntu.com; Mon, 06 Dec 2021 06:35:49 +0000 Received: from localhost.localdomain (unknown [10.101.196.174]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-1.canonical.com (Postfix) with ESMTPSA id 8AA08404AB for ; Mon, 6 Dec 2021 06:35:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1638772549; bh=0HNcZTU10LW8kJaP095vJKwoN+BkNrtWlBoDLK9ZjW4=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ChBsA3DUVakoLpUeRgoGUBYn9XR4E6/7Cu7kyiCcVQGVtO5nswsmMIkcfVYq5Bacn oTzHjcrlOTkdxW4AhYTMUuc7tR0kxqDj5rywSApVtQp/FFrAFu/H2U5dJOlEOnbWkI MaeDv+3k6vKwTukON9OsHgQ1+ZZvj1f+5PreBZ1G+zp0ry9RIek/ZdzDK3VkoqCaZc DxhAcsucyLYGYAjvLpiIDeE4Qw8NLN57AjbXNkzTehY9iIlBX6A5VNmin9OSnfwlLy ssutADWcn5ueRm2CKV9/wesxR8IAa5qB3qFhy7rqHRgKqIEsWmLheNsu17KEpDI0M8 Fr7qIDvqS256Q== From: Kai-Heng Feng To: kernel-team@lists.ubuntu.com Subject: [Unstable/OEM-5.14] [PATCH 2/4] platform/x86: Remove "WMAA" from identifier names in wmaa-backlight-wmi.c Date: Mon, 6 Dec 2021 14:34:53 +0800 Message-Id: <20211206063457.1522003-4-kai.heng.feng@canonical.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211206063457.1522003-1-kai.heng.feng@canonical.com> References: <20211206063457.1522003-1-kai.heng.feng@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Daniel Dadap BugLink: https://bugs.launchpad.net/bugs/1953286 The "wmaa" in the name of the wmaa-backlight-wmi driver was named after the ACPI method handle for EC-based backlight control on the systems this driver was tested on during development. However, this "WMAA" handle is generated by the WMI compilation process, and isn't actually a part of the backlight control mechanism which this driver supports. Since the "WMAA" handle isn't actually a part of the firmware backlight interface, the various identifiers in this driver using "WMAA" or "wmaa" aren't actually appropriate. As a common denominator across the systems supported by this driver is that they are hybrid graphics systems with NVIDIA GPUs, using "nvidia" in the driver name seems more appropriate than "wmaa". Update the driver to remove "wmaa" and "WMAA" in identifier names where they appear. The kerneldoc comments for the enum wmi_brightness_method values are replaced with the verbatim text from the decompiled BMF code for this WMI class. Signed-off-by: Daniel Dadap Link: https://lore.kernel.org/r/20210927202359.13684-1-ddadap@nvidia.com Signed-off-by: Hans de Goede (cherry picked from commit a499f93f3d5225a214831c9fd88f9f18e2d8cb3d) Signed-off-by: Kai-Heng Feng --- drivers/platform/x86/wmaa-backlight-wmi.c | 174 +++++++++++----------- 1 file changed, 91 insertions(+), 83 deletions(-) diff --git a/drivers/platform/x86/wmaa-backlight-wmi.c b/drivers/platform/x86/wmaa-backlight-wmi.c index f5c4f8337c2c0..61e37194df703 100644 --- a/drivers/platform/x86/wmaa-backlight-wmi.c +++ b/drivers/platform/x86/wmaa-backlight-wmi.c @@ -11,63 +11,64 @@ #include /** - * enum wmaa_method - WMI method IDs for ACPI WMAA - * @WMAA_METHOD_LEVEL: Get or set the brightness level, - * or get the maximum brightness level. - * @WMAA_METHOD_SOURCE: Get the source for backlight control. + * enum wmi_brightness_method - WMI method IDs + * @WMI_BRIGHTNESS_METHOD_LEVEL: Get/Set EC brightness level status + * @WMI_BRIGHTNESS_METHOD_SOURCE: Get/Set EC Brightness Source */ -enum wmaa_method { - WMAA_METHOD_LEVEL = 1, - WMAA_METHOD_SOURCE = 2, - WMAA_METHOD_MAX +enum wmi_brightness_method { + WMI_BRIGHTNESS_METHOD_LEVEL = 1, + WMI_BRIGHTNESS_METHOD_SOURCE = 2, + WMI_BRIGHTNESS_METHOD_MAX }; /** - * enum wmaa_mode - Operation mode for ACPI WMAA method - * @WMAA_MODE_GET: Get the current brightness level or source. - * @WMAA_MODE_SET: Set the brightness level. - * @WMAA_MODE_GET_MAX_LEVEL: Get the maximum brightness level. This is only - * valid when the WMI method is %WMAA_METHOD_LEVEL. + * enum wmi_brightness_mode - Operation mode for WMI-wrapped method + * @WMI_BRIGHTNESS_MODE_GET: Get the current brightness level/source. + * @WMI_BRIGHTNESS_MODE_SET: Set the brightness level. + * @WMI_BRIGHTNESS_MODE_GET_MAX_LEVEL: Get the maximum brightness level. This + * is only valid when the WMI method is + * %WMI_BRIGHTNESS_METHOD_LEVEL. */ -enum wmaa_mode { - WMAA_MODE_GET = 0, - WMAA_MODE_SET = 1, - WMAA_MODE_GET_MAX_LEVEL = 2, - WMAA_MODE_MAX +enum wmi_brightness_mode { + WMI_BRIGHTNESS_MODE_GET = 0, + WMI_BRIGHTNESS_MODE_SET = 1, + WMI_BRIGHTNESS_MODE_GET_MAX_LEVEL = 2, + WMI_BRIGHTNESS_MODE_MAX }; /** - * enum wmaa_source - Backlight brightness control source identification - * @WMAA_SOURCE_GPU: Backlight brightness is controlled by the GPU. - * @WMAA_SOURCE_EC: Backlight brightness is controlled by the system's - * Embedded Controller (EC). - * @WMAA_SOURCE_AUX: Backlight brightness is controlled over the DisplayPort - * AUX channel. + * enum wmi_brightness_source - Backlight brightness control source selection + * @WMI_BRIGHTNESS_SOURCE_GPU: Backlight brightness is controlled by the GPU. + * @WMI_BRIGHTNESS_SOURCE_EC: Backlight brightness is controlled by the + * system's Embedded Controller (EC). + * @WMI_BRIGHTNESS_SOURCE_AUX: Backlight brightness is controlled over the + * DisplayPort AUX channel. */ -enum wmaa_source { - WMAA_SOURCE_GPU = 1, - WMAA_SOURCE_EC = 2, - WMAA_SOURCE_AUX = 3, - WMAA_SOURCE_MAX +enum wmi_brightness_source { + WMI_BRIGHTNESS_SOURCE_GPU = 1, + WMI_BRIGHTNESS_SOURCE_EC = 2, + WMI_BRIGHTNESS_SOURCE_AUX = 3, + WMI_BRIGHTNESS_SOURCE_MAX }; /** - * struct wmaa_args - arguments for the ACPI WMAA method - * @mode: Pass in an &enum wmaa_mode value to select between getting or - * setting a value. - * @val: In parameter for value to set when operating in %WMAA_MODE_SET - * mode. Not used in %WMAA_MODE_GET or %WMAA_MODE_GET_MAX_LEVEL mode. + * struct wmi_brightness_args - arguments for the WMI-wrapped ACPI method + * @mode: Pass in an &enum wmi_brightness_mode value to select between + * getting or setting a value. + * @val: In parameter for value to set when using %WMI_BRIGHTNESS_MODE_SET + * mode. Not used in conjunction with %WMI_BRIGHTNESS_MODE_GET or + * %WMI_BRIGHTNESS_MODE_GET_MAX_LEVEL mode. * @ret: Out parameter returning retrieved value when operating in - * %WMAA_MODE_GET or %WMAA_MODE_GET_MAX_LEVEL mode. Not used in - * %WMAA_MODE_SET mode. + * %WMI_BRIGHTNESS_MODE_GET or %WMI_BRIGHTNESS_MODE_GET_MAX_LEVEL + * mode. Not used in %WMI_BRIGHTNESS_MODE_SET mode. * @ignored: Padding; not used. The ACPI method expects a 24 byte params struct. * - * This is the parameters structure for the ACPI WMAA method as wrapped by WMI. - * The value passed in to @val or returned by @ret will be a brightness value - * when the WMI method ID is %WMAA_METHOD_LEVEL, or an &enum wmaa_source value - * when the WMI method ID is %WMAA_METHOD_SOURCE. + * This is the parameters structure for the WmiBrightnessNotify ACPI method as + * wrapped by WMI. The value passed in to @val or returned by @ret will be a + * brightness value when the WMI method ID is %WMI_BRIGHTNESS_METHOD_LEVEL, or + * an &enum wmi_brightness_source value with %WMI_BRIGHTNESS_METHOD_SOURCE. */ -struct wmaa_args { +struct wmi_brightness_args { u32 mode; u32 val; u32 ret; @@ -75,21 +76,21 @@ struct wmaa_args { }; /** - * wmi_call_wmaa() - helper function for calling ACPI WMAA via its WMI wrapper - * @w: Pointer to the struct wmi_device identified by %WMAA_WMI_GUID - * @id: The method ID for the ACPI WMAA method (e.g. %WMAA_METHOD_LEVEL or - * %WMAA_METHOD_SOURCE) - * @mode: The operation to perform on the ACPI WMAA method (e.g. %WMAA_MODE_SET - * or %WMAA_MODE_GET) + * wmi_brightness_notify() - helper function for calling WMI-wrapped ACPI method + * @w: Pointer to the struct wmi_device identified by %WMI_BRIGHTNESS_GUID + * @id: The WMI method ID to call (e.g. %WMI_BRIGHTNESS_METHOD_LEVEL or + * %WMI_BRIGHTNESS_METHOD_SOURCE) + * @mode: The operation to perform on the method (e.g. %WMI_BRIGHTNESS_MODE_SET + * or %WMI_BRIGHTNESS_MODE_GET) * @val: Pointer to a value passed in by the caller when @mode is - * %WMAA_MODE_SET, or a value passed out to the caller when @mode is - * %WMAA_MODE_GET or %WMAA_MODE_GET_MAX_LEVEL. + * %WMI_BRIGHTNESS_MODE_SET, or a value passed out to caller when @mode + * is %WMI_BRIGHTNESS_MODE_GET or %WMI_BRIGHTNESS_MODE_GET_MAX_LEVEL. * * Returns 0 on success, or a negative error number on failure. */ -static int wmi_call_wmaa(struct wmi_device *w, enum wmaa_method id, enum wmaa_mode mode, u32 *val) +static int wmi_brightness_notify(struct wmi_device *w, enum wmi_brightness_method id, enum wmi_brightness_mode mode, u32 *val) { - struct wmaa_args args = { + struct wmi_brightness_args args = { .mode = mode, .val = 0, .ret = 0, @@ -97,60 +98,64 @@ static int wmi_call_wmaa(struct wmi_device *w, enum wmaa_method id, enum wmaa_mo struct acpi_buffer buf = { (acpi_size)sizeof(args), &args }; acpi_status status; - if (id < WMAA_METHOD_LEVEL || id >= WMAA_METHOD_MAX || - mode < WMAA_MODE_GET || mode >= WMAA_MODE_MAX) + if (id < WMI_BRIGHTNESS_METHOD_LEVEL || + id >= WMI_BRIGHTNESS_METHOD_MAX || + mode < WMI_BRIGHTNESS_MODE_GET || mode >= WMI_BRIGHTNESS_MODE_MAX) return -EINVAL; - if (mode == WMAA_MODE_SET) + if (mode == WMI_BRIGHTNESS_MODE_SET) args.val = *val; status = wmidev_evaluate_method(w, 0, id, &buf, &buf); if (ACPI_FAILURE(status)) { - dev_err(&w->dev, "ACPI WMAA failed: %s\n", + dev_err(&w->dev, "EC backlight control failed: %s\n", acpi_format_exception(status)); return -EIO; } - if (mode != WMAA_MODE_SET) + if (mode != WMI_BRIGHTNESS_MODE_SET) *val = args.ret; return 0; } -static int wmaa_backlight_update_status(struct backlight_device *bd) +static int nvidia_wmi_ec_backlight_update_status(struct backlight_device *bd) { struct wmi_device *wdev = bl_get_data(bd); - return wmi_call_wmaa(wdev, WMAA_METHOD_LEVEL, WMAA_MODE_SET, - &bd->props.brightness); + return wmi_brightness_notify(wdev, WMI_BRIGHTNESS_METHOD_LEVEL, + WMI_BRIGHTNESS_MODE_SET, + &bd->props.brightness); } -static int wmaa_backlight_get_brightness(struct backlight_device *bd) +static int nvidia_wmi_ec_backlight_get_brightness(struct backlight_device *bd) { struct wmi_device *wdev = bl_get_data(bd); u32 level; int ret; - ret = wmi_call_wmaa(wdev, WMAA_METHOD_LEVEL, WMAA_MODE_GET, &level); + ret = wmi_brightness_notify(wdev, WMI_BRIGHTNESS_METHOD_LEVEL, + WMI_BRIGHTNESS_MODE_GET, &level); if (ret < 0) return ret; return level; } -static const struct backlight_ops wmaa_backlight_ops = { - .update_status = wmaa_backlight_update_status, - .get_brightness = wmaa_backlight_get_brightness, +static const struct backlight_ops nvidia_wmi_ec_backlight_ops = { + .update_status = nvidia_wmi_ec_backlight_update_status, + .get_brightness = nvidia_wmi_ec_backlight_get_brightness, }; -static int wmaa_backlight_wmi_probe(struct wmi_device *wdev, const void *ctx) +static int nvidia_wmi_ec_backlight_probe(struct wmi_device *wdev, const void *ctx) { struct backlight_properties props = {}; struct backlight_device *bdev; u32 source; int ret; - ret = wmi_call_wmaa(wdev, WMAA_METHOD_SOURCE, WMAA_MODE_GET, &source); + ret = wmi_brightness_notify(wdev, WMI_BRIGHTNESS_METHOD_SOURCE, + WMI_BRIGHTNESS_MODE_GET, &source); if (ret) return ret; @@ -158,7 +163,7 @@ static int wmaa_backlight_wmi_probe(struct wmi_device *wdev, const void *ctx) * This driver is only to be used when brightness control is handled * by the EC; otherwise, the GPU driver(s) should control brightness. */ - if (source != WMAA_SOURCE_EC) + if (source != WMI_BRIGHTNESS_SOURCE_EC) return -ENODEV; /* @@ -167,39 +172,42 @@ static int wmaa_backlight_wmi_probe(struct wmi_device *wdev, const void *ctx) */ props.type = BACKLIGHT_FIRMWARE; - ret = wmi_call_wmaa(wdev, WMAA_METHOD_LEVEL, WMAA_MODE_GET_MAX_LEVEL, - &props.max_brightness); + ret = wmi_brightness_notify(wdev, WMI_BRIGHTNESS_METHOD_LEVEL, + WMI_BRIGHTNESS_MODE_GET_MAX_LEVEL, + &props.max_brightness); if (ret) return ret; - ret = wmi_call_wmaa(wdev, WMAA_METHOD_LEVEL, WMAA_MODE_GET, - &props.brightness); + ret = wmi_brightness_notify(wdev, WMI_BRIGHTNESS_METHOD_LEVEL, + WMI_BRIGHTNESS_MODE_GET, &props.brightness); if (ret) return ret; - bdev = devm_backlight_device_register(&wdev->dev, "wmaa_backlight", + bdev = devm_backlight_device_register(&wdev->dev, + "nvidia_wmi_ec_backlight", &wdev->dev, wdev, - &wmaa_backlight_ops, &props); + &nvidia_wmi_ec_backlight_ops, + &props); return PTR_ERR_OR_ZERO(bdev); } -#define WMAA_WMI_GUID "603E9613-EF25-4338-A3D0-C46177516DB7" +#define WMI_BRIGHTNESS_GUID "603E9613-EF25-4338-A3D0-C46177516DB7" -static const struct wmi_device_id wmaa_backlight_wmi_id_table[] = { - { .guid_string = WMAA_WMI_GUID }, +static const struct wmi_device_id nvidia_wmi_ec_backlight_id_table[] = { + { .guid_string = WMI_BRIGHTNESS_GUID }, { } }; -MODULE_DEVICE_TABLE(wmi, wmaa_backlight_wmi_id_table); +MODULE_DEVICE_TABLE(wmi, nvidia_wmi_ec_backlight_id_table); -static struct wmi_driver wmaa_backlight_wmi_driver = { +static struct wmi_driver nvidia_wmi_ec_backlight_driver = { .driver = { - .name = "wmaa-backlight", + .name = "nvidia-wmi-ec-backlight", }, - .probe = wmaa_backlight_wmi_probe, - .id_table = wmaa_backlight_wmi_id_table, + .probe = nvidia_wmi_ec_backlight_probe, + .id_table = nvidia_wmi_ec_backlight_id_table, }; -module_wmi_driver(wmaa_backlight_wmi_driver); +module_wmi_driver(nvidia_wmi_ec_backlight_driver); MODULE_AUTHOR("Daniel Dadap "); -MODULE_DESCRIPTION("WMAA Backlight WMI driver"); +MODULE_DESCRIPTION("NVIDIA WMI EC Backlight driver"); MODULE_LICENSE("GPL"); From patchwork Mon Dec 6 06:34:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kai-Heng Feng X-Patchwork-Id: 1563831 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical.com header.i=@canonical.com header.a=rsa-sha256 header.s=20210705 header.b=ttrLcgCX; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4J6twz4XY2z9sRR for ; Mon, 6 Dec 2021 17:36:03 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1mu7bM-000882-Jc; Mon, 06 Dec 2021 06:35:52 +0000 Received: from smtp-relay-canonical-1.internal ([10.131.114.174] helo=smtp-relay-canonical-1.canonical.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1mu7bK-00086B-W1 for kernel-team@lists.ubuntu.com; Mon, 06 Dec 2021 06:35:51 +0000 Received: from localhost.localdomain (unknown [10.101.196.174]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-1.canonical.com (Postfix) with ESMTPSA id 006F3404AB for ; Mon, 6 Dec 2021 06:35:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1638772550; bh=yY6iJHXgfmsGkpY8K5k5p78SNTkLPfiNcU/1qKQqUeM=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ttrLcgCXP9I7O4XVlTrRfG7alIaj8ELvE+Q8ps3HOk7/x6VCsiKJ6zTj/FbZRwxA9 bfoM9UthrpjVcyNImOEHbaB/YbCm7ApXiTyEyiF0pLYHXQ5fNOLYsvr4K0J0Ppe2D2 ntDa4Us5+0MNNPu86oAHpuYOYJCQOkP06LItK77isdKJf+9JBCVj0a3NjD023jeI/6 KnhD/ggdsXehxCiOUMGh51neHk8Zj2h4hECekT8xeFFOX+Vs+2iH3Q5veIsarY+N56 G5WnofPGHdTwll4W8DXb1DHPWkUkxcbaWbm9fPmUxxwrwgVbp04rVYly6n6TXmFDIa 4YNHDgPDwJB3Q== From: Kai-Heng Feng To: kernel-team@lists.ubuntu.com Subject: [OEM-5.14] [PATCH 3/4] platform/x86: Rename wmaa-backlight-wmi to nvidia-wmi-ec-backlight Date: Mon, 6 Dec 2021 14:34:54 +0800 Message-Id: <20211206063457.1522003-5-kai.heng.feng@canonical.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211206063457.1522003-1-kai.heng.feng@canonical.com> References: <20211206063457.1522003-1-kai.heng.feng@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Daniel Dadap BugLink: https://bugs.launchpad.net/bugs/1953286 Rename the wmaa-backlight-wmi driver and associated KConfig option to remove the remaining references to the "WMAA" ACPI handle which was used in the previous name. The driver has already been updated to remove internal references to "WMAA". As part of the renaming, the components in the name have been rearranged to reflect the standard vendor_wmi_feature pattern. Signed-off-by: Daniel Dadap Link: https://lore.kernel.org/r/20210927202359.13684-2-ddadap@nvidia.com Signed-off-by: Hans de Goede (backported from commit ca16d33bd86246bf91d089c8ba78b9b214574b12) Signed-off-by: Kai-Heng Feng --- MAINTAINERS | 12 ++++++------ drivers/platform/x86/Kconfig | 15 +++++++-------- drivers/platform/x86/Makefile | 2 +- ...-backlight-wmi.c => nvidia-wmi-ec-backlight.c} | 0 4 files changed, 14 insertions(+), 15 deletions(-) rename drivers/platform/x86/{wmaa-backlight-wmi.c => nvidia-wmi-ec-backlight.c} (100%) diff --git a/MAINTAINERS b/MAINTAINERS index 9d22d199d61a1..28464aac5adbb 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -13291,6 +13291,12 @@ S: Maintained F: drivers/video/fbdev/nvidia/ F: drivers/video/fbdev/riva/ +NVIDIA WMI EC BACKLIGHT DRIVER +M: Daniel Dadap +L: platform-driver-x86@vger.kernel.org +S: Supported +F: drivers/platform/x86/nvidia-wmi-ec-backlight.c + NVM EXPRESS DRIVER M: Keith Busch M: Jens Axboe @@ -20037,12 +20043,6 @@ L: linux-wireless@vger.kernel.org S: Odd fixes F: drivers/net/wireless/wl3501* -WMAA BACKLIGHT DRIVER -M: Daniel Dadap -L: platform-driver-x86@vger.kernel.org -S: Supported -F: drivers/platform/x86/wmaa-backlight-wmi.c - WOLFSON MICROELECTRONICS DRIVERS L: patches@opensource.cirrus.com S: Supported diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig index 516b812a4fd79..952f224b5fc5e 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig @@ -113,21 +113,20 @@ config PEAQ_WMI help Say Y here if you want to support WMI-based hotkeys on PEAQ 2-in-1s. -config WMAA_BACKLIGHT_WMI - tristate "ACPI WMAA Backlight Driver" +config NVIDIA_WMI_EC_BACKLIGHT + tristate "EC Backlight Driver for Hybrid Graphics Notebook Systems" depends on ACPI_WMI depends on BACKLIGHT_CLASS_DEVICE help - This driver provides a sysfs backlight interface for notebook - systems which expose the WMAA ACPI method and an associated WMI - wrapper to drive LCD backlight levels through the Embedded Controller - (EC). + This driver provides a sysfs backlight interface for notebook systems + which are equipped with NVIDIA hybrid graphics and drive LCD backlight + levels through the Embedded Controller (EC). Say Y or M here if you want to control the backlight on a notebook - system with an EC-driven backlight using the ACPI WMAA method. + system with an EC-driven backlight. If you choose to compile this driver as a module the module will be - called wmaa-backlight-wmi. + called nvidia-wmi-ec-backlight. config XIAOMI_WMI tristate "Xiaomi WMI key driver" diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile index 109c1714237dd..802c203b7619b 100644 --- a/drivers/platform/x86/Makefile +++ b/drivers/platform/x86/Makefile @@ -13,8 +13,8 @@ obj-$(CONFIG_HUAWEI_WMI) += huawei-wmi.o obj-$(CONFIG_INTEL_WMI_SBL_FW_UPDATE) += intel-wmi-sbl-fw-update.o obj-$(CONFIG_INTEL_WMI_THUNDERBOLT) += intel-wmi-thunderbolt.o obj-$(CONFIG_MXM_WMI) += mxm-wmi.o +obj-$(CONFIG_NVIDIA_WMI_EC_BACKLIGHT) += nvidia-wmi-ec-backlight.o obj-$(CONFIG_PEAQ_WMI) += peaq-wmi.o -obj-$(CONFIG_WMAA_BACKLIGHT_WMI) += wmaa-backlight-wmi.o obj-$(CONFIG_XIAOMI_WMI) += xiaomi-wmi.o obj-$(CONFIG_GIGABYTE_WMI) += gigabyte-wmi.o diff --git a/drivers/platform/x86/wmaa-backlight-wmi.c b/drivers/platform/x86/nvidia-wmi-ec-backlight.c similarity index 100% rename from drivers/platform/x86/wmaa-backlight-wmi.c rename to drivers/platform/x86/nvidia-wmi-ec-backlight.c From patchwork Mon Dec 6 06:34:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kai-Heng Feng X-Patchwork-Id: 1563834 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=canonical.com header.i=@canonical.com header.a=rsa-sha256 header.s=20210705 header.b=rg6mr8Gk; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4J6tx534csz9sRK for ; Mon, 6 Dec 2021 17:36:09 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1mu7bS-0008H9-LL; Mon, 06 Dec 2021 06:35:58 +0000 Received: from smtp-relay-canonical-1.internal ([10.131.114.174] helo=smtp-relay-canonical-1.canonical.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1mu7bO-00089r-Me for kernel-team@lists.ubuntu.com; Mon, 06 Dec 2021 06:35:54 +0000 Received: from localhost.localdomain (unknown [10.101.196.174]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-1.canonical.com (Postfix) with ESMTPSA id DC3E4404AB for ; Mon, 6 Dec 2021 06:35:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1638772553; bh=IW8tLKgXIjYc/fBByWmz3EPjmCN4EGgSqxX4t3MVh3o=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=rg6mr8GkaLKPDiNmP8QmWcsZoYosCMwKUI25dCtxEf7zCT/lDgJvCtbPr+WBasObO QqX0xqojeE0scnafPVZOQGpJ+ePvVOk12VBIfOM9B1vuGhMA7M6c9ZXuoBEneGjIrR PU2HA6FwNIMVKS2sy0yFJe5f4WzKeD6NiT0A9CDojtrdaSx+LAhKRfJ+FizmoQlP4h c8JYvvm9BkRq4sRyManwJaaL6aQD8DBQax5hJWZxIC1nLkiS5ljMDnYoYeyws6E1ox PCbyxObbs+2C5TEBNZqrf+XeIuqooNvBelrB+4lg73qDDR1BHXnSXZUpJwf0QiWRqr no0e1N+DbGtVg== From: Kai-Heng Feng To: kernel-team@lists.ubuntu.com Subject: [OEM-5.14] [PATCH 4/4] UBUNTU: [Config] NVIDIA_WMI_EC_BACKLIGHT=m Date: Mon, 6 Dec 2021 14:34:56 +0800 Message-Id: <20211206063457.1522003-7-kai.heng.feng@canonical.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211206063457.1522003-1-kai.heng.feng@canonical.com> References: <20211206063457.1522003-1-kai.heng.feng@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/1953286 Signed-off-by: Kai-Heng Feng --- debian.oem/config/annotations | 1 + debian.oem/config/config.common.ubuntu | 1 + 2 files changed, 2 insertions(+) diff --git a/debian.oem/config/annotations b/debian.oem/config/annotations index 835532ade2052..245ab7458d28d 100644 --- a/debian.oem/config/annotations +++ b/debian.oem/config/annotations @@ -10475,6 +10475,7 @@ CONFIG_INTEL_WMI_SBL_FW_UPDATE policy<{'amd64': 'm'}> CONFIG_INTEL_WMI_THUNDERBOLT policy<{'amd64': 'm'}> CONFIG_MXM_WMI policy<{'amd64': 'm'}> CONFIG_PEAQ_WMI policy<{'amd64': 'm'}> +CONFIG_NVIDIA_WMI_EC_BACKLIGHT policy<{'amd64': 'm'}> CONFIG_XIAOMI_WMI policy<{'amd64': 'm'}> CONFIG_GIGABYTE_WMI policy<{'amd64': 'm'}> CONFIG_ACER_WMI policy<{'amd64': 'm'}> diff --git a/debian.oem/config/config.common.ubuntu b/debian.oem/config/config.common.ubuntu index 4694819ca064a..761abc4234d6a 100644 --- a/debian.oem/config/config.common.ubuntu +++ b/debian.oem/config/config.common.ubuntu @@ -5538,6 +5538,7 @@ CONFIG_NUMA_KEEP_MEMINFO=y CONFIG_NVDIMM_DAX=y CONFIG_NVDIMM_KEYS=y CONFIG_NVDIMM_PFN=y +CONFIG_NVIDIA_WMI_EC_BACKLIGHT=m CONFIG_NVM=y CONFIG_NVMEM=y CONFIG_NVMEM_RMEM=m