mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-05-03 11:56:51 -04:00
Merge branches 'pm-cpuidle', 'pm-sleep' and 'pm-domains'
* pm-cpuidle: cpuidle: qcom: Add SPM register data for MSM8226 dt-bindings: arm: msm: Add SAW2 for MSM8226 * pm-sleep: PM: sleep: Use ktime_us_delta() in initcall_debug_report() * pm-domains: PM: domains: Shrink locking area of the gpd_list_lock
This commit is contained in:
@@ -2018,8 +2018,8 @@ int pm_genpd_init(struct generic_pm_domain *genpd,
|
||||
|
||||
mutex_lock(&gpd_list_lock);
|
||||
list_add(&genpd->gpd_list_node, &gpd_list);
|
||||
genpd_debug_add(genpd);
|
||||
mutex_unlock(&gpd_list_lock);
|
||||
genpd_debug_add(genpd);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -2206,12 +2206,19 @@ static int genpd_add_provider(struct device_node *np, genpd_xlate_t xlate,
|
||||
|
||||
static bool genpd_present(const struct generic_pm_domain *genpd)
|
||||
{
|
||||
bool ret = false;
|
||||
const struct generic_pm_domain *gpd;
|
||||
|
||||
list_for_each_entry(gpd, &gpd_list, gpd_list_node)
|
||||
if (gpd == genpd)
|
||||
return true;
|
||||
return false;
|
||||
mutex_lock(&gpd_list_lock);
|
||||
list_for_each_entry(gpd, &gpd_list, gpd_list_node) {
|
||||
if (gpd == genpd) {
|
||||
ret = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
mutex_unlock(&gpd_list_lock);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2222,15 +2229,13 @@ static bool genpd_present(const struct generic_pm_domain *genpd)
|
||||
int of_genpd_add_provider_simple(struct device_node *np,
|
||||
struct generic_pm_domain *genpd)
|
||||
{
|
||||
int ret = -EINVAL;
|
||||
int ret;
|
||||
|
||||
if (!np || !genpd)
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&gpd_list_lock);
|
||||
|
||||
if (!genpd_present(genpd))
|
||||
goto unlock;
|
||||
return -EINVAL;
|
||||
|
||||
genpd->dev.of_node = np;
|
||||
|
||||
@@ -2241,7 +2246,7 @@ int of_genpd_add_provider_simple(struct device_node *np,
|
||||
if (ret != -EPROBE_DEFER)
|
||||
dev_err(&genpd->dev, "Failed to add OPP table: %d\n",
|
||||
ret);
|
||||
goto unlock;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -2259,16 +2264,13 @@ int of_genpd_add_provider_simple(struct device_node *np,
|
||||
dev_pm_opp_of_remove_table(&genpd->dev);
|
||||
}
|
||||
|
||||
goto unlock;
|
||||
return ret;
|
||||
}
|
||||
|
||||
genpd->provider = &np->fwnode;
|
||||
genpd->has_provider = true;
|
||||
|
||||
unlock:
|
||||
mutex_unlock(&gpd_list_lock);
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(of_genpd_add_provider_simple);
|
||||
|
||||
@@ -2287,8 +2289,6 @@ int of_genpd_add_provider_onecell(struct device_node *np,
|
||||
if (!np || !data)
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&gpd_list_lock);
|
||||
|
||||
if (!data->xlate)
|
||||
data->xlate = genpd_xlate_onecell;
|
||||
|
||||
@@ -2328,8 +2328,6 @@ int of_genpd_add_provider_onecell(struct device_node *np,
|
||||
if (ret < 0)
|
||||
goto error;
|
||||
|
||||
mutex_unlock(&gpd_list_lock);
|
||||
|
||||
return 0;
|
||||
|
||||
error:
|
||||
@@ -2348,8 +2346,6 @@ error:
|
||||
}
|
||||
}
|
||||
|
||||
mutex_unlock(&gpd_list_lock);
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(of_genpd_add_provider_onecell);
|
||||
|
||||
@@ -220,16 +220,13 @@ static void initcall_debug_report(struct device *dev, ktime_t calltime,
|
||||
void *cb, int error)
|
||||
{
|
||||
ktime_t rettime;
|
||||
s64 nsecs;
|
||||
|
||||
if (!pm_print_times_enabled)
|
||||
return;
|
||||
|
||||
rettime = ktime_get();
|
||||
nsecs = (s64) ktime_to_ns(ktime_sub(rettime, calltime));
|
||||
|
||||
dev_info(dev, "%pS returned %d after %Ld usecs\n", cb, error,
|
||||
(unsigned long long)nsecs >> 10);
|
||||
(unsigned long long)ktime_us_delta(rettime, calltime));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user