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

Commit 492a19ef authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

Merge branch 'fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq into pm-devfreq

Pull devfreq fixes for v4.7 from  MyungJoo Ham.

* 'fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq:
  PM / devfreq: fix initialization of current frequency in last status
  PM / devfreq: exynos-nocp: Remove incorrect IS_ERR() check
  PM / devfreq: remove double put_device
  PM / devfreq: fix double call put_device
  PM / devfreq: fix duplicated kfree on devfreq pointer
  PM / devfreq: devm_kzalloc to have dev pointer more precisely
parents 33688abb 8d39fc08
Loading
Loading
Loading
Loading
+10 −12
Original line number Diff line number Diff line
@@ -552,6 +552,7 @@ struct devfreq *devfreq_add_device(struct device *dev,
	devfreq->profile = profile;
	strncpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN);
	devfreq->previous_freq = profile->initial_freq;
	devfreq->last_status.current_frequency = profile->initial_freq;
	devfreq->data = data;
	devfreq->nb.notifier_call = devfreq_notifier_call;

@@ -561,23 +562,22 @@ struct devfreq *devfreq_add_device(struct device *dev,
		mutex_lock(&devfreq->lock);
	}

	devfreq->trans_table =	devm_kzalloc(dev, sizeof(unsigned int) *
						devfreq->profile->max_state *
						devfreq->profile->max_state,
						GFP_KERNEL);
	devfreq->time_in_state = devm_kzalloc(dev, sizeof(unsigned long) *
						devfreq->profile->max_state,
						GFP_KERNEL);
	devfreq->last_stat_updated = jiffies;

	dev_set_name(&devfreq->dev, "%s", dev_name(dev));
	err = device_register(&devfreq->dev);
	if (err) {
		put_device(&devfreq->dev);
		mutex_unlock(&devfreq->lock);
		goto err_out;
	}

	devfreq->trans_table =	devm_kzalloc(&devfreq->dev, sizeof(unsigned int) *
						devfreq->profile->max_state *
						devfreq->profile->max_state,
						GFP_KERNEL);
	devfreq->time_in_state = devm_kzalloc(&devfreq->dev, sizeof(unsigned long) *
						devfreq->profile->max_state,
						GFP_KERNEL);
	devfreq->last_stat_updated = jiffies;

	srcu_init_notifier_head(&devfreq->transition_notifier_list);

	mutex_unlock(&devfreq->lock);
@@ -603,7 +603,6 @@ struct devfreq *devfreq_add_device(struct device *dev,
err_init:
	list_del(&devfreq->node);
	device_unregister(&devfreq->dev);
	kfree(devfreq);
err_out:
	return ERR_PTR(err);
}
@@ -621,7 +620,6 @@ int devfreq_remove_device(struct devfreq *devfreq)
		return -EINVAL;

	device_unregister(&devfreq->dev);
	put_device(&devfreq->dev);

	return 0;
}
+0 −3
Original line number Diff line number Diff line
@@ -220,9 +220,6 @@ static int exynos_nocp_parse_dt(struct platform_device *pdev,

	/* Maps the memory mapped IO to control nocp register */
	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	if (IS_ERR(res))
		return PTR_ERR(res);

	base = devm_ioremap_resource(dev, res);
	if (IS_ERR(base))
		return PTR_ERR(base);