cpufreq: Introduce CPU-boost framework

The CPU-boost framework allows you to place hooks in various drivers to boost the CPU for either a specified duration or indefinitely (until it is manually unboosted). If a new boost request is sent while the CPU is boosted then the new boost request will take precedence and immediately override the current boost.

Signed-off-by: Sultanxda <sultanxda@gmail.com>
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
cpu_boost: Respect max frequency

If the requested boost frequency is greater than the maxfreq then reduce the boost to 2 steps below the current maxfreq (108MHz below the current maxfreq). If the maxfreq is 486MHz or lower then the boost will be canceled.

Signed-off-by: Sultanxda <sultanxda@gmail.com>
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
cpu_boost: Add functions to enable/disable boosting

Signed-off-by: Sultanxda <sultanxda@gmail.com>
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
cpu_boost: Fix unbalanced cpufreq_cpu_get

Also, minor clean-up.

Signed-off-by: Sultanxda <sultanxda@gmail.com>
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>