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

Adrian Hunter adrian.hunter at intel.com
Mon May 18 04:55:11 PDT 2026


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@intel.com/

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.


Changes in V2:

    i3c: master: Make hot-join workqueue freezable to block hot-join during suspend
	Add Fixes tag
	Add Frank's Rev'd by

    i3c: master: Serialize i3c_set_hotjoin() with the maintenance lock
	Add Fixes tag

    i3c: master: Consolidate Hot-Join DAA work in the core
	Add Frank's Rev'd by

    i3c: master: Ensure Hot-Join operations are stopped on shutdown
	Add dependency note to commit message
	Add Fixes tag
	Add Frank's Rev'd by

    i3c: dw: Drop redundant Hot-Join cancel_work_sync() in shutdown
	Add Frank's Rev'd by

    i3c: master: Defer new-device registration out of DAA caller context
	Add comment about reg_work use
	Add Fixes tag

    i3c: master: Export i3c_master_enec_disec_locked()
	Add Frank's Rev'd by

    i3c: mipi-i3c-hci: Add Hot-Join support
	Add Frank's Rev'd by


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                   | 129 ++++++++++++++++++++++++++-------
 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, 179 insertions(+), 72 deletions(-)


Regards
Adrian



More information about the linux-i3c mailing list