lkml.org 
[lkml]   [2018]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v7 01/10] i3c: Add core I3C infrastructure
Date

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

\
 
 \ /
  Last update: 2018-09-11 12:04    [W:0.729 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site