Lines Matching defs:i3cdev

280 	const struct i3c_device *i3cdev = dev_to_i3cdev(dev);
284 i3c_device_get_info(i3cdev, &devinfo);
305 struct i3c_device *i3cdev;
311 i3cdev = dev_to_i3cdev(dev);
313 if (i3c_device_match_id(i3cdev, i3cdrv->id_table))
321 struct i3c_device *i3cdev = dev_to_i3cdev(dev);
324 return driver->probe(i3cdev);
329 struct i3c_device *i3cdev = dev_to_i3cdev(dev);
333 driver->remove(i3cdev);
335 i3c_device_free_ibi(i3cdev);
848 struct i3c_device *i3cdev = dev_to_i3cdev(dev);
850 WARN_ON(i3cdev->desc);
852 of_node_put(i3cdev->dev.of_node);
853 kfree(i3cdev);
1024 struct i3c_dev_desc *i3cdev;
1035 i3c_bus_for_each_i3cdev(bus, i3cdev) {
1038 if (i3cdev == master->this)
1041 if (I3C_BCR_DEVICE_ROLE(i3cdev->info.bcr) ==
1072 i3c_bus_for_each_i3cdev(bus, i3cdev) {
1074 if (i3cdev == master->this)
1077 desc->bcr = i3cdev->info.bcr;
1078 desc->dcr = i3cdev->info.dcr;
1079 desc->dyn_addr = i3cdev->info.dyn_addr << 1;
1080 desc->static_addr = i3cdev->info.static_addr << 1;
1581 struct i3c_dev_desc *i3cdev;
1584 i3cdev = i3c_master_alloc_i3c_dev(master, &info);
1585 if (IS_ERR(i3cdev))
1588 i3cdev->boardinfo = boardinfo;
1590 ret = i3c_master_attach_i3c_dev(master, i3cdev);
1594 ret = i3c_master_setdasa_locked(master, i3cdev->info.static_addr,
1595 i3cdev->boardinfo->init_dyn_addr);
1599 i3cdev->info.dyn_addr = i3cdev->boardinfo->init_dyn_addr;
1600 ret = i3c_master_reattach_i3c_dev(i3cdev, 0);
1604 ret = i3c_master_retrieve_dev_info(i3cdev);
1611 i3c_master_rstdaa_locked(master, i3cdev->boardinfo->init_dyn_addr);
1613 i3c_master_detach_i3c_dev(i3cdev);
1615 i3c_master_free_i3c_dev(i3cdev);
1719 struct i3c_dev_desc *i3cdev;
1732 i3cdev = i3c_master_alloc_i3c_dev(master, info);
1733 if (IS_ERR(i3cdev))
1734 return PTR_ERR(i3cdev);
1736 master->this = i3cdev;
1739 ret = i3c_master_attach_i3c_dev(master, i3cdev);
1746 i3c_master_free_i3c_dev(i3cdev);
1754 struct i3c_dev_desc *i3cdev, *i3ctmp;
1757 list_for_each_entry_safe(i3cdev, i3ctmp, &master->bus.devs.i3c,
1759 i3c_master_detach_i3c_dev(i3cdev);
1761 if (i3cdev->boardinfo && i3cdev->boardinfo->init_dyn_addr)
1763 i3cdev->boardinfo->init_dyn_addr,
1766 i3c_master_free_i3c_dev(i3cdev);
1950 static void i3c_master_attach_boardinfo(struct i3c_dev_desc *i3cdev)
1952 struct i3c_master_controller *master = i3cdev->common.master;
1956 if (i3cdev->info.pid != i3cboardinfo->pid)
1959 i3cdev->boardinfo = i3cboardinfo;
1960 i3cdev->info.static_addr = i3cboardinfo->static_addr;
1969 struct i3c_dev_desc *i3cdev;
1971 i3c_bus_for_each_i3cdev(&master->bus, i3cdev) {
1972 if (i3cdev != refdev && i3cdev->info.pid == refdev->info.pid)
1973 return i3cdev;
2473 struct i3c_dev_desc *i3cdev;
2475 i3c_bus_for_each_i3cdev(&master->bus, i3cdev) {
2476 if (!i3cdev->dev)
2479 i3cdev->dev->desc = NULL;
2480 if (device_is_registered(&i3cdev->dev->dev))
2481 device_unregister(&i3cdev->dev->dev);
2483 put_device(&i3cdev->dev->dev);
2484 i3cdev->dev = NULL;