mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Liang Haowen <nbg2974@gmail.com>
To: linux-leds@vger.kernel.org
Cc: Lee Jones <lee@kernel.org>, Pavel Machek <pavel@kernel.org>,
	Martin K. Petersen <mkp@kernel.org>,
	linux-scsi@vger.kernel.org, platform-driver-x86@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Denis Benato <denis.benato@linux.dev>,
	Armin Wolf <W_Armin@gmx.de>, Hans de Goede <hansg@kernel.org>,
	Ilpo Jarvinen <ilpo.jarvinen@linux.intel.com>
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	[thread overview]
Message-ID: <202609162015.RFCv5-0.lhw@gmail.com> (raw)

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 <nbg2974@gmail.com>

         reply	other threads:[~2026-09-16 12:15 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-01 14:26 [PATCH RFC 0/1] leds: add ASUS Aura SCSI " Liang Haowen
2026-09-01 14:34 ` [PATCH RFC 1/1] " Liang Haowen
2026-09-03 12:00   ` [PATCH RFC v2 0/1] leds: asus-aura-scsi: Add ASUS Aura RGB LED " Liang Haowen
2026-09-03 12:00   ` [PATCH RFC v2 1/1] " Liang Haowen
     [not found]     ` <20260903161357.GX2133376@google.com>
2026-09-04 12:30       ` [PATCH RFC v3 0/1] " Liang Haowen
2026-09-04 12:30         ` [PATCH RFC v3 1/1] " Liang Haowen
     [not found]           ` <20260904131503.355C41F00A3E@smtp.kernel.org>
     [not found]             ` <20260910093232.GO2133376@google.com>
2026-09-15 12:48               ` [PATCH RFC v4 0/1] " Liang Haowen
2026-09-15 12:49                 ` [PATCH RFC v4 1/1] " Liang Haowen
     [not found]                   ` <20260915130050.E8CDB1F000FF@smtp.kernel.org>
     [not found]                     ` <20260916104305.GM11487@google.com>
2026-09-16 12:15                       ` Liang Haowen [this message]
2026-09-16 12:15                         ` [PATCH RFC v5 " Liang Haowen
     [not found]                           ` <20260916122740.921E51F000FF@smtp.kernel.org>
     [not found]                             ` <20260916130602.GS11487@google.com>
2026-09-16 14:22                               ` [PATCH RFC v6 0/1] " Liang Haowen
2026-09-16 14:22                                 ` [PATCH RFC v6 1/1] " Liang Haowen
     [not found]                                   ` <20260916143832.520721F000FF@smtp.kernel.org>
     [not found]                                     ` <20260917112840.GJ1605367@google.com>
2026-09-17 11:49                                       ` Liang Haowen
2026-09-16 14:23                               ` [PATCH RFC v5 " Liang Haowen
2026-09-16 12:15                       ` [PATCH RFC v4 " Liang Haowen
2026-09-15 12:49               ` [PATCH RFC v3 " Liang Haowen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202609162015.RFCv5-0.lhw@gmail.com \
    --to=nbg2974@gmail.com \
    --cc=W_Armin@gmx.de \
    --cc=denis.benato@linux.dev \
    --cc=hansg@kernel.org \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mkp@kernel.org \
    --cc=pavel@kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®