From nobody Mon Sep 28 05:45:29 2026 Received: from mail.tuxedocomputers.com (mail.tuxedocomputers.com [157.90.84.7]) (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 8190F331ECC; Wed, 26 Aug 2026 08:12:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=157.90.84.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787731936; cv=none; b=OqhhnA70wAHANOzvt1bv6z/g7HIZdvfsx1gIXAnWggAU2qIo6+Ot2Lr8ccmPuf9qWKOI5NzaNdZDLkwdbVk0Sv8115b0sWJtcNE4cNrSeAOA39BN1sd5NQlOIwG90Pu3isw5u3L2UJSi/V9LFqfsu64BkSuXfunjiRp4FW66PP0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787731936; c=relaxed/simple; bh=XnIcqupmro4QZtu02gGtztwX37QwGudwUYRoIjHo7sc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=K/M+byWMALAG+WqsCHQTBJO5RQBbMAqjAznorC6L86MI5pgOQ3dZ+mKgHpoSfrL8JPB6u4mMq7qCcph6TO/NeJ+3BHWVW28mUU4VmhKTF2ld7os9R3Do7qCtv0NprpUrOZllDfLwh2hYyB77wQEVhlsCBW4pmvQ6m84VJ06jnnU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=tuxedocomputers.com; spf=pass smtp.mailfrom=tuxedocomputers.com; dkim=pass (1024-bit key) header.d=tuxedocomputers.com header.i=@tuxedocomputers.com header.b=jv7SR01s; arc=none smtp.client-ip=157.90.84.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=tuxedocomputers.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tuxedocomputers.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=tuxedocomputers.com header.i=@tuxedocomputers.com header.b="jv7SR01s" Received: from aerhardt-tuxedo.buero.augsburg.tuxedo.de (business-24-134-105-141.pool2.vodafone-ip.de [24.134.105.141]) (Authenticated sender: a.erhardt@tuxedocomputers.com) by mail.tuxedocomputers.com (Postfix) with ESMTPSA id 481FB2FC0061; Wed, 26 Aug 2026 10:12:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxedocomputers.com; s=default; t=1787731922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Ev/GJiHME8Ms5EuopNoqcru5aHrEB6B2EQkB2WlEx24=; b=jv7SR01s8+W6wrVXfnXGqZFiWA6sF3JMfy20Qxx+9t4/UTD/IIMtDSJD6dgjNt5lobqyR0 wa47YfaDu6FYGq4X8PUpLwNLT9PfSn/DM7BjXN7DOg82WGfllKwxDe6BSg0fnVj9aAOFwu +hkia1s1e6VUeTcTdxyLiHlhsYvkJeA= Authentication-Results: mail.tuxedocomputers.com; auth=pass smtp.auth=a.erhardt@tuxedocomputers.com smtp.mailfrom=aer@tuxedocomputers.com From: Aaron Erhardt To: wse@tuxedocomputers.com, hansg@kernel.org, ilpo.jarvinen@linux.intel.com Cc: Aaron Erhardt , linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org Subject: [PATCH v3 1/6] platform/x86/tuxedo: Don't use device driver data Date: Wed, 26 Aug 2026 10:11:27 +0200 Message-ID: <20260826081149.235487-2-aer@tuxedocomputers.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260826081149.235487-1-aer@tuxedocomputers.com> References: <20260826081149.235487-1-aer@tuxedocomputers.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 WMI driver for TUXEDO Sirius devices used to rely on the device driver data through dev_set_drvdata even though it is only a virtual low level HID driver. For this purpose, it is better to use the driver_data of the hid_device struct to avoid interfering with high level device drivers. Signed-off-by: Aaron Erhardt Reviewed-by: Werner Sembach --- drivers/platform/x86/tuxedo/nb04/wmi_ab.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/platform/x86/tuxedo/nb04/wmi_ab.c b/drivers/platform/x= 86/tuxedo/nb04/wmi_ab.c index 32d7756022c2..72205de72256 100644 --- a/drivers/platform/x86/tuxedo/nb04/wmi_ab.c +++ b/drivers/platform/x86/tuxedo/nb04/wmi_ab.c @@ -448,7 +448,7 @@ static int tux_ll_start(struct hid_device *hdev) } driver_data->next_lamp_id =3D 0; =20 - dev_set_drvdata(&hdev->dev, driver_data); + hdev->driver_data =3D driver_data; =20 return ret; } @@ -485,7 +485,7 @@ struct __packed lamp_array_attributes_report_t { static int handle_lamp_array_attributes_report(struct hid_device *hdev, struct lamp_array_attributes_report_t *rep) { - struct tux_hdev_driver_data_t *driver_data =3D dev_get_drvdata(&hdev->dev= ); + struct tux_hdev_driver_data_t *driver_data =3D hdev->driver_data; =20 rep->lamp_count =3D driver_data->lamp_count; rep->bounding_box_width_in_micrometers =3D 368000; @@ -510,7 +510,7 @@ struct __packed lamp_attributes_request_report_t { static int handle_lamp_attributes_request_report(struct hid_device *hdev, struct lamp_attributes_request_report_t *rep) { - struct tux_hdev_driver_data_t *driver_data =3D dev_get_drvdata(&hdev->dev= ); + struct tux_hdev_driver_data_t *driver_data =3D hdev->driver_data; =20 if (rep->lamp_id < driver_data->lamp_count) driver_data->next_lamp_id =3D rep->lamp_id; @@ -539,7 +539,7 @@ struct __packed lamp_attributes_response_report_t { static int handle_lamp_attributes_response_report(struct hid_device *hdev, struct lamp_attributes_response_report_t *rep) { - struct tux_hdev_driver_data_t *driver_data =3D dev_get_drvdata(&hdev->dev= ); + struct tux_hdev_driver_data_t *driver_data =3D hdev->driver_data; u16 lamp_id =3D driver_data->next_lamp_id; =20 rep->lamp_id =3D lamp_id; @@ -598,7 +598,7 @@ struct __packed lamp_multi_update_report_t { static int handle_lamp_multi_update_report(struct hid_device *hdev, struct lamp_multi_update_report_t *rep) { - struct tux_hdev_driver_data_t *driver_data =3D dev_get_drvdata(&hdev->dev= ); + struct tux_hdev_driver_data_t *driver_data =3D hdev->driver_data; union tux_wmi_xx_496in_80out_in_t *next =3D &driver_data->next_kbl_set_mu= ltiple_keys_in; struct tux_kbl_set_multiple_keys_in_rgb_config_t *rgb_configs_j; struct wmi_device *wdev =3D to_wmi_device(hdev->dev.parent); @@ -683,7 +683,7 @@ struct __packed lamp_range_update_report_t { static int handle_lamp_range_update_report(struct hid_device *hdev, struct lamp_range_update_report_t *rep) { - struct tux_hdev_driver_data_t *driver_data =3D dev_get_drvdata(&hdev->dev= ); + struct tux_hdev_driver_data_t *driver_data =3D hdev->driver_data; struct lamp_multi_update_report_t lamp_multi_update_report =3D { .report_id =3D LAMP_MULTI_UPDATE_REPORT_ID, }; --=20 2.43.0 From nobody Mon Sep 28 05:45:29 2026 Received: from mail.tuxedocomputers.com (mail.tuxedocomputers.com [157.90.84.7]) (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 82AAD390218; Wed, 26 Aug 2026 08:12:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=157.90.84.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787731938; cv=none; b=HG1BOpOZYzNMM69BIqIoAcBB0fE8tn2NbHF2N1+bG6x2ONY7TZ6OyTduMiWJWdqMZARM11Aq5+Rx0egC7mrw0VnHAWKm7MKQkjsvmsyQ8ApCME0so0CxXBuOrsM3ndPXT3ThWqF/9ozbOui11eRjqREtqFKzl6cB2ozVIPzmmJo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787731938; c=relaxed/simple; bh=IlQJbmODu8OTLKM6Ck2yIbU0aWiMbF5LLi5vPDqOLS8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AQPF1+DWKtFemauaTQvTknz27aebItnsOto9I5qrGjbok5q/AqiIdLHcgpaenOyGa9GbLpbn9a2ZWa+NpX6ZQuk2CUOwkX8bnpV0pn0wSBkvuI7H0V5a9C8GmfQTQOM23czhlBmbmxqaZaDqP/dH5o4Q0dl0FW+vIurMU02nA+Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=tuxedocomputers.com; spf=pass smtp.mailfrom=tuxedocomputers.com; dkim=pass (1024-bit key) header.d=tuxedocomputers.com header.i=@tuxedocomputers.com header.b=lOW+ZeQA; arc=none smtp.client-ip=157.90.84.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=tuxedocomputers.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tuxedocomputers.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=tuxedocomputers.com header.i=@tuxedocomputers.com header.b="lOW+ZeQA" Received: from aerhardt-tuxedo.buero.augsburg.tuxedo.de (business-24-134-105-141.pool2.vodafone-ip.de [24.134.105.141]) (Authenticated sender: a.erhardt@tuxedocomputers.com) by mail.tuxedocomputers.com (Postfix) with ESMTPSA id 84BC62FC0065; Wed, 26 Aug 2026 10:12:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxedocomputers.com; s=default; t=1787731922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fohmdc0x4oM0juNqlZC+l7JsMiiLTluDsf2v2gmbKts=; b=lOW+ZeQAhSmCs+aHVAMf29u1C9q+O19qIFkUn2ZEj4FY7mlFasK04r/0vSDYRv7pJw4pRI HIJ6PZHywee0DeZJKA5W7f+HQbmHmHR5rHFJQRL1tZbvtxZS+qcoDldVqdWhWly8eZx7o4 SgM9p4GGgerHhHX82vgz1QpymmbxDZs= Authentication-Results: mail.tuxedocomputers.com; auth=pass smtp.auth=a.erhardt@tuxedocomputers.com smtp.mailfrom=aer@tuxedocomputers.com From: Aaron Erhardt To: wse@tuxedocomputers.com, hansg@kernel.org, ilpo.jarvinen@linux.intel.com Cc: Aaron Erhardt , linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org Subject: [PATCH v3 2/6] platform/x86/tuxedo: Set HID report ID on success Date: Wed, 26 Aug 2026 10:11:28 +0200 Message-ID: <20260826081149.235487-3-aer@tuxedocomputers.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260826081149.235487-1-aer@tuxedocomputers.com> References: <20260826081149.235487-1-aer@tuxedocomputers.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" While not strictly necessary due to the synchronous handling of HID requests, it is better to set the ID of the HID report before returning the buffer. This also better complies with the HID spec and avoids problems with userspace tools expecting a report ID. Signed-off-by: Aaron Erhardt Reviewed-by: Werner Sembach --- drivers/platform/x86/tuxedo/nb04/wmi_ab.c | 26 +++++++++++++++++------ 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/drivers/platform/x86/tuxedo/nb04/wmi_ab.c b/drivers/platform/x= 86/tuxedo/nb04/wmi_ab.c index 72205de72256..11babc7c7767 100644 --- a/drivers/platform/x86/tuxedo/nb04/wmi_ab.c +++ b/drivers/platform/x86/tuxedo/nb04/wmi_ab.c @@ -766,6 +766,8 @@ static int handle_lamp_array_control_report(struct hid_= device *hdev __always_unu static int tux_ll_raw_request(struct hid_device *hdev, u8 reportnum, u8 *b= uf, size_t len, unsigned char rtype, int reqtype) { + int ret =3D -EINVAL; + if (rtype !=3D HID_FEATURE_REPORT) return -EINVAL; =20 @@ -775,13 +777,15 @@ static int tux_ll_raw_request(struct hid_device *hdev= , u8 reportnum, u8 *buf, case LAMP_ARRAY_ATTRIBUTES_REPORT_ID: if (len !=3D sizeof(struct lamp_array_attributes_report_t)) return -EINVAL; - return handle_lamp_array_attributes_report(hdev, + ret =3D handle_lamp_array_attributes_report(hdev, (struct lamp_array_attributes_report_t *)buf); + break; case LAMP_ATTRIBUTES_RESPONSE_REPORT_ID: if (len !=3D sizeof(struct lamp_attributes_response_report_t)) return -EINVAL; - return handle_lamp_attributes_response_report(hdev, + ret =3D handle_lamp_attributes_response_report(hdev, (struct lamp_attributes_response_report_t *)buf); + break; } break; case HID_REQ_SET_REPORT: @@ -789,28 +793,36 @@ static int tux_ll_raw_request(struct hid_device *hdev= , u8 reportnum, u8 *buf, case LAMP_ATTRIBUTES_REQUEST_REPORT_ID: if (len !=3D sizeof(struct lamp_attributes_request_report_t)) return -EINVAL; - return handle_lamp_attributes_request_report(hdev, + ret =3D handle_lamp_attributes_request_report(hdev, (struct lamp_attributes_request_report_t *)buf); + break; case LAMP_MULTI_UPDATE_REPORT_ID: if (len !=3D sizeof(struct lamp_multi_update_report_t)) return -EINVAL; - return handle_lamp_multi_update_report(hdev, + ret =3D handle_lamp_multi_update_report(hdev, (struct lamp_multi_update_report_t *)buf); + break; case LAMP_RANGE_UPDATE_REPORT_ID: if (len !=3D sizeof(struct lamp_range_update_report_t)) return -EINVAL; - return handle_lamp_range_update_report(hdev, + ret =3D handle_lamp_range_update_report(hdev, (struct lamp_range_update_report_t *)buf); + break; case LAMP_ARRAY_CONTROL_REPORT_ID: if (len !=3D sizeof(struct lamp_array_control_report_t)) return -EINVAL; - return handle_lamp_array_control_report(hdev, + ret =3D handle_lamp_array_control_report(hdev, (struct lamp_array_control_report_t *)buf); + break; } break; } =20 - return -EINVAL; + /* Set report number on success */ + if (ret > 0) + buf[0] =3D reportnum; + + return ret; } =20 static const struct hid_ll_driver tux_ll_driver =3D { --=20 2.43.0 From nobody Mon Sep 28 05:45:29 2026 Received: from mail.tuxedocomputers.com (mail.tuxedocomputers.com [157.90.84.7]) (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 BC6673B774B; Wed, 26 Aug 2026 08:12:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=157.90.84.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787731937; cv=none; b=ZCmV4CDEqDkq0ZpMlsVP2/clpYU0Ir7f1XO3TNu8nBJ9UteW+vS4tFa6LAUbSa1hcoSVOG9hCZa7w+riEBLb3AW+V8H2OUJ72IEQL5r+fJkOCBsmrfW6llNqunYxbFr4LO0/WGwpHZL9pTNJ8MrAHgIzY0xZDgky3nqe7EWzok0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787731937; c=relaxed/simple; bh=IQtgV2PnVWeA4oDAmnQS9le08dIHD2sCyTqrEb2Aaos=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ejoC6E+4bVW40u1cjva0d49fUE2W+rbSGruNeZY7KFYaezz1PID+ww/q3XvHMeyiHleQFeh8feJwy22u/lOE/KsQiRsrtk5yGJmauaYc452Pl+ssfBvKBABi4YTtaq3jqXcJbt52+n9uPS8afYZr6TuOXlB4orOgJGZvGSS+jps= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=tuxedocomputers.com; spf=pass smtp.mailfrom=tuxedocomputers.com; dkim=pass (1024-bit key) header.d=tuxedocomputers.com header.i=@tuxedocomputers.com header.b=tU4eQpWY; arc=none smtp.client-ip=157.90.84.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=tuxedocomputers.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tuxedocomputers.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=tuxedocomputers.com header.i=@tuxedocomputers.com header.b="tU4eQpWY" Received: from aerhardt-tuxedo.buero.augsburg.tuxedo.de (business-24-134-105-141.pool2.vodafone-ip.de [24.134.105.141]) (Authenticated sender: a.erhardt@tuxedocomputers.com) by mail.tuxedocomputers.com (Postfix) with ESMTPSA id BE4E92FC006B; Wed, 26 Aug 2026 10:12:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxedocomputers.com; s=default; t=1787731922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8pZijpDFSiF1ZbzcpGeJ5zglmWeRotWMVESRJhY9Nd0=; b=tU4eQpWYGHGplCPUCQkfwxnQCEOSQa52I2wpIoZAJ7RN3dY/COq+drH9kAce1XYeHkcJ7D 63W/dVddhb2aGESZILv62yEs6YUsugwvc+o2vwBbTOcFSBwyQdoP7ecj+r/X694KWWkorD 1SgMW0w45oYbtxprBu0CZqcPdypKDak= Authentication-Results: mail.tuxedocomputers.com; auth=pass smtp.auth=a.erhardt@tuxedocomputers.com smtp.mailfrom=aer@tuxedocomputers.com From: Aaron Erhardt To: wse@tuxedocomputers.com, hansg@kernel.org, ilpo.jarvinen@linux.intel.com Cc: Aaron Erhardt , linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org Subject: [PATCH v3 3/6] platform/x86/tuxedo: Use intensity according to HID spec Date: Wed, 26 Aug 2026 10:11:29 +0200 Message-ID: <20260826081149.235487-4-aer@tuxedocomputers.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260826081149.235487-1-aer@tuxedocomputers.com> References: <20260826081149.235487-1-aer@tuxedocomputers.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" So far, this driver assumed incorrectly that the HID spec requires an 8-bit intensity value to be honored. The spec actually allows multiple intensities for RGB lamps, but suggest to rather set brightness through the individual channels, which is also what the Microsoft MacroPad reference implementation does. Accordingly, this commit simplifies intensity handling by offering only two intensity values for turning LEDs on and off. All other color values are submitted through the color channels individually, thus avoiding duplicated handling of brightness. Additionally, the incorrect comments explaining the deviation from the MacroPad reference implementation were removed. Signed-off-by: Aaron Erhardt Reviewed-by: Werner Sembach --- drivers/platform/x86/tuxedo/nb04/wmi_ab.c | 25 ++++++++++++----------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/drivers/platform/x86/tuxedo/nb04/wmi_ab.c b/drivers/platform/x= 86/tuxedo/nb04/wmi_ab.c index 11babc7c7767..8f1ffca0430d 100644 --- a/drivers/platform/x86/tuxedo/nb04/wmi_ab.c +++ b/drivers/platform/x86/tuxedo/nb04/wmi_ab.c @@ -553,7 +553,7 @@ static int handle_lamp_attributes_response_report(struc= t hid_device *hdev, rep->red_level_count =3D 0xff; rep->green_level_count =3D 0xff; rep->blue_level_count =3D 0xff; - rep->intensity_level_count =3D 0xff; + rep->intensity_level_count =3D 0x1; rep->is_programmable =3D 1; =20 if (driver_data->kbl_map[lamp_id].code <=3D 0xe8) { @@ -640,22 +640,23 @@ static int handle_lamp_multi_update_report(struct hid= _device *hdev, j + 1; rgb_configs_j->key_id =3D key_id; /* - * While this driver respects update_channel.intensity - * according to "HID Usage Tables v1.5" also on RGB - * leds, the Microsoft MacroPad reference implementation + * This driver uses update_channel.intensity according to + * "Color Attributes Examples" in "HID Usage Tables v1.7". + * Only two intensity values are allowed for turning LEDs + * on or off, while color and brightness can be controlled + * through the RGB values. This is also identical to the + * Microsoft MacroPad reference implementation * (https://github.com/microsoft/RP2040MacropadHidSample - * 1d6c3ad) does not and ignores it. If it turns out - * that Windows writes intensity =3D 0 for RGB leds - * instead of intensity =3D 255, this driver should also - * ignore the update_channel.intensity. + * 1d6c3ad). */ - intensity_i =3D rep->update_channels[i].intensity; + intensity_i =3D min(1, rep->update_channels[i].intensity); red_i =3D rep->update_channels[i].red; green_i =3D rep->update_channels[i].green; blue_i =3D rep->update_channels[i].blue; - rgb_configs_j->red =3D red_i * intensity_i / 0xff; - rgb_configs_j->green =3D green_i * intensity_i / 0xff; - rgb_configs_j->blue =3D blue_i * intensity_i / 0xff; + + rgb_configs_j->red =3D red_i * intensity_i; + rgb_configs_j->green =3D green_i * intensity_i; + rgb_configs_j->blue =3D blue_i * intensity_i; =20 break; } --=20 2.43.0 From nobody Mon Sep 28 05:45:29 2026 Received: from mail.tuxedocomputers.com (mail.tuxedocomputers.com [157.90.84.7]) (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 BC78D3B774F; Wed, 26 Aug 2026 08:12:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=157.90.84.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787731937; cv=none; b=Hq7p5IfmsNH6UjgMHOIskajJE7ultKy6v56VXoacJtRl/3aAIEyREbRGa9PlWlOp6BZ24/xxbYbd7s5lhr41GTr0+rFbvWebF7R5v7VAObn5Q+qw5ADy/5ZE6YUGJsRsi1Hjds6/NvAnDVXd0uLhTrnd0D/EWVHiAWlXfUFEeeI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787731937; c=relaxed/simple; bh=lHRTwriL95Pr9/wHIGFYRtPnyduJsP68/G4xDpZNW6M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QQSVpOeAKZiiHi+zT90CmkRcKQGrVIYnfJE/TKGd75DA8IeYA58MPG5wPY5Z9FONXBVQP1ZQMW/cs4m28YDMOHF+e/rKTUJGPUaSdUFWl1NbzbSqr/4oIvTOBNM4ODHX0B88F1DA85YpEjnFbMPAWMHYB3510qRZvX7xFk+s570= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=tuxedocomputers.com; spf=pass smtp.mailfrom=tuxedocomputers.com; dkim=pass (1024-bit key) header.d=tuxedocomputers.com header.i=@tuxedocomputers.com header.b=e1ZAfM3K; arc=none smtp.client-ip=157.90.84.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=tuxedocomputers.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tuxedocomputers.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=tuxedocomputers.com header.i=@tuxedocomputers.com header.b="e1ZAfM3K" Received: from aerhardt-tuxedo.buero.augsburg.tuxedo.de (business-24-134-105-141.pool2.vodafone-ip.de [24.134.105.141]) (Authenticated sender: a.erhardt@tuxedocomputers.com) by mail.tuxedocomputers.com (Postfix) with ESMTPSA id 0B8D22FC006C; Wed, 26 Aug 2026 10:12:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxedocomputers.com; s=default; t=1787731923; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Vg1DleA7vpCyTm+joNWGDMumyeZJh2BUHdIbGtwOYzU=; b=e1ZAfM3KWb3NJYOgyCOlEY9BvAPlWW4/OwcX38ih3yA/1JKmcCKO4THakKwNqep7o7Yz9r jCZ7v9GqRAdN3AsFMYH/w3Lc8PD8J9u2dYFNKc/+gmlDrv9UzUG95K0zCp2U1sNxUBavXg D3OAx7HrW2khVV8aDqCEsw/IUIFC87w= Authentication-Results: mail.tuxedocomputers.com; auth=pass smtp.auth=a.erhardt@tuxedocomputers.com smtp.mailfrom=aer@tuxedocomputers.com From: Aaron Erhardt To: wse@tuxedocomputers.com, hansg@kernel.org, ilpo.jarvinen@linux.intel.com Cc: Aaron Erhardt , linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org Subject: [PATCH v3 4/6] platform/x86/tuxedo: Fix keyboard LED map ordering Date: Wed, 26 Aug 2026 10:11:30 +0200 Message-ID: <20260826081149.235487-5-aer@tuxedocomputers.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260826081149.235487-1-aer@tuxedocomputers.com> References: <20260826081149.235487-1-aer@tuxedocomputers.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 LED mappings in sirius_16_[iso|ansii]_kbl_map did contain a flipped line that caused LEDs to turn on in the wrong order when counting up the Lamp ID. Cc: stable@vger.kernel.org Signed-off-by: Aaron Erhardt Reviewed-by: Werner Sembach --- drivers/platform/x86/tuxedo/nb04/wmi_ab.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/platform/x86/tuxedo/nb04/wmi_ab.c b/drivers/platform/x= 86/tuxedo/nb04/wmi_ab.c index 8f1ffca0430d..2b985b030197 100644 --- a/drivers/platform/x86/tuxedo/nb04/wmi_ab.c +++ b/drivers/platform/x86/tuxedo/nb04/wmi_ab.c @@ -232,8 +232,8 @@ static const struct tux_kbl_map_entry_t sirius_16_ansii= _kbl_map[] =3D { { 0x2e, { 246000, 67500, 5250 } }, { 0x2a, { 269500, 67500, 5250 } }, { 0x53, { 294500, 67500, 5250 } }, - { 0x55, { 311200, 67500, 5250 } }, - { 0x54, { 327900, 67500, 5250 } }, + { 0x54, { 311200, 67500, 5250 } }, + { 0x55, { 327900, 67500, 5250 } }, { 0x56, { 344600, 67500, 5250 } }, { 0x2b, { 31000, 85500, 5500 } }, { 0x14, { 51500, 85500, 5500 } }, @@ -337,8 +337,8 @@ static const struct tux_kbl_map_entry_t sirius_16_iso_k= bl_map[] =3D { { 0x2e, { 246000, 67500, 5250 } }, { 0x2a, { 269500, 67500, 5250 } }, { 0x53, { 294500, 67500, 5250 } }, - { 0x55, { 311200, 67500, 5250 } }, - { 0x54, { 327900, 67500, 5250 } }, + { 0x54, { 311200, 67500, 5250 } }, + { 0x55, { 327900, 67500, 5250 } }, { 0x56, { 344600, 67500, 5250 } }, { 0x2b, { 31000, 85500, 5500 } }, { 0x14, { 51500, 85500, 5500 } }, --=20 2.43.0 From nobody Mon Sep 28 05:45:29 2026 Received: from mail.tuxedocomputers.com (mail.tuxedocomputers.com [157.90.84.7]) (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 487663B7747; Wed, 26 Aug 2026 08:12:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=157.90.84.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787731941; cv=none; b=HRYBNsDVh1jNy33v3kKWiVFHDHJRoJwVhoZRO/edZwruu92h9OBbdROmSBzr8iB3F+qgvz9958mexSchCSOYVLo7U03agaKqbcvMnBQ8ZTyVvEMvzwdKBuQH99pzp9VMupzSBpkBn0YRSDnMwfg2pMZ/Z/Xjr1rvvKaBFE8He3c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787731941; c=relaxed/simple; bh=BejUaPxsDy0O3y0sul9PpSaHuCqa5MKNadmq3C0PI7k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=diHWB/XT5eGG8Jxhdj1DR65CEmFuEabUn3d0FyBQDn2GIJpZivA7WrpIWWyOORoaV1EX9dK/C+ZNpW8M/Hd3AmpfnPAVyUXjdCFYTxuwXs4ChyMRxkfY+eGgrhDKlfi1fsJDar21a2nVXJUSbee546lyv2n+XGdYQ3FHwZvkSZ8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=tuxedocomputers.com; spf=pass smtp.mailfrom=tuxedocomputers.com; dkim=pass (1024-bit key) header.d=tuxedocomputers.com header.i=@tuxedocomputers.com header.b=XYixo8Ln; arc=none smtp.client-ip=157.90.84.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=tuxedocomputers.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tuxedocomputers.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=tuxedocomputers.com header.i=@tuxedocomputers.com header.b="XYixo8Ln" Received: from aerhardt-tuxedo.buero.augsburg.tuxedo.de (business-24-134-105-141.pool2.vodafone-ip.de [24.134.105.141]) (Authenticated sender: a.erhardt@tuxedocomputers.com) by mail.tuxedocomputers.com (Postfix) with ESMTPSA id 4406B2FC006E; Wed, 26 Aug 2026 10:12:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxedocomputers.com; s=default; t=1787731923; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jb1ytheJH2SEgY5Vdakg7HtZqlAPdJhQ9KePAFDHa0U=; b=XYixo8LnIuCqUitCdD/7z9Bczp4mMWN9zkE4DzRCn+r5l/cuZTAx2/iyWY42ogUAhF/hyB 2thyTgA7EJcE9amGSpNm71e7HXKdKw0useBFiVDWC6EDHowqsVIqUUf3TB7xMaKcShw5eA BTUkZXqi/+HuaVn1cLztGdWApH4wK4A= Authentication-Results: mail.tuxedocomputers.com; auth=pass smtp.auth=a.erhardt@tuxedocomputers.com smtp.mailfrom=aer@tuxedocomputers.com From: Aaron Erhardt To: wse@tuxedocomputers.com, hansg@kernel.org, ilpo.jarvinen@linux.intel.com Cc: Aaron Erhardt , linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org Subject: [PATCH v3 5/6] platform/x86/tuxedo: Update and extend documentation Date: Wed, 26 Aug 2026 10:11:31 +0200 Message-ID: <20260826081149.235487-6-aer@tuxedocomputers.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260826081149.235487-1-aer@tuxedocomputers.com> References: <20260826081149.235487-1-aer@tuxedocomputers.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" Remove an incorrect comment about the Microsoft MacroPad reference implementation allegedly deviating from the spec and add more information about the module and some other minor improvements. Signed-off-by: Aaron Erhardt Reviewed-by: Werner Sembach --- drivers/platform/x86/tuxedo/nb04/wmi_ab.c | 51 ++++++++++++----------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/drivers/platform/x86/tuxedo/nb04/wmi_ab.c b/drivers/platform/x= 86/tuxedo/nb04/wmi_ab.c index 2b985b030197..3e5ba524fe58 100644 --- a/drivers/platform/x86/tuxedo/nb04/wmi_ab.c +++ b/drivers/platform/x86/tuxedo/nb04/wmi_ab.c @@ -1,9 +1,15 @@ // SPDX-License-Identifier: GPL-2.0-or-later /* * This driver implements the WMI AB device found on TUXEDO notebooks with= board - * vendor NB04. + * vendor NB04. This enables keyboard backlight control via a virtual HID + * LampArray device. + * + * The device will be available through the regular HID interfaces, such as + * hidraw and can be used by any userspace program that implements the HID + * LampArray standard. * * Copyright (C) 2024-2025 Werner Sembach + * Copyright (C) 2026 Aaron Erhardt */ =20 #include @@ -488,12 +494,14 @@ static int handle_lamp_array_attributes_report(struct= hid_device *hdev, struct tux_hdev_driver_data_t *driver_data =3D hdev->driver_data; =20 rep->lamp_count =3D driver_data->lamp_count; + + // Physical dimensions of the Sirius 16 keyboard rep->bounding_box_width_in_micrometers =3D 368000; rep->bounding_box_height_in_micrometers =3D 266000; rep->bounding_box_depth_in_micrometers =3D 30000; /* * LampArrayKindKeyboard, see "26.2.1 LampArrayKind Values" of - * "HID Usage Tables v1.5" + * "HID Usage Tables v1.7" */ rep->lamp_array_kind =3D 1; // Some guessed value for interval microseconds @@ -547,7 +555,7 @@ static int handle_lamp_attributes_response_report(struc= t hid_device *hdev, rep->update_latency_in_microseconds =3D 100; /* * LampPurposeControl, see "26.3.1 LampPurposes Flags" of - * "HID Usage Tables v1.5" + * "HID Usage Tables v1.7" */ rep->lamp_purpose =3D 1; rep->red_level_count =3D 0xff; @@ -560,8 +568,8 @@ static int handle_lamp_attributes_response_report(struc= t hid_device *hdev, rep->input_binding =3D driver_data->kbl_map[lamp_id].code; } else { /* - * Everything bigger is reserved/undefined, see - * "10 Keyboard/Keypad Page (0x07)" of "HID Usage Tables v1.5" + * Everything bigger than 0xe8 is reserved/undefined, see + * "10 Keyboard/Keypad Page (0x07)" of "HID Usage Tables v1.7" * and should return 0, see "26.8.3 Lamp Attributes" of the same * document. */ @@ -606,10 +614,7 @@ static int handle_lamp_multi_update_report(struct hid_= device *hdev, u8 key_id, key_id_j, intensity_i, red_i, green_i, blue_i; int ret; =20 - /* - * Catching misformatted lamp_multi_update_report and fail silently - * according to "HID Usage Tables v1.5" - */ + // Catch bad reports and fail silently according to "HID Usage Tables v1.= 7" for (unsigned int i =3D 0; i < rep->lamp_count; ++i) { if (rep->lamp_id[i] > driver_data->lamp_count) { hid_dbg(hdev, "Out of bounds lamp_id in lamp_multi_update_report. Skipp= ing whole report!\n"); @@ -624,6 +629,7 @@ static int handle_lamp_multi_update_report(struct hid_d= evice *hdev, } } =20 + // Fill kbl_set_multiple_keys_in update buffer for (unsigned int i =3D 0; i < rep->lamp_count; ++i) { key_id =3D driver_data->kbl_map[rep->lamp_id[i]].code; =20 @@ -632,6 +638,8 @@ static int handle_lamp_multi_update_report(struct hid_d= evice *hdev, ++j) { rgb_configs_j =3D &next->kbl_set_multiple_keys_in.rgb_configs[j]; key_id_j =3D rgb_configs_j->key_id; + + // Search for existing or empty entry if (key_id_j !=3D 0x00 && key_id_j !=3D key_id) continue; =20 @@ -691,10 +699,7 @@ static int handle_lamp_range_update_report(struct hid_= device *hdev, struct lamp_rgbi_tuple_t *update_channels_j; int ret; =20 - /* - * Catching misformatted lamp_range_update_report and fail silently - * according to "HID Usage Tables v1.5" - */ + // Catch bad reports and fail silently according to "HID Usage Tables v1.= 7" if (rep->lamp_id_start > rep->lamp_id_end) { hid_dbg(hdev, "lamp_id_start > lamp_id_end in lamp_range_update_report. = Skipping whole report!\n"); return sizeof(*rep); @@ -706,8 +711,8 @@ static int handle_lamp_range_update_report(struct hid_d= evice *hdev, } =20 /* - * Break handle_lamp_range_update_report call down to multiple - * handle_lamp_multi_update_report calls to easily ensure that mixing + * Break handle_lamp_range_update_report call down into multiple + * handle_lamp_multi_update_report calls to ensure that mixing * handle_lamp_range_update_report and handle_lamp_multi_update_report * does not break things. */ @@ -750,15 +755,12 @@ static int handle_lamp_array_control_report(struct hi= d_device *hdev __always_unu struct lamp_array_control_report_t *rep) { /* - * The keyboards firmware doesn't have any built in controls and the - * built in effects are not implemented so this is a NOOP. - * According to the HID Documentation (HID Usage Tables v1.5) this + * The keyboard's firmware doesn't have any built-in controls and the + * built-in effects are not implemented so this is a NOOP. + * According to the HID Documentation (HID Usage Tables v1.7) this * function is optional and can be removed from the HID Report * Descriptor, but it should first be confirmed that userspace respects - * this possibility too. The Microsoft MacroPad reference implementation - * (https://github.com/microsoft/RP2040MacropadHidSample 1d6c3ad) - * already deviates from the spec at another point, see - * handle_lamp_*_update_report. + * this possibility too. */ =20 return sizeof(*rep); @@ -894,8 +896,8 @@ static struct wmi_driver tuxedo_nb04_wmi_tux_driver =3D= { }; =20 /* - * We don't know if the WMI API is stable and how unique the GUID is for t= his - * ODM. To be on the safe side we therefore only run this driver on tested + * We don't know whether the WMI API is stable and how unique the GUID is = for + * this ODM. To be on the safe side we therefore only run this driver on t= ested * devices defined by this list. */ static const struct dmi_system_id tested_devices_dmi_table[] __initconst = =3D { @@ -933,4 +935,5 @@ module_exit(tuxedo_nb04_wmi_tux_exit); =20 MODULE_DESCRIPTION("Virtual HID LampArray interface for TUXEDO NB04 device= s"); MODULE_AUTHOR("Werner Sembach "); +MODULE_AUTHOR("Aaron Erhardt "); MODULE_LICENSE("GPL"); --=20 2.43.0 From nobody Mon Sep 28 05:45:29 2026 Received: from mail.tuxedocomputers.com (mail.tuxedocomputers.com [157.90.84.7]) (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 4BCF93B840B; Wed, 26 Aug 2026 08:12:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=157.90.84.7 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787731941; cv=none; b=UwuZL8iDt8OHShe0MgwuYPV9mDlRLR/D5HcpI+EK5ijG3H8/tOAngmPr5hhGTm21cKl0f2r4cqccTiWJX5CdCylQUnP0vq5Q60D6upSUPE4xFXKpZb1Vr3GenikZEsZoXJALMxYaXpd1Mp/ohzxQy3y5IsmTTxOXMl0HlrjeRz0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787731941; c=relaxed/simple; bh=kiJc08/ov4Yk8nGFGPrn7wOVdYHPD+TCu1tooLBHak4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bZecAXQSg4nRJb/N9orugrzzFKOxX/ABC6tnTD4Ave9/zzBg6TmL6gRyQ905z/PdMj2u0wckqCFaRC02LvMP869v1NygXOp8tQjdWp70dyoh1BYP0R7B+K/R3CNa56k6nXaXhUlIEWATbY4rsuC/tM/SdZ36fDqc2xLzk8/7dRo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=tuxedocomputers.com; spf=pass smtp.mailfrom=tuxedocomputers.com; dkim=pass (1024-bit key) header.d=tuxedocomputers.com header.i=@tuxedocomputers.com header.b=UQ1dRN2K; arc=none smtp.client-ip=157.90.84.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=tuxedocomputers.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tuxedocomputers.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=tuxedocomputers.com header.i=@tuxedocomputers.com header.b="UQ1dRN2K" Received: from aerhardt-tuxedo.buero.augsburg.tuxedo.de (business-24-134-105-141.pool2.vodafone-ip.de [24.134.105.141]) (Authenticated sender: a.erhardt@tuxedocomputers.com) by mail.tuxedocomputers.com (Postfix) with ESMTPSA id 866892FC0071; Wed, 26 Aug 2026 10:12:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxedocomputers.com; s=default; t=1787731923; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=83IT5MCSN60iD6rl4rvPX5fX4gsvm+HqQUc9KBkXmmo=; b=UQ1dRN2KWjXn8Ovd+wcFREtzY5Y2175p4E1DnZFId4K2QXzxBPddg/gE99/hRPj5gtRKLX Z+pz0QLF8Q4dQAgBKfnXSn7hR4MTjraIFSARB1oAWuX8fZDUmvFmtzr+vkz7JB5OWXVTNb ek/phAslXnHoZUzSfPdQCRAcg7omPX8= Authentication-Results: mail.tuxedocomputers.com; auth=pass smtp.auth=a.erhardt@tuxedocomputers.com smtp.mailfrom=aer@tuxedocomputers.com From: Aaron Erhardt To: wse@tuxedocomputers.com, hansg@kernel.org, ilpo.jarvinen@linux.intel.com Cc: Aaron Erhardt , linux-kernel@vger.kernel.org, platform-driver-x86@vger.kernel.org Subject: [PATCH v3 6/6] MAINTAINERS: Add Aaron Erhardt as maintainer of TUXEDO DRIVERS Date: Wed, 26 Aug 2026 10:11:32 +0200 Message-ID: <20260826081149.235487-7-aer@tuxedocomputers.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260826081149.235487-1-aer@tuxedocomputers.com> References: <20260826081149.235487-1-aer@tuxedocomputers.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" I'm actively working on this driver as part of my responsibilities now. Signed-off-by: Aaron Erhardt Reviewed-by: Werner Sembach --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index a674e36529f7..792eb26722b3 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -27551,6 +27551,7 @@ F: tools/testing/selftests/turbostat/ =20 TUXEDO DRIVERS M: Werner Sembach +M: Aaron Erhardt L: platform-driver-x86@vger.kernel.org S: Supported F: drivers/platform/x86/tuxedo/ --=20 2.43.0