aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i3c
diff options
context:
space:
mode:
authorJack Chen <zenghuchen@google.com>2023-01-05 16:29:52 -0500
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2023-02-25 23:03:51 +0100
commitf195c470f2c2cf3737b2b157a5a2dbe182e374fa (patch)
tree66ea9188b09c2ee45c70f37fd35522927bd3d814 /drivers/i3c
parent1b929c02afd37871d5afb9d498426f83432e71c2 (diff)
downloadlinux-f195c470f2c2cf3737b2b157a5a2dbe182e374fa.tar.gz
i3c: transfer pid from boardinfo to device info
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> Link: https://lore.kernel.org/r/20230105212952.56321-1-zenghuchen@google.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'drivers/i3c')
-rw-r--r--drivers/i3c/master.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c
index d7e6f6c99aea5..4dad80338831d 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;