Messages in this thread | | | From | vitor <> | Subject | Re: [PATCH v7 01/10] i3c: Add core I3C infrastructure | Date | Tue, 11 Sep 2018 11:04:07 +0100 |
| |
Hi Boris,
On 05-09-2018 16:40, Boris Brezillon wrote: > +i3c_master_register_new_i3c_devs(struct i3c_master_controller *master) > +{ > + struct i3c_dev_desc *desc; > + int ret; > + > + if (!master->init_done) > + return; > + If you have a hot-join and call i3c_master_do_daa this function will return without create the i3c_device.
> + i3c_bus_for_each_i3cdev(master->bus, desc) { > + if (desc->dev || !desc->info.dyn_addr || desc == master->this) > + continue; > + > + desc->dev = kzalloc(sizeof(*desc->dev), GFP_KERNEL); > + if (!desc->dev) > + continue; > + > + desc->dev->bus = master->bus; > + desc->dev->desc = desc; > + desc->dev->dev.parent = &master->bus->dev; > + desc->dev->dev.type = &i3c_device_type; > + desc->dev->dev.bus = &i3c_bus_type; > + desc->dev->dev.release = i3c_device_release; > + dev_set_name(&desc->dev->dev, "%d-%llx", master->bus->id, > + desc->info.pid); > + > + if (desc->boardinfo) > + desc->dev->dev.of_node = desc->boardinfo->of_node; > + > + ret = device_register(&desc->dev->dev); > + if (ret) > + dev_err(master->parent, > + "Failed to add I3C device (err = %d)\n", ret); > + } > +} >
Best regards, Vitor Soares
| |