[PATCH 0/8] i3c: Hot-Join improvements and MIPI HCI Hot-Join support

From: Adrian Hunter

Date: Tue May 12 2026 - 08:25:38 EST


Hi

This series tightens the I3C core's handling of Hot-Join across system
suspend, shutdown and unregister, consolidates the per-driver Hot-Join
worker into the core, and finally wires the MIPI I3C HCI driver into the
new Hot-Join framework.

It applies on top of:

https://lore.kernel.org/linux-i3c/20260504113352.38490-1-adrian.hunter@xxxxxxxxx/

Patches 1-2 fix latent races in the existing Hot-Join machinery
(suspend vs. Hot-Join work, and concurrent sysfs writers).

Patches 3-5 consolidate the per-driver Hot-Join worker into the core
and add proper teardown via an i3c_bus_type shutdown callback.

Patch 6 defers driver-model registration of newly discovered devices
out of the DAA caller's context, so resume-time DAA does not push
device probing into the controller's resume sequence.

Patches 7-8 add Hot-Join support to MIPI I3C HCI.


Adrian Hunter (8):
i3c: master: Make hot-join workqueue freezable to block hot-join during suspend
i3c: master: Serialize i3c_set_hotjoin() with the maintenance lock
i3c: master: Consolidate Hot-Join DAA work in the core
i3c: master: Ensure Hot-Join operations are stopped on shutdown
i3c: dw: Drop redundant Hot-Join cancel_work_sync() in shutdown
i3c: master: Defer new-device registration out of DAA caller context
i3c: master: Export i3c_master_enec_disec_locked()
i3c: mipi-i3c-hci: Add Hot-Join support

drivers/i3c/master.c | 123 ++++++++++++++++++++++++++-------
drivers/i3c/master/dw-i3c-master.c | 15 +---
drivers/i3c/master/dw-i3c-master.h | 2 -
drivers/i3c/master/i3c-master-cdns.c | 14 +---
drivers/i3c/master/mipi-i3c-hci/core.c | 50 +++++++++++++-
drivers/i3c/master/mipi-i3c-hci/dma.c | 5 ++
drivers/i3c/master/mipi-i3c-hci/hci.h | 1 +
drivers/i3c/master/mipi-i3c-hci/pio.c | 5 ++
drivers/i3c/master/svc-i3c-master.c | 14 +---
include/linux/i3c/master.h | 16 ++++-
10 files changed, 174 insertions(+), 71 deletions(-)


Regards
Adrian