Messages in this thread Patch in this message | | | Date | Thu, 5 Jan 2023 16:29:52 -0500 | Subject | [PATCH] i3c: transfer pid from boardinfo to device info | From | Jack Chen <> |
| |
I3C device PID could be defined in device tree and stored in i3c_dev_boardinfo. It should be passed to i3c_device_info when allocating a i3c_dev_desc. Rational behind this change is: when users decide to use SETDASA to assign a dynamic address with exactly the original static address, in step of i3c_master_reattach_i3c_dev, this address is checked to be taken. Then device information retrieving step is skipped. As a result, though the i3c device is registered correctly, its device driver could not be probed.
Tested: Tested with a I3C device. If assigned-address is set to be the device's static address, without this change, its device driver could not probed. And with this change, its driver is probed successfully.
Signed-off-by: Jack Chen <zenghuchen@google.com> --- drivers/i3c/master.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c index d7e6f6c99aea..4dad80338831 100644 --- a/drivers/i3c/master.c +++ b/drivers/i3c/master.c @@ -1438,6 +1438,7 @@ static int i3c_master_early_i3c_dev_add(struct i3c_master_controller *master, { struct i3c_device_info info = { .static_addr = boardinfo->static_addr, + .pid = boardinfo->pid, }; struct i3c_dev_desc *i3cdev; int ret; -- 2.39.0.314.g84b9a713c41-goog
| |