[PATCH v20 1/8] i3c: master: Add APIs for I3C hub support

sashiko-bot at kernel.org sashiko-bot at kernel.org
Tue Sep 22 03:48:52 PDT 2026


Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] i3c: missing locking documentation for exported i3c_bus_set_addr_slot_status()
--

commit 732589b2fdab035a70a02657f4550d825edf46a1
Author: Aman Kumar Pandey <aman.kumarpandey at nxp.com>
Subject: i3c: master: Add APIs for I3C hub support

Add CCC helpers to check CCC support and send CCC commands, address slot
helpers to query and update I3C bus address slot state, registering virtual
masters with an explicit firmware node, and exposing the bus maintenance
lock helpers.

> diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c
> index 2cdbffd33fd7f..d1e8cae374b97 100644
> --- a/drivers/i3c/master.c
> +++ b/drivers/i3c/master.c
[ ... ]
> @@ -423,11 +435,18 @@ static void i3c_bus_set_addr_slot_status_mask(struct i3c_bus *bus, u16 addr,
>  	*ptr |= ((unsigned long)status & mask) << (bitpos % BITS_PER_LONG);
>  }
>  
> -static void i3c_bus_set_addr_slot_status(struct i3c_bus *bus, u16 addr,
> -					 enum i3c_addr_slot_status status)
> +/**
> + * i3c_bus_set_addr_slot_status() - Set I3C bus address slot status
> + * @bus: I3C bus.
> + * @addr: I3C address to update.
> + * @status: Address slot status to set.
> + */
> +void i3c_bus_set_addr_slot_status(struct i3c_bus *bus, u16 addr,
> +				  enum i3c_addr_slot_status status)

[Severity: Low]
Could the kernel-doc for this newly exported function be updated to document
the locking requirements?

Because i3c_bus_set_addr_slot_status() calls i3c_bus_set_addr_slot_status_mask(),
which modifies bus->addrslots using non-atomic bitwise operations, the caller
needs to hold the bus->lock (for example, by calling i3c_bus_maintenance_lock())
to prevent data races. Documenting this requirement would help prevent future
consumers of this API from introducing concurrency issues.

>  {
>  	i3c_bus_set_addr_slot_status_mask(bus, addr, status, I3C_ADDR_SLOT_STATUS_MASK);
>  }
> +EXPORT_SYMBOL_GPL(i3c_bus_set_addr_slot_status);

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260922103551.2754613-1-lakshay.piplani@nxp.com?part=1



More information about the linux-i3c mailing list