summaryrefslogtreecommitdiff
path: root/drivers/i3c
diff options
context:
space:
mode:
authorZbigniew Lukwinski <zbigniew.lukwinski@linux.intel.com>2022-03-10 12:23:17 +0300
committerZbigniew Lukwinski <zbigniew.lukwinski@linux.intel.com>2022-04-13 10:00:06 +0300
commit75c368db3b4ba1a5b29a0c5e4bc594fa07152e84 (patch)
tree1def76038b748e03380e3ed7ae1b6be7b9ba5325 /drivers/i3c
parentcabd83ebe9d015c60012f5e78c340ac2b001ec98 (diff)
downloadlinux-75c368db3b4ba1a5b29a0c5e4bc594fa07152e84.tar.xz
i3c: master: Do not add device for HUB
Current implementation tries to add device for each DT entry. In case I3C HUB we do not want add device 'manually', using DT. I3C HUB shall be discovered dynamically. But DT entry for I3C HUB is required. Thus master driver shall not add device for HUB entry in DT. Signed-off-by: Zbigniew Lukwinski <zbigniew.lukwinski@linux.intel.com>
Diffstat (limited to 'drivers/i3c')
-rw-r--r--drivers/i3c/master.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c
index 737052ec2d0c..2fc9f4d7a708 100644
--- a/drivers/i3c/master.c
+++ b/drivers/i3c/master.c
@@ -2213,10 +2213,12 @@ static int of_populate_i3c_bus(struct i3c_master_controller *master)
}
for_each_available_child_of_node(i3cbus_np, node) {
- ret = of_i3c_master_add_dev(master, node);
- if (ret) {
- of_node_put(node);
- return ret;
+ if (node->name && of_node_cmp(node->name, "hub")) {
+ ret = of_i3c_master_add_dev(master, node);
+ if (ret) {
+ of_node_put(node);
+ return ret;
+ }
}
}