[PATCH] i3c: transfer pid from boardinfo to device info

Jack Chen posted 1 patch 2 years, 8 months ago
drivers/i3c/master.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] i3c: transfer pid from boardinfo to device info
Posted by Jack Chen 2 years, 8 months ago
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
Re: [PATCH] i3c: transfer pid from boardinfo to device info
Posted by Alexandre Belloni 2 years, 8 months ago
On Thu, 05 Jan 2023 16:29:52 -0500, Jack Chen wrote:
> 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.
> 
> [...]

Applied, thanks!

[1/1] i3c: transfer pid from boardinfo to device info
      commit: e826acc18bc7bdf4278bf8928caa3a0cd4065432

Best regards,

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com