On Thu, 22 Jan 2026, Joshua Yeong wrote: > On Friday, January 23, 2026 1:58 AM, David Nyström wrote: > >> Add the ability to rescan the i3c bus from userspace, i.e. provoke a DDA. >> The usecase could be f.ex. an i3cdev userspace driver for a device with broken hotjoin support. If the i3c device boots slowly, it might be miss the DDA during boot. >> >> Signed-off-by: David Nyström >> --- > > Can we rename rescan to something where indicate we are only doing ENTDAA? I think rescan keyword should be reserved for complete rescan of i3c bus. > DISEC -> RSTDAA -> ENTDAA -> ... Are you referring to clarifying wording in the commit message, or the sysfs interface naming ? What would be your suggestion, restore -> entdaa ? >> Changes in v2: >> - Improved the commit message with "why". >> - Link to v1: https://patch.msgid.link/20260122-i3c_rescan-v1-1-0c17071e232b@est.tech >> --- >> drivers/i3c/master.c | 24 ++++++++++++++++++++++++ >> 1 file changed, 24 insertions(+) >> >> diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c index 80dda0e85558..edeae7493b3b 100644 >> --- a/drivers/i3c/master.c >> +++ b/drivers/i3c/master.c >> @@ -758,6 +758,29 @@ static ssize_t dev_nack_retry_count_store(struct device *dev, >> >> static DEVICE_ATTR_RW(dev_nack_retry_count); >> >> +static ssize_t rescan_store(struct device *dev, >> + struct device_attribute *attr, >> + const char *buf, size_t count) >> +{ >> + struct i3c_master_controller *master = dev_to_i3cmaster(dev); >> + unsigned long val; >> + int ret; >> + >> + ret = kstrtoul(buf, 0, &val); >> + if (ret) >> + return ret; >> + >> + if (val) { >> + ret = i3c_master_do_daa(master); >> + if (ret) >> + return ret; >> + } >> + >> + return count; >> +} >> + >> +static DEVICE_ATTR_WO(rescan); >> + >> static struct attribute *i3c_masterdev_attrs[] = { >> &dev_attr_mode.attr, >> &dev_attr_current_master.attr, >> @@ -769,6 +792,7 @@ static struct attribute *i3c_masterdev_attrs[] = { >> &dev_attr_dynamic_address.attr, >> &dev_attr_hdrcap.attr, >> &dev_attr_hotjoin.attr, >> + &dev_attr_rescan.attr, >> NULL, >> }; >> ATTRIBUTE_GROUPS(i3c_masterdev); >> >> --- >> base-commit: e3b32dcb9f23e3c3927ef3eec6a5842a988fb574 >> change-id: 20260116-i3c_rescan-4921d0b41a00 >> >> Best regards, >> -- >> David Nyström >> >> >> -- >> linux-i3c mailing list >> linux-i3c@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-i3c >