Re: [PATCH v9 1/7] i3c: master: Expose the APIs to support I3C hub
From: Frank Li
Date: Mon Apr 20 2026 - 23:05:09 EST
On Mon, Apr 20, 2026 at 04:22:16PM +0530, Lakshay Piplani wrote:
> From: Aman Kumar Pandey <aman.kumarpandey@xxxxxxx>
>
> The following APIs were already declared in i3c_internals.h but were
> missing EXPORT_SYMBOL_GPL() in their implementation, making them
> inaccessible to modular drivers such as the I3C hub driver:
>
> 1) i3c_dev_enable_ibi_locked()
> 2) i3c_dev_disable_ibi_locked()
> 3) i3c_dev_request_ibi_locked()
> 4) i3c_dev_free_ibi_locked()
>
> i3c_master_reattach_i3c_dev() is declared in include/linux/i3c/master.h
> and exported via EXPORT_SYMBOL_GPL() to make it accessible to the I3C
> hub driver.
>
> Signed-off-by: Aman Kumar Pandey <aman.kumarpandey@xxxxxxx>
> Signed-off-by: Lakshay Piplani <lakshay.piplani@xxxxxxx>
>
> ---
...
> -static int i3c_master_reattach_i3c_dev(struct i3c_dev_desc *dev,
> - u8 old_dyn_addr)
> +/**
> + * i3c_master_reattach_i3c_dev() - reattach an I3C device with a new address
> + * @dev: I3C device descriptor to reattach
> + * @old_dyn_addr: previous dynamic address of the device
> + *
> + * This function reattaches an existing I3C device to the bus when its dynamic
> + * address has changed. It updates the bus address slot status accordingly:
> + * - Marks the new dynamic address as occupied by an I3C device.
> + * - Frees the old dynamic address slot if applicable.
> + *
> + * This function must be called with the bus lock held in write mode.
If this function required lock, please add new patch before this one to
rename to i3c_master_reattach_i3c_dev_lock() to keep consistent with
others.
Frank
>