PM / devfreq: fix initialization of current frequency in last status
authorLukasz Luba <lukasz.luba@arm.com>
Tue, 31 May 2016 10:25:09 +0000 (11:25 +0100)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Wed, 22 Jun 2016 04:53:00 +0000 (13:53 +0900)
Some systems need current frequency from last_status for calculation
but it is zeroed during initialization. When the device starts there is
no history, but we can assume that the last frequency was the
same as the initial frequency (which is also used in 'previous_freq').
The log shows the result of this misinterpreted value.
[    2.042847] ... Failed to get voltage for frequency 0: -34

Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
Reviewed-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
drivers/devfreq/devfreq.c

index 0ebd64dfc0a98bedfd7eaf45107430ef505a8253..c7f47e34807b6c86e51c8ae14c2996325bec06b6 100644 (file)
@@ -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;