Lines Matching refs:smbdev

34 	struct psmouse_smbus_dev *smbdev;  in psmouse_smbus_check_adapter()  local
41 list_for_each_entry(smbdev, &psmouse_smbus_list, node) { in psmouse_smbus_check_adapter()
42 if (smbdev->dead) in psmouse_smbus_check_adapter()
45 if (smbdev->client) in psmouse_smbus_check_adapter()
55 psmouse_dbg(smbdev->psmouse, in psmouse_smbus_check_adapter()
57 serio_rescan(smbdev->psmouse->ps2dev.serio); in psmouse_smbus_check_adapter()
65 struct psmouse_smbus_dev *smbdev, *tmp; in psmouse_smbus_detach_i2c_client() local
69 list_for_each_entry_safe(smbdev, tmp, &psmouse_smbus_list, node) { in psmouse_smbus_detach_i2c_client()
70 if (smbdev->client != client) in psmouse_smbus_detach_i2c_client()
76 if (!smbdev->dead) { in psmouse_smbus_detach_i2c_client()
77 psmouse_dbg(smbdev->psmouse, in psmouse_smbus_detach_i2c_client()
79 dev_name(&smbdev->client->dev)); in psmouse_smbus_detach_i2c_client()
80 smbdev->dead = true; in psmouse_smbus_detach_i2c_client()
81 serio_rescan(smbdev->psmouse->ps2dev.serio); in psmouse_smbus_detach_i2c_client()
83 list_del(&smbdev->node); in psmouse_smbus_detach_i2c_client()
84 kfree(smbdev); in psmouse_smbus_detach_i2c_client()
122 struct psmouse_smbus_dev *smbdev = psmouse->private; in psmouse_smbus_reconnect() local
124 if (smbdev->need_deactivate) in psmouse_smbus_reconnect()
171 struct psmouse_smbus_dev *smbdev = psmouse->private; in psmouse_smbus_disconnect() local
175 if (smbdev->dead) { in psmouse_smbus_disconnect()
176 list_del(&smbdev->node); in psmouse_smbus_disconnect()
177 kfree(smbdev); in psmouse_smbus_disconnect()
179 smbdev->dead = true; in psmouse_smbus_disconnect()
180 psmouse_dbg(smbdev->psmouse, in psmouse_smbus_disconnect()
182 dev_name(&smbdev->client->dev)); in psmouse_smbus_disconnect()
183 psmouse_smbus_schedule_remove(smbdev->client); in psmouse_smbus_disconnect()
193 struct psmouse_smbus_dev *smbdev = data; in psmouse_smbus_create_companion() local
194 unsigned short addr_list[] = { smbdev->board.addr, I2C_CLIENT_END }; in psmouse_smbus_create_companion()
204 smbdev->client = i2c_new_probed_device(adapter, &smbdev->board, in psmouse_smbus_create_companion()
206 if (!smbdev->client) in psmouse_smbus_create_companion()
215 struct psmouse_smbus_dev *smbdev, *tmp; in psmouse_smbus_cleanup() local
219 list_for_each_entry_safe(smbdev, tmp, &psmouse_smbus_list, node) { in psmouse_smbus_cleanup()
220 if (psmouse == smbdev->psmouse) { in psmouse_smbus_cleanup()
221 list_del(&smbdev->node); in psmouse_smbus_cleanup()
222 kfree(smbdev); in psmouse_smbus_cleanup()
235 struct psmouse_smbus_dev *smbdev; in psmouse_smbus_init() local
238 smbdev = kzalloc(sizeof(*smbdev), GFP_KERNEL); in psmouse_smbus_init()
239 if (!smbdev) in psmouse_smbus_init()
242 smbdev->psmouse = psmouse; in psmouse_smbus_init()
243 smbdev->board = *board; in psmouse_smbus_init()
244 smbdev->need_deactivate = need_deactivate; in psmouse_smbus_init()
247 smbdev->board.platform_data = kmemdup(pdata, pdata_size, in psmouse_smbus_init()
249 if (!smbdev->board.platform_data) { in psmouse_smbus_init()
250 kfree(smbdev); in psmouse_smbus_init()
258 psmouse->private = smbdev; in psmouse_smbus_init()
266 list_add_tail(&smbdev->node, &psmouse_smbus_list); in psmouse_smbus_init()
270 error = i2c_for_each_dev(smbdev, psmouse_smbus_create_companion); in psmouse_smbus_init()
272 if (smbdev->client) { in psmouse_smbus_init()
281 kfree(smbdev->board.platform_data); in psmouse_smbus_init()
282 smbdev->board.platform_data = NULL; in psmouse_smbus_init()
286 list_del(&smbdev->node); in psmouse_smbus_init()
289 kfree(smbdev); in psmouse_smbus_init()