Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6a17ef33 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "xhci: hsic: De-assert host ready gpio when device in configured state"

parents d353361b 25f157e0
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1874,6 +1874,8 @@ free_interfaces:
		return ret;
	}
	usb_set_device_state(dev, USB_STATE_CONFIGURED);
	if (dev->parent && hcd->driver->udev_enum_done)
		hcd->driver->udev_enum_done(hcd);

	if (cp->string == NULL &&
			!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS))
+13 −0
Original line number Diff line number Diff line
@@ -1009,6 +1009,18 @@ int mxhci_hsic_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
	return ret;
}

void mxhci_hsic_udev_enum_done(struct usb_hcd *hcd)
{
	struct mxhci_hsic_hcd *mxhci = hcd_to_hsic(hcd->primary_hcd);

	if (mxhci->host_ready) {
		/* after device enum lower host ready gpio */
		gpio_direction_output(mxhci->host_ready, 0);
		xhci_dbg_log_event(&dbg_hsic, NULL,  "host ready set low",
					gpio_get_value(mxhci->host_ready));
	}
}

static struct hc_driver mxhci_hsic_hc_driver = {
	.description =		"xhci-hcd",
	.product_desc =		"Qualcomm xHCI Host Controller using HSIC",
@@ -1060,6 +1072,7 @@ static struct hc_driver mxhci_hsic_hc_driver = {
	.log_urb =		xhci_hsic_log_urb,

	.set_autosuspend_delay = mxhci_hsic_set_autosuspend_delay,
	.udev_enum_done =	mxhci_hsic_udev_enum_done,
};

static ssize_t config_imod_store(struct device *pdev,
+1 −0
Original line number Diff line number Diff line
@@ -367,6 +367,7 @@ struct hc_driver {
	void	(*set_autosuspend_delay)(struct usb_device *);
	void	(*reset_sof_bug_handler)(struct usb_hcd *hcd, u32 val);
	void	(*set_autosuspend)(struct usb_hcd *hcd, int enable_autosuspend);
	void	(*udev_enum_done)(struct usb_hcd *hcd);
};

extern int usb_hcd_link_urb_to_ep(struct usb_hcd *hcd, struct urb *urb);