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

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

Merge "usb: gadget: qdss: Use the restart callback for gadget restart"

parents 509c3d33 ac2f3336
Loading
Loading
Loading
Loading
+1 −20
Original line number Diff line number Diff line
/* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -1484,25 +1484,6 @@ static void dwc3_restart_usb_work(struct work_struct *w)
	flush_delayed_work(&mdwc->sm_work);
}

/**
 * Reset USB peripheral connection
 * Inform OTG for Vbus LOW followed by Vbus HIGH notification.
 * This performs full hardware reset and re-initialization which
 * might be required by some DBM client driver during uninit/cleanup.
 */
void msm_dwc3_restart_usb_session(struct usb_gadget *gadget)
{
	struct dwc3 *dwc = container_of(gadget, struct dwc3, gadget);
	struct dwc3_msm *mdwc = dev_get_drvdata(dwc->dev->parent);

	if (!mdwc)
		return;

	dev_dbg(mdwc->dev, "%s\n", __func__);
	schedule_work(&mdwc->restart_usb_work);
}
EXPORT_SYMBOL(msm_dwc3_restart_usb_session);

/*
 * Check whether the DWC3 requires resetting the ep
 * after going to Low Power Mode (lpm)
+2 −3
Original line number Diff line number Diff line
/*
 * f_qdss.c -- QDSS function Driver
 *
 * Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
 * Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.

 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -1137,8 +1137,7 @@ void usb_qdss_close(struct usb_qdss_ch *ch)
		if (status)
			pr_err("%s:qdss_disconnect error\n", __func__);
	}
	if (gadget_is_dwc3(gadget))
		msm_dwc3_restart_usb_session(gadget);
	usb_gadget_restart(gadget);
}
EXPORT_SYMBOL(usb_qdss_close);

+1 −8
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
 *
 * Copyright (C) 2008 Google, Inc.
 * Author: Brian Swetland <swetland@google.com>
 * Copyright (c) 2009-2015, The Linux Foundation. All rights reserved.
 * Copyright (c) 2009-2016, The Linux Foundation. All rights reserved.
 *
 * This software is licensed under the terms of the GNU General Public
 * License version 2, as published by the Free Software Foundation, and
@@ -664,8 +664,6 @@ int msm_data_fifo_config(struct usb_ep *ep, phys_addr_t addr, u32 size,
bool msm_dwc3_reset_ep_after_lpm(struct usb_gadget *gadget);
int msm_dwc3_reset_dbm_ep(struct usb_ep *ep);

void msm_dwc3_restart_usb_session(struct usb_gadget *gadget);

#else
static inline int msm_data_fifo_config(struct usb_ep *ep, phys_addr_t addr,
	u32 size, u8 dst_pipe_idx)
@@ -688,11 +686,6 @@ static inline void dwc3_tx_fifo_resize_request(
{
}

static inline void msm_dwc3_restart_usb_session(struct usb_gadget *gadget)
{
	return;
}

static inline bool msm_dwc3_reset_ep_after_lpm(struct usb_gadget *gadget)
{
	return false;