From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pz2-f12.google.com (mail-pz2-f12.google.com [74.125.228.12]) (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 3F7734A0EE8 for ; Wed, 16 Sep 2026 12:15:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.12 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789560929; cv=none; b=Ia4V46NHMUIuhuo2R1336H0uTu05TiOnF9k4Zs1UTkMFVtg2Y2OvqvQ1rMQmaFWWbIuArw75vBnGITUVlVhrTn9FyclzgB2HUuMy6+Gr3lAE4/8PnkmlmJ+1LjxSOwig8UtnTWuBHiCH6llWSL44bWItvkFVQUhdw0aDQjwu9nM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789560929; c=relaxed/simple; bh=DqlshfivEwgnrB+qkDvakP7pvIL7ZOxMkNNV0cMvHsk=; h=From:To:Cc:Subject:Date:Message-Id; b=jRaVgb83Wvb9VP/WAfOLdApWVzOEdZXIyXlcvRFC0usq3dZrgG/uv+Ec4nTDmc9jhGRz8NK19mM+WFIiluuaJdkCYMdtNAHzqArGL/L6eEjC0vf3KCy83+cvwFLrT1qtliCPTB1Rkjaq4gnfH49QP63BnepE+ZX97ZiLjjAkfQw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=HUkD+v9L; arc=none smtp.client-ip=74.125.228.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HUkD+v9L" Received: by mail-pz2-f12.google.com with SMTP id 41be03b00d2f7-cc1cea4ae2dso511767a12.3 for ; Wed, 16 Sep 2026 05:15:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789560928; x=1790165728; darn=vger.kernel.org; h=message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=aayfnjV5p3GQV2kJBDU3d+V6F7p/7t4V6z/4sqcizKw=; b=HUkD+v9LvPy+cCczmd/P1suhuDlH2yanOK46C+XKmg4doVR/eI2Pwbx4IioenIP+rR QMegF6Cj65xc1fAcq2iAdJwhsgwA/cYRS4d1/gCtBix6v4xAAP4ik0aSJfnNUvXg5aXe l0TiRh048htCYnQBG4xJJjtwhL9qfCYy1XrA8OW53VaoZ/NvTZuoWzYox/Cg6s2qMaAF aPz5usg9kMCw4rmmS3KpWA3c+PT3dR7s2+t363LYrQPwLknsdAehM4QiTCQybJrtax8S vGZHinoqzh2VTA0pfEhbubi2bmR1pNeWpqLBHAAO1BehgESbJxz+jTFioWa7jyjD/gvq Zy3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789560928; x=1790165728; h=message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=aayfnjV5p3GQV2kJBDU3d+V6F7p/7t4V6z/4sqcizKw=; b=nQwIJE0XN2FVK6K3b3mGS4lUS2dwgOKB/gDerrgku9lm3haGk4TBpJ97w/P0OOGkH2 CenYtAzsYXRI+iJIt6RWKoUj6F8c87cNqZai/04DgGl+EU8lpoo8LZ5Ucn5J9kwPMhxh 0HLhIbaDBLqlAm0s0HYaUK31WMkRHNAs4/w/G7wuQdccb0eOgzOas5Y2Q3a9T9yaQGmz iKGYR/tBQ/TfgMziitiLBiwxeve4yiyFGUqeAZtSVVC5nx+awiNQMgo+2Xmo9kPwnkHs eY9erpwbtbLWFJZQ7oSZqv+JNvmj3mcjRZli4dTS0e3uwxOIDJRm0/cJAg3XPkDP5m0K eSbA== X-Gm-Message-State: AFuF++k6QUM7DDNNUcpH1htBSFOqxPskxioFtptSQxlTqLa/ErH57X3X nzewPChQL5DnlceUNFZrcv+fzHoBweJt3udRPs/QJ5TrwHwEVLgECQC8BN+tGbrU5HQ= X-Gm-Gg: AYBFou2aOVojqlBua+SW+7vKYWxSKwmQDc+nKJxSmok1Z5N1KUQdEnQKKUkeovg8Nke PXWN0QEwpccelinxYTjY5HnwNUAYqkK9UPYjofkB0GdtTdCoNx1s5gupW3DuI0+GT36ocCLCCOT LKUDFpWGnExslKqtyOuwloIXOK7jK/zDxRzQPUt64UePhw1TYMDINrDRhMEm8At9FpF+wcQuA3p oTVdKa7CN0YJcp/eK7yqvEscSl2LcX/KRJ+4LG0HCmWC7BaDna7dAOL6sZs/jevhYRuMUgrp8PK j+tN1PfeqoxgFcISycAFlwGO2bK9dcznzo6gChS4wRL2uiRvkCHj5F+Qfsn3FJmF+YUSWDb1w0g kcSNFR5TEjnPxb7llMFqGCj5Pa3Wf7yuUDH9H9F3T7CJVNhqS3N0mCX4d5uEDPYofaZetJtmtdl pFm1bKqU9Q26LXASJtsiqdf/9jPZiF1a8uCJGjuGxS063rRv0uiX1sJo0K/XN7SEo5bgiJ8A== X-Received: by 2002:a05:6a20:e290:b0:3d3:aec2:4dcd with SMTP id adf61e73a8af0-3dd5f7a9ca3mr5599543637.25.1789560927153; Wed, 16 Sep 2026 05:15:27 -0700 (PDT) Received: from [127.0.1.1] ([240e:b8f:977f:f400:ec2a:b15e:fef8:70a]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-cc50ab8ae01sm1512489a12.18.2026.09.16.05.15.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Sep 2026 05:15:26 -0700 (PDT) From: Liang Haowen To: linux-leds@vger.kernel.org Cc: Lee Jones , Pavel Machek , Martin K. Petersen , linux-scsi@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Denis Benato , Armin Wolf , Hans de Goede , Ilpo Jarvinen Subject: [PATCH RFC v5 0/1] leds: asus-aura-scsi: Add ASUS Aura RGB LED driver for ROG NVMe enclosures Date: Wed, 16 Sep 2026 12:15:22 -0000 Message-Id: <202609162015.RFCv5-0.lhw@gmail.com> Precedence: bulk X-Mailing-List: linux-leds@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Hello, v5, as its own thread, addressing the fourth sashiko round (one real Medium, the same two Low false positives). Changes since v4: - led_mc_calc_color_components() now runs under the zone spinlock. It writes the shared subled_info array, and the LED core allows concurrent brightness_set callbacks for the same LED: sysfs stores are serialized with led_access, but trigger events call led_set_brightness() without it, so two concurrent setters could interleave their component writes and the thread winning the lock would cache a mix of their colours. The two low-severity items are the same false positives as in the previous three rounds: - kzalloc_obj() exists in include/linux/slab.h since v7.0 (Kees Cook's overflow-refactor series); this driver builds against 7.2. - blk_rq_map_kern() takes four arguments on current kernels (rq, buf, len, gfp); drivers/scsi/scsi_lib.c calls it exactly this way from scsi_execute_cmd(). The five-argument form with the request_queue first parameter is from older trees. v5 was re-verified on hardware: per-LED colours, 100 sequential updates, concurrent same-LED updates, concurrent four-writer updates, and unplug under load (zero splats, zero leaked LED nodes, clean rmmod). Everything else is unchanged: the hardware description, the scsi_device_handler that does not claim the sdev, the multicolor LED interface, the protocol handling and the known caveats (manual attach until a notifier lands; SAVE on every update writes the enclosure flash, wear uncharacterized; NULL-parent LED registration to avoid the sdev reference cycle). The open question from v3 and v4 stands: the driver is deliberately not wired into Kconfig/Makefile/MAINTAINERS yet, because the agreed direction with the SCSI side is a split into a SCSI transport helper and a shared ASUS Aura LED interface, and the wiring would follow that shape. Is deferring the wiring to that split acceptable for an RFC, or would you rather have the driver buildable in-tree from this series already? Comments on the interface shape and on folding this into the shared Aura work with Denis remain very welcome. Signed-off-by: Liang Haowen