Lines Matching refs:port1
114 static int hub_port_disable(struct usb_hub *hub, int port1, int set_state);
115 static bool hub_port_warm_reset_required(struct usb_hub *hub, int port1,
420 int usb_clear_port_feature(struct usb_device *hdev, int port1, int feature) in usb_clear_port_feature() argument
423 USB_REQ_CLEAR_FEATURE, USB_RT_PORT, feature, port1, in usb_clear_port_feature()
430 static int set_port_feature(struct usb_device *hdev, int port1, int feature) in set_port_feature() argument
433 USB_REQ_SET_FEATURE, USB_RT_PORT, feature, port1, in set_port_feature()
457 static void set_port_led(struct usb_hub *hub, int port1, int selector) in set_port_led() argument
459 struct usb_port *port_dev = hub->ports[port1 - 1]; in set_port_led()
462 status = set_port_feature(hub->hdev, (selector << 8) | port1, in set_port_led()
566 static int get_port_status(struct usb_device *hdev, int port1, in get_port_status() argument
575 port1, data, length, USB_STS_TIMEOUT); in get_port_status()
580 static int hub_ext_port_status(struct usb_hub *hub, int port1, int type, in hub_ext_port_status() argument
590 ret = get_port_status(hub->hdev, port1, &hub->status->port, type, len); in hub_ext_port_status()
609 static int hub_port_status(struct usb_hub *hub, int port1, in hub_port_status() argument
612 return hub_ext_port_status(hub, port1, HUB_PORT_STATUS, in hub_port_status()
825 int port1, bool set) in usb_hub_set_port_power() argument
830 ret = set_port_feature(hdev, port1, USB_PORT_FEAT_POWER); in usb_hub_set_port_power()
832 ret = usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_POWER); in usb_hub_set_port_power()
838 set_bit(port1, hub->power_bits); in usb_hub_set_port_power()
840 clear_bit(port1, hub->power_bits); in usb_hub_set_port_power()
902 int port1; in hub_power_on() local
915 for (port1 = 1; port1 <= hub->hdev->maxchild; port1++) in hub_power_on()
916 if (test_bit(port1, hub->power_bits)) in hub_power_on()
917 set_port_feature(hub->hdev, port1, USB_PORT_FEAT_POWER); in hub_power_on()
919 usb_clear_port_feature(hub->hdev, port1, in hub_power_on()
945 static int hub_set_port_link_state(struct usb_hub *hub, int port1, in hub_set_port_link_state() argument
949 port1 | (link_status << 3), in hub_set_port_link_state()
958 static void hub_port_logical_disconnect(struct usb_hub *hub, int port1) in hub_port_logical_disconnect() argument
960 dev_dbg(&hub->ports[port1 - 1]->dev, "logical disconnect\n"); in hub_port_logical_disconnect()
961 hub_port_disable(hub, port1, 1); in hub_port_logical_disconnect()
972 set_bit(port1, hub->change_bits); in hub_port_logical_disconnect()
1022 int port1; in hub_activate() local
1113 for (port1 = 1; port1 <= hdev->maxchild; ++port1) { in hub_activate()
1114 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_activate()
1119 status = hub_port_status(hub, port1, &portstatus, &portchange); in hub_activate()
1146 usb_clear_port_feature(hdev, port1, in hub_activate()
1152 hub_port_warm_reset_required(hub, port1, portstatus)) in hub_activate()
1153 set_bit(port1, hub->event_bits); in hub_activate()
1168 usb_clear_port_feature(hub->hdev, port1, in hub_activate()
1173 usb_clear_port_feature(hub->hdev, port1, in hub_activate()
1178 usb_clear_port_feature(hub->hdev, port1, in hub_activate()
1184 usb_clear_port_feature(hub->hdev, port1, in hub_activate()
1192 clear_bit(port1, hub->removed_bits); in hub_activate()
1205 set_bit(port1, hub->change_bits); in hub_activate()
1221 set_bit(port1, hub->change_bits); in hub_activate()
1230 if (test_bit(port1, hub->power_bits)) in hub_activate()
1231 set_bit(port1, hub->change_bits); in hub_activate()
1236 set_bit(port1, hub->change_bits); in hub_activate()
1705 int port1; in hub_disconnect() local
1721 port1 = hdev->maxchild; in hub_disconnect()
1726 for (; port1 > 0; --port1) in hub_disconnect()
1727 usb_hub_remove_port_device(hub, port1); in hub_disconnect()
1928 static int find_port_owner(struct usb_device *hdev, unsigned port1, in find_port_owner() argument
1935 if (port1 == 0 || port1 > hdev->maxchild) in find_port_owner()
1941 *ppowner = &(hub->ports[port1 - 1]->port_owner); in find_port_owner()
1946 int usb_hub_claim_port(struct usb_device *hdev, unsigned port1, in usb_hub_claim_port() argument
1952 rc = find_port_owner(hdev, port1, &powner); in usb_hub_claim_port()
1962 int usb_hub_release_port(struct usb_device *hdev, unsigned port1, in usb_hub_release_port() argument
1968 rc = find_port_owner(hdev, port1, &powner); in usb_hub_release_port()
2192 int port1 = 1; in usb_disconnect() local
2221 port1 = udev->portnum; in usb_disconnect()
2223 port_dev = hub->ports[port1 - 1]; in usb_disconnect()
2232 if (!test_and_set_bit(port1, hub->child_usage_bits)) in usb_disconnect()
2255 if (port_dev && test_and_clear_bit(port1, hub->child_usage_bits)) in usb_disconnect()
2317 unsigned port1 = udev->portnum; in usb_enumerate_device_otg() local
2327 (port1 == bus->otg_port) ? "" : "non-"); in usb_enumerate_device_otg()
2330 if (port1 == bus->otg_port) { in usb_enumerate_device_otg()
2563 int port1 = udev->portnum; in usb_new_device() local
2564 struct usb_port *port_dev = hub->ports[port1 - 1]; in usb_new_device()
2578 if (!test_and_set_bit(port1, hub->child_usage_bits)) in usb_new_device()
2759 static bool hub_port_warm_reset_required(struct usb_hub *hub, int port1, in hub_port_warm_reset_required() argument
2767 if (test_bit(port1, hub->warm_reset_bits)) in hub_port_warm_reset_required()
2775 static int hub_port_wait_reset(struct usb_hub *hub, int port1, in hub_port_wait_reset() argument
2791 ret = hub_ext_port_status(hub, port1, in hub_port_wait_reset()
2796 ret = hub_port_status(hub, port1, &portstatus, in hub_port_wait_reset()
2816 dev_dbg(&hub->ports[port1 - 1]->dev, in hub_port_wait_reset()
2824 if (hub_port_warm_reset_required(hub, port1, portstatus)) in hub_port_wait_reset()
2837 usb_clear_port_feature(hub->hdev, port1, in hub_port_wait_reset()
2874 static int hub_port_reset(struct usb_hub *hub, int port1, in hub_port_reset() argument
2879 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_port_reset()
2897 if (hub_port_status(hub, port1, &portstatus, &portchange) == 0) in hub_port_reset()
2898 if (hub_port_warm_reset_required(hub, port1, in hub_port_reset()
2902 clear_bit(port1, hub->warm_reset_bits); in hub_port_reset()
2906 status = set_port_feature(hub->hdev, port1, (warm ? in hub_port_reset()
2916 status = hub_port_wait_reset(hub, port1, udev, delay, in hub_port_reset()
2926 usb_clear_port_feature(hub->hdev, port1, in hub_port_reset()
2932 usb_clear_port_feature(hub->hdev, port1, in hub_port_reset()
2934 usb_clear_port_feature(hub->hdev, port1, in hub_port_reset()
2938 usb_clear_port_feature(hub->hdev, port1, in hub_port_reset()
2945 if (hub_port_status(hub, port1, in hub_port_reset()
2949 if (!hub_port_warm_reset_required(hub, port1, in hub_port_reset()
3063 struct usb_hub *hub, int port1, in check_port_resume_type() argument
3066 struct usb_port *port_dev = hub->ports[port1 - 1]; in check_port_resume_type()
3072 && hub_port_warm_reset_required(hub, port1, portstatus)) { in check_port_resume_type()
3083 status = hub_port_status(hub, port1, &portstatus, in check_port_resume_type()
3107 usb_clear_port_feature(hub->hdev, port1, in check_port_resume_type()
3110 usb_clear_port_feature(hub->hdev, port1, in check_port_resume_type()
3120 clear_bit(port1, hub->change_bits); in check_port_resume_type()
3282 int port1 = udev->portnum; in usb_port_suspend() local
3317 status = hub_set_port_link_state(hub, port1, USB_SS_PORT_LS_U3); in usb_port_suspend()
3331 status = set_port_feature(hub->hdev, port1, in usb_port_suspend()
3367 && test_and_clear_bit(port1, hub->child_usage_bits)) in usb_port_suspend()
3495 struct usb_hub *hub, int *port1, in wait_for_connected() argument
3509 status = hub_port_status(hub, *port1, portstatus, portchange); in wait_for_connected()
3553 int port1 = udev->portnum; in usb_port_resume() local
3557 if (!test_and_set_bit(port1, hub->child_usage_bits)) { in usb_port_resume()
3569 status = hub_port_status(hub, port1, &portstatus, &portchange); in usb_port_resume()
3578 status = hub_set_port_link_state(hub, port1, USB_SS_PORT_LS_U0); in usb_port_resume()
3581 port1, USB_PORT_FEAT_SUSPEND); in usb_port_resume()
3594 status = hub_port_status(hub, port1, &portstatus, &portchange); in usb_port_resume()
3605 usb_clear_port_feature(hub->hdev, port1, in usb_port_resume()
3609 usb_clear_port_feature(hub->hdev, port1, in usb_port_resume()
3615 status = wait_for_connected(udev, hub, &port1, &portchange, in usb_port_resume()
3619 hub, port1, status, portchange, portstatus); in usb_port_resume()
3624 hub_port_logical_disconnect(hub, port1); in usb_port_resume()
3701 int port1; in check_ports_changed() local
3703 for (port1 = 1; port1 <= hub->hdev->maxchild; ++port1) { in check_ports_changed()
3707 status = hub_port_status(hub, port1, &portstatus, &portchange); in check_ports_changed()
3718 unsigned port1; in hub_suspend() local
3725 for (port1 = 1; port1 <= hdev->maxchild; port1++) { in hub_suspend()
3726 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_suspend()
3751 for (port1 = 1; port1 <= hdev->maxchild; port1++) { in hub_suspend()
3753 port1 | in hub_suspend()
4365 static int hub_port_disable(struct usb_hub *hub, int port1, int set_state) in hub_port_disable() argument
4367 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_port_disable()
4377 ret = usb_clear_port_feature(hdev, port1, in hub_port_disable()
4417 int hub_port_debounce(struct usb_hub *hub, int port1, bool must_be_connected) in hub_port_debounce() argument
4423 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_port_debounce()
4426 ret = hub_port_status(hub, port1, &portstatus, &portchange); in hub_port_debounce()
4443 usb_clear_port_feature(hub->hdev, port1, in hub_port_debounce()
4553 hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1, in hub_port_init() argument
4558 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_port_init()
4572 if (port1 == hdev->bus->otg_port) in hub_port_init()
4585 retval = hub_port_reset(hub, port1, udev, delay, false); in hub_port_init()
4663 udev->ttport = port1; in hub_port_init()
4740 retval = hub_port_reset(hub, port1, udev, delay, false); in hub_port_init()
4837 hub_port_reset(hub, port1, udev, in hub_port_init()
4890 hub_port_disable(hub, port1, 0); in hub_port_init()
4898 check_highspeed(struct usb_hub *hub, struct usb_device *udev, int port1) in check_highspeed() argument
4917 hub->indicator[port1-1] = INDICATOR_GREEN_BLINK; in check_highspeed()
4930 int port1; in hub_power_remaining() local
4936 for (port1 = 1; port1 <= hdev->maxchild; ++port1) { in hub_power_remaining()
4937 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_power_remaining()
4955 else if (port1 != udev->bus->otg_port || hdev->parent) in hub_power_remaining()
5057 static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, in hub_port_connect() argument
5065 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_port_connect()
5081 clear_bit(port1, hub->removed_bits); in hub_port_connect()
5085 status = hub_port_debounce_be_stable(hub, port1); in hub_port_connect()
5088 port1 != unreliable_port && in hub_port_connect()
5092 unreliable_port = port1; in hub_port_connect()
5102 test_bit(port1, hub->removed_bits)) { in hub_port_connect()
5111 set_port_feature(hdev, port1, USB_PORT_FEAT_POWER); in hub_port_connect()
5128 udev = usb_alloc_dev(hdev, hdev->bus, port1); in hub_port_connect()
5154 status = hub_port_init(hub, udev, port1, i); in hub_port_connect()
5183 hub->indicator[port1-1] = in hub_port_connect()
5198 check_highspeed(hub, udev, port1); in hub_port_connect()
5246 hub_port_disable(hub, port1, 1); in hub_port_connect()
5258 usb_hub_set_port_power(hdev, hub, port1, false); in hub_port_connect()
5260 usb_hub_set_port_power(hdev, hub, port1, true); in hub_port_connect()
5266 !(hcd->driver->port_handed_over)(hcd, port1)) { in hub_port_connect()
5273 hub_port_disable(hub, port1, 1); in hub_port_connect()
5276 hcd->driver->relinquish_port(hcd, port1); in hub_port_connect()
5288 static void hub_port_connect_change(struct usb_hub *hub, int port1, in hub_port_connect_change() argument
5292 struct usb_port *port_dev = hub->ports[port1 - 1]; in hub_port_connect_change()
5302 set_port_led(hub, port1, HUB_LED_AUTO); in hub_port_connect_change()
5303 hub->indicator[port1-1] = INDICATOR_AUTO; in hub_port_connect_change()
5355 clear_bit(port1, hub->change_bits); in hub_port_connect_change()
5362 hub_port_connect(hub, port1, portstatus, portchange); in hub_port_connect_change()
5403 static void port_event(struct usb_hub *hub, int port1) in port_event() argument
5407 struct usb_port *port_dev = hub->ports[port1 - 1]; in port_event()
5412 connect_change = test_bit(port1, hub->change_bits); in port_event()
5413 clear_bit(port1, hub->event_bits); in port_event()
5414 clear_bit(port1, hub->wakeup_bits); in port_event()
5416 if (hub_port_status(hub, port1, &portstatus, &portchange) < 0) in port_event()
5420 usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_C_CONNECTION); in port_event()
5428 usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_C_ENABLE); in port_event()
5449 usb_clear_port_feature(hdev, port1, in port_event()
5453 hub_port_status(hub, port1, &status, &unused); in port_event()
5460 usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_C_RESET); in port_event()
5465 usb_clear_port_feature(hdev, port1, in port_event()
5470 usb_clear_port_feature(hdev, port1, in port_event()
5475 usb_clear_port_feature(hdev, port1, in port_event()
5483 if (hub_handle_remote_wakeup(hub, port1, portstatus, portchange)) in port_event()
5490 if (hub_port_warm_reset_required(hub, port1, portstatus)) { in port_event()
5494 if (hub_port_reset(hub, port1, NULL, in port_event()
5496 hub_port_disable(hub, port1, 1); in port_event()
5508 hub_port_connect_change(hub, port1, portstatus, portchange); in port_event()
5755 int port1 = udev->portnum; in usb_reset_and_verify_device() local
5792 ret = hub_port_init(parent_hub, udev, port1, i); in usb_reset_and_verify_device()
5887 hub_port_logical_disconnect(parent_hub, port1); in usb_reset_and_verify_device()
6051 int port1) in usb_hub_find_child() argument
6055 if (port1 < 1 || port1 > hdev->maxchild) in usb_hub_find_child()
6057 return hub->ports[port1 - 1]->child; in usb_hub_find_child()
6116 int port1) in usb_get_hub_port_acpi_handle() argument
6123 return ACPI_HANDLE(&hub->ports[port1 - 1]->dev); in usb_get_hub_port_acpi_handle()