/*** runtime pm ***/
static int clk_pm_runtime_get(struct clk_core *core)
{
-@@ -1431,10 +1439,14 @@ unsigned long clk_hw_round_rate(struct c
+@@ -1430,10 +1438,14 @@ unsigned long clk_hw_round_rate(struct c
{
int ret;
struct clk_rate_request req;
ret = clk_core_round_rate_nolock(hw->core, &req);
if (ret)
return 0;
-@@ -1455,6 +1467,7 @@ EXPORT_SYMBOL_GPL(clk_hw_round_rate);
+@@ -1454,6 +1466,7 @@ EXPORT_SYMBOL_GPL(clk_hw_round_rate);
long clk_round_rate(struct clk *clk, unsigned long rate)
{
struct clk_rate_request req;
int ret;
if (!clk)
-@@ -1468,6 +1481,9 @@ long clk_round_rate(struct clk *clk, uns
+@@ -1467,6 +1480,9 @@ long clk_round_rate(struct clk *clk, uns
clk_core_get_boundaries(clk->core, &req.min_rate, &req.max_rate);
req.rate = rate;
ret = clk_core_round_rate_nolock(clk->core, &req);
if (clk->exclusive_count)
-@@ -1935,6 +1951,7 @@ static struct clk_core *clk_calc_new_rat
+@@ -1934,6 +1950,7 @@ static struct clk_core *clk_calc_new_rat
unsigned long new_rate;
unsigned long min_rate;
unsigned long max_rate;
int p_index = 0;
long ret;
-@@ -1949,6 +1966,9 @@ static struct clk_core *clk_calc_new_rat
+@@ -1948,6 +1965,9 @@ static struct clk_core *clk_calc_new_rat
clk_core_get_boundaries(core, &min_rate, &max_rate);
/* find the closest rate and parent clk/rate */
if (clk_core_can_round(core)) {
struct clk_rate_request req;
-@@ -2153,6 +2173,7 @@ static unsigned long clk_core_req_round_
+@@ -2152,6 +2172,7 @@ static unsigned long clk_core_req_round_
{
int ret, cnt;
struct clk_rate_request req;
lockdep_assert_held(&prepare_lock);
-@@ -2167,6 +2188,9 @@ static unsigned long clk_core_req_round_
+@@ -2166,6 +2187,9 @@ static unsigned long clk_core_req_round_
clk_core_get_boundaries(core, &req.min_rate, &req.max_rate);
req.rate = req_rate;
ret = clk_core_round_rate_nolock(core, &req);
/* restore the protection */
-@@ -2260,6 +2284,9 @@ int clk_set_rate(struct clk *clk, unsign
+@@ -2259,6 +2283,9 @@ int clk_set_rate(struct clk *clk, unsign
ret = clk_core_set_rate_nolock(clk->core, rate);
if (clk->exclusive_count)
clk_core_rate_protect(clk->core);
-@@ -2426,6 +2453,99 @@ int clk_set_max_rate(struct clk *clk, un
+@@ -2425,6 +2452,99 @@ int clk_set_max_rate(struct clk *clk, un
EXPORT_SYMBOL_GPL(clk_set_max_rate);
/**
* clk_get_parent - return the parent of a clk
* @clk: the clk whose parent gets returned
*
-@@ -3875,6 +3995,7 @@ __clk_register(struct device *dev, struc
+@@ -3874,6 +3994,7 @@ __clk_register(struct device *dev, struc
goto fail_parents;
INIT_HLIST_HEAD(&core->clks);
/* called during probe() after chip reset completes */
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -156,6 +156,49 @@ int xhci_start(struct xhci_hcd *xhci)
+@@ -158,6 +158,49 @@ int xhci_start(struct xhci_hcd *xhci)
return ret;
}
/*
* Reset a halted HC.
*
-@@ -606,10 +649,20 @@ static int xhci_init(struct usb_hcd *hcd
+@@ -608,10 +651,20 @@ static int xhci_init(struct usb_hcd *hcd
static int xhci_run_finished(struct xhci_hcd *xhci)
{
xhci->shared_hcd->state = HC_STATE_RUNNING;
xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
-@@ -619,6 +672,10 @@ static int xhci_run_finished(struct xhci
+@@ -621,6 +674,10 @@ static int xhci_run_finished(struct xhci
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
"Finished xhci_run for USB3 roothub");
return 0;