{
        struct devfreq *tmp_devfreq;
 
+       lockdep_assert_held(&devfreq_list_lock);
+
        if (IS_ERR_OR_NULL(dev)) {
                pr_err("DEVFREQ: %s: Invalid parameters\n", __func__);
                return ERR_PTR(-EINVAL);
        }
-       WARN(!mutex_is_locked(&devfreq_list_lock),
-            "devfreq_list_lock must be locked.");
 
        list_for_each_entry(tmp_devfreq, &devfreq_list, node) {
                if (tmp_devfreq->dev.parent == dev)
 {
        struct devfreq_governor *tmp_governor;
 
+       lockdep_assert_held(&devfreq_list_lock);
+
        if (IS_ERR_OR_NULL(name)) {
                pr_err("DEVFREQ: %s: Invalid parameters\n", __func__);
                return ERR_PTR(-EINVAL);
        }
-       WARN(!mutex_is_locked(&devfreq_list_lock),
-            "devfreq_list_lock must be locked.");
 
        list_for_each_entry(tmp_governor, &devfreq_governor_list, node) {
                if (!strncmp(tmp_governor->name, name, DEVFREQ_NAME_LEN))
        struct devfreq_governor *governor;
        int err = 0;
 
+       lockdep_assert_held(&devfreq_list_lock);
+
        if (IS_ERR_OR_NULL(name)) {
                pr_err("DEVFREQ: %s: Invalid parameters\n", __func__);
                return ERR_PTR(-EINVAL);
        }
-       WARN(!mutex_is_locked(&devfreq_list_lock),
-            "devfreq_list_lock must be locked.");
 
        governor = find_devfreq_governor(name);
        if (IS_ERR(governor)) {
        int err = 0;
        u32 flags = 0;
 
-       if (!mutex_is_locked(&devfreq->lock)) {
-               WARN(true, "devfreq->lock must be locked by the caller.\n");
-               return -EINVAL;
-       }
+       lockdep_assert_held(&devfreq->lock);
 
        if (!devfreq->governor)
                return -EINVAL;