Lines Matching full:multi
3 * I2C multi-instantiate driver, pseudo driver to instantiate multiple
61 struct i2c_multi_inst_data *multi; in i2c_multi_inst_probe() local
84 multi = devm_kmalloc(dev, struct_size(multi, clients, ret), GFP_KERNEL); in i2c_multi_inst_probe()
85 if (!multi) in i2c_multi_inst_probe()
88 multi->num_clients = ret; in i2c_multi_inst_probe()
90 for (i = 0; i < multi->num_clients && inst_data[i].type; i++) { in i2c_multi_inst_probe()
119 multi->clients[i] = i2c_acpi_new_device(dev, i, &board_info); in i2c_multi_inst_probe()
120 if (IS_ERR(multi->clients[i])) { in i2c_multi_inst_probe()
121 ret = PTR_ERR(multi->clients[i]); in i2c_multi_inst_probe()
127 if (i < multi->num_clients) { in i2c_multi_inst_probe()
133 platform_set_drvdata(pdev, multi); in i2c_multi_inst_probe()
138 i2c_unregister_device(multi->clients[i]); in i2c_multi_inst_probe()
145 struct i2c_multi_inst_data *multi = platform_get_drvdata(pdev); in i2c_multi_inst_remove() local
148 for (i = 0; i < multi->num_clients; i++) in i2c_multi_inst_remove()
149 i2c_unregister_device(multi->clients[i]); in i2c_multi_inst_remove()
191 .name = "I2C multi instantiate pseudo device driver",
199 MODULE_DESCRIPTION("I2C multi instantiate pseudo device driver");