Lines Matching refs:usb4
16 struct usb4_port *usb4 = tb_to_usb4_port_device(dev); in link_show() local
17 struct tb_port *port = usb4->port; in link_show()
46 static int usb4_port_offline(struct usb4_port *usb4) in usb4_port_offline() argument
48 struct tb_port *port = usb4->port; in usb4_port_offline()
70 static void usb4_port_online(struct usb4_port *usb4) in usb4_port_online() argument
72 struct tb_port *port = usb4->port; in usb4_port_online()
81 struct usb4_port *usb4 = tb_to_usb4_port_device(dev); in offline_show() local
83 return sysfs_emit(buf, "%d\n", usb4->offline); in offline_show()
89 struct usb4_port *usb4 = tb_to_usb4_port_device(dev); in offline_store() local
90 struct tb_port *port = usb4->port; in offline_store()
99 pm_runtime_get_sync(&usb4->dev); in offline_store()
106 if (val == usb4->offline) in offline_store()
116 ret = usb4_port_offline(usb4); in offline_store()
120 usb4_port_online(usb4); in offline_store()
124 usb4->offline = val; in offline_store()
130 pm_runtime_mark_last_busy(&usb4->dev); in offline_store()
131 pm_runtime_put_autosuspend(&usb4->dev); in offline_store()
140 struct usb4_port *usb4 = tb_to_usb4_port_device(dev); in rescan_store() local
141 struct tb_port *port = usb4->port; in rescan_store()
153 pm_runtime_get_sync(&usb4->dev); in rescan_store()
161 if (!usb4->offline) { in rescan_store()
172 pm_runtime_mark_last_busy(&usb4->dev); in rescan_store()
173 pm_runtime_put_autosuspend(&usb4->dev); in rescan_store()
189 struct usb4_port *usb4 = tb_to_usb4_port_device(dev); in service_attr_is_visible() local
195 return usb4->can_offline ? attr->mode : 0; in service_attr_is_visible()
211 struct usb4_port *usb4 = container_of(dev, struct usb4_port, dev); in usb4_port_device_release() local
213 kfree(usb4); in usb4_port_device_release()
231 struct usb4_port *usb4; in usb4_port_device_add() local
234 usb4 = kzalloc(sizeof(*usb4), GFP_KERNEL); in usb4_port_device_add()
235 if (!usb4) in usb4_port_device_add()
238 usb4->port = port; in usb4_port_device_add()
239 usb4->dev.type = &usb4_port_device_type; in usb4_port_device_add()
240 usb4->dev.parent = &port->sw->dev; in usb4_port_device_add()
241 dev_set_name(&usb4->dev, "usb4_port%d", port->port); in usb4_port_device_add()
243 ret = device_register(&usb4->dev); in usb4_port_device_add()
245 put_device(&usb4->dev); in usb4_port_device_add()
249 pm_runtime_no_callbacks(&usb4->dev); in usb4_port_device_add()
250 pm_runtime_set_active(&usb4->dev); in usb4_port_device_add()
251 pm_runtime_enable(&usb4->dev); in usb4_port_device_add()
252 pm_runtime_set_autosuspend_delay(&usb4->dev, TB_AUTOSUSPEND_DELAY); in usb4_port_device_add()
253 pm_runtime_mark_last_busy(&usb4->dev); in usb4_port_device_add()
254 pm_runtime_use_autosuspend(&usb4->dev); in usb4_port_device_add()
256 return usb4; in usb4_port_device_add()
266 void usb4_port_device_remove(struct usb4_port *usb4) in usb4_port_device_remove() argument
268 device_unregister(&usb4->dev); in usb4_port_device_remove()
277 int usb4_port_device_resume(struct usb4_port *usb4) in usb4_port_device_resume() argument
279 return usb4->offline ? usb4_port_offline(usb4) : 0; in usb4_port_device_resume()