[PATCH V3 08/14] i3c: master: Support IBI-based wakeup capability
Mukesh Savaliya
mukesh.savaliya at oss.qualcomm.com
Tue Aug 4 11:21:18 PDT 2026
On 8/4/2026 7:08 PM, Adrian Hunter wrote:
[...]
> diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c
> index e7ea41007889..e6b320da475e 100644
> --- a/drivers/i3c/master.c
> +++ b/drivers/i3c/master.c
> @@ -2110,6 +2110,13 @@ i3c_master_register_new_i3c_devs(struct i3c_master_controller *master)
> if (desc->boardinfo)
> device_set_node(&desc->dev->dev, desc->boardinfo->fwnode);
>
> + /*
> + * In the case of IBI wakeup, any IBI-capable device can
> + * wakeup.
you are registering a particular device to the master, so why "any
IBI-capable device " ?
"If device has IBI capability, mark as wakeup capable" to simplify
comment ?
> + */
> + if (master->ibi_wakeup && (desc->info.bcr & I3C_BCR_IBI_REQ_CAP))
> + device_set_wakeup_capable(&desc->dev->dev, true);
> +
> list_add_tail(&desc->dev->node, &i3c_unreg_devs);
> }
>
> diff --git a/include/linux/i3c/master.h b/include/linux/i3c/master.h
> index 2b96c4ea75fb..16394aca7230 100644
> --- a/include/linux/i3c/master.h
> +++ b/include/linux/i3c/master.h
> @@ -523,6 +523,7 @@ struct i3c_master_controller_ops {
> * @hotjoin: true if the master support hotjoin
> * @rpm_allowed: true if Runtime PM allowed
> * @rpm_ibi_allowed: true if IBI and Hot-Join allowed while runtime suspended
> + * @ibi_wakeup: IBI can wakeup the system
> * @shutting_down: set to true when master begins shutdown or unregister
> * @boardinfo.i3c: list of I3C boardinfo objects
> * @boardinfo.i2c: list of I2C boardinfo objects
> @@ -562,6 +563,7 @@ struct i3c_master_controller {
> unsigned int hotjoin: 1;
> unsigned int rpm_allowed: 1;
> unsigned int rpm_ibi_allowed: 1;
> + unsigned int ibi_wakeup: 1;
> bool shutting_down;
> struct {
> struct list_head i3c;
More information about the linux-i3c
mailing list