Lines Matching defs:usb4

44 	struct usb4_port *usb4 = tb_to_usb4_port_device(dev);
45 struct tb_port *port = usb4->port;
53 link = port->sw->link_usb4 ? "usb4" : "tbt";
55 link = port->remote->sw->link_usb4 ? "usb4" : "tbt";
57 link = port->xdomain->link_usb4 ? "usb4" : "tbt";
76 static int usb4_port_offline(struct usb4_port *usb4)
78 struct tb_port *port = usb4->port;
100 static void usb4_port_online(struct usb4_port *usb4)
102 struct tb_port *port = usb4->port;
111 struct usb4_port *usb4 = tb_to_usb4_port_device(dev);
113 return sysfs_emit(buf, "%d\n", usb4->offline);
119 struct usb4_port *usb4 = tb_to_usb4_port_device(dev);
120 struct tb_port *port = usb4->port;
129 pm_runtime_get_sync(&usb4->dev);
136 if (val == usb4->offline)
146 ret = usb4_port_offline(usb4);
150 usb4_port_online(usb4);
154 usb4->offline = val;
160 pm_runtime_mark_last_busy(&usb4->dev);
161 pm_runtime_put_autosuspend(&usb4->dev);
170 struct usb4_port *usb4 = tb_to_usb4_port_device(dev);
171 struct tb_port *port = usb4->port;
183 pm_runtime_get_sync(&usb4->dev);
191 if (!usb4->offline) {
202 pm_runtime_mark_last_busy(&usb4->dev);
203 pm_runtime_put_autosuspend(&usb4->dev);
219 struct usb4_port *usb4 = tb_to_usb4_port_device(dev);
225 return usb4->can_offline ? attr->mode : 0;
241 struct usb4_port *usb4 = container_of(dev, struct usb4_port, dev);
243 kfree(usb4);
261 struct usb4_port *usb4;
264 usb4 = kzalloc(sizeof(*usb4), GFP_KERNEL);
265 if (!usb4)
268 usb4->port = port;
269 usb4->dev.type = &usb4_port_device_type;
270 usb4->dev.parent = &port->sw->dev;
271 dev_set_name(&usb4->dev, "usb4_port%d", port->port);
273 ret = device_register(&usb4->dev);
275 put_device(&usb4->dev);
279 if (dev_fwnode(&usb4->dev)) {
280 ret = component_add(&usb4->dev, &connector_ops);
282 dev_err(&usb4->dev, "failed to add component\n");
283 device_unregister(&usb4->dev);
288 device_set_wakeup_capable(&usb4->dev, true);
290 pm_runtime_no_callbacks(&usb4->dev);
291 pm_runtime_set_active(&usb4->dev);
292 pm_runtime_enable(&usb4->dev);
293 pm_runtime_set_autosuspend_delay(&usb4->dev, TB_AUTOSUSPEND_DELAY);
294 pm_runtime_mark_last_busy(&usb4->dev);
295 pm_runtime_use_autosuspend(&usb4->dev);
297 return usb4;
302 * @usb4: USB4 port device
307 void usb4_port_device_remove(struct usb4_port *usb4)
309 if (dev_fwnode(&usb4->dev))
310 component_del(&usb4->dev, &connector_ops);
311 device_unregister(&usb4->dev);
316 * @usb4: USB4 port device
320 int usb4_port_device_resume(struct usb4_port *usb4)
322 return usb4->offline ? usb4_port_offline(usb4) : 0;