summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* microblaze idle: Fix compile errorLars-Peter Clausen2013-02-231-4/+1
| | | | | | | | | | | | | | | | | Commit def8203 ("microblaze idle: delete pm_idle") introduced the following compile error: arch/microblaze/kernel/process.c: In function 'cpu_idle': arch/microblaze/kernel/process.c:100: error: 'idle' undeclared (first use in this function) arch/microblaze/kernel/process.c:100: error: (Each undeclared identifier is reported only once arch/microblaze/kernel/process.c:100: error: for each function it appears in.) arch/microblaze/kernel/process.c:106: error: implicit declaration of function 'idle' This patch fixes it. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Len Brown <len.brown@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
* blackfin idle: Fix compile errorLars-Peter Clausen2013-02-231-3/+1
| | | | | | | | | | | | | | | | Commit 26bab0c ("blackfin idle: delete pm_idle") introduced the following compile error: arch/blackfin/kernel/process.c: In function ‘cpu_idle’: arch/blackfin/kernel/process.c:83: error: ‘idle’ undeclared (first use in this function) arch/blackfin/kernel/process.c:83: error: (Each undeclared identifier is reported only once arch/blackfin/kernel/process.c:83: error: for each function it appears in.) arch/blackfin/kernel/process.c:88: error: implicit declaration of function ‘idle’ This patch fixes it. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Len Brown <len.brown@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
* Merge branch 'release' of ↵Rafael J. Wysocki2013-02-1835-553/+360
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (35 commits) PM idle: remove global declaration of pm_idle unicore32 idle: delete stray pm_idle comment openrisc idle: delete pm_idle mn10300 idle: delete pm_idle microblaze idle: delete pm_idle m32r idle: delete pm_idle, and other dead idle code ia64 idle: delete pm_idle cris idle: delete idle and pm_idle ARM64 idle: delete pm_idle ARM idle: delete pm_idle blackfin idle: delete pm_idle sparc idle: rename pm_idle to sparc_idle sh idle: rename global pm_idle to static sh_idle x86 idle: rename global pm_idle to static x86_idle APM idle: register apm_cpu_idle via cpuidle tools/power turbostat: display SMI count by default intel_idle: export both C1 and C1E cpuidle: remove vestage definition of cpuidle_state_usage.driver_data x86 idle: remove 32-bit-only "no-hlt" parameter, hlt_works_ok flag x86 idle: remove mwait_idle() and "idle=mwait" cmdline param ... Conflicts: arch/x86/kernel/process.c (with PM / tracing commit 43720bd) drivers/acpi/processor_idle.c (with ACPICA commit 4f84291)
| * Merge branch 'misc' into releaseLen Brown2013-02-188-140/+15
| |\ | | | | | | | | | | | | | | | | | | Conflicts: arch/x86/kernel/process.c Signed-off-by: Len Brown <len.brown@intel.com>
| | * x86 idle: remove 32-bit-only "no-hlt" parameter, hlt_works_ok flagLen Brown2013-02-106-50/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove 32-bit x86 a cmdline param "no-hlt", and the cpuinfo_x86.hlt_works_ok that it sets. If a user wants to avoid HLT, then "idle=poll" is much more useful, as it avoids invocation of HLT in idle, while "no-hlt" failed to do so. Indeed, hlt_works_ok was consulted in only 3 places. First, in /proc/cpuinfo where "hlt_bug yes" would be printed if and only if the user booted the system with "no-hlt" -- as there was no other code to set that flag. Second, check_hlt() would not invoke halt() if "no-hlt" were on the cmdline. Third, it was consulted in stop_this_cpu(), which is invoked by native_machine_halt()/reboot_interrupt()/smp_stop_nmi_callback() -- all cases where the machine is being shutdown/reset. The flag was not consulted in the more frequently invoked play_dead()/hlt_play_dead() used in processor offline and suspend. Since Linux-3.0 there has been a run-time notice upon "no-hlt" invocations indicating that it would be removed in 2012. Signed-off-by: Len Brown <len.brown@intel.com> Cc: x86@kernel.org
| | * x86 idle: remove mwait_idle() and "idle=mwait" cmdline paramLen Brown2013-02-105-87/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mwait_idle() is a C1-only idle loop intended to be more efficient than HLT, starting on Pentium-4 HT-enabled processors. But mwait_idle() has been replaced by the more general mwait_idle_with_hints(), which handles both C1 and deeper C-states. ACPI processor_idle and intel_idle use only mwait_idle_with_hints(), and no longer use mwait_idle(). Here we simplify the x86 native idle code by removing mwait_idle(), and the "idle=mwait" bootparam used to invoke it. Since Linux 3.0 there has been a boot-time warning when "idle=mwait" was invoked saying it would be removed in 2012. This removal was also noted in the (now removed:-) feature-removal-schedule.txt. After this change, kernels configured with (CONFIG_ACPI=n && CONFIG_INTEL_IDLE=n) when run on hardware that supports MWAIT will simply use HLT. If MWAIT is desired on those systems, cpuidle and the cpuidle drivers above can be enabled. Signed-off-by: Len Brown <len.brown@intel.com> Cc: x86@kernel.org
| | * xen idle: make xen-specific macro xen-specificLen Brown2013-02-103-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This macro is only invoked by Xen, so make its definition specific to Xen. > set_pm_idle_to_default() < xen_set_default_idle() Signed-off-by: Len Brown <len.brown@intel.com> Cc: xen-devel@lists.xensource.com
| | |
| | \
| *-. \ Merge branches 'idle-remove-statedata', 'pm_idle' and 'idle-hsw-turbostat' ↵Len Brown2013-02-1826-252/+281
| |\ \ \ | | | | | | | | | | | | | | | into release
| | | * | tools/power turbostat: display SMI count by defaultLen Brown2013-02-133-24/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SMI counter is popular -- so display it by default rather than requiring an option. What the heck, we've blown the 80 column budget on many systems already... Note that the value displayed is the delta during the measurement interval. The absolute value of the counter can still be seen with the generic 32-bit MSR option, ie. -m 0x34 Signed-off-by: Len Brown <len.brown@intel.com>
| | | * | intel_idle: export both C1 and C1ELen Brown2013-02-131-5/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here we disable HW promotion of C1 to C1E and export both C1 and C1E and distinct C-states. This allows a cpuidle governor to choose a lower latency C-state than C1E when necessary to satisfy performance and QOS constraints -- and still save power versus polling. This also corrects the erroneous latency previously reported for C1E -- it is 10usec, not 1usec. Note that if you use "intel_idle.max_cstate=N", then you must increment N by 1 to get the same behavior after this change. Signed-off-by: Len Brown <len.brown@intel.com>
| | | * | intel_idle: remove assumption of one C-state per MWAIT flagLen Brown2013-02-082-51/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the assumption that cstate_tables are indexed by MWAIT flag values. Each entry identifies itself via its own flags value. This change is needed to support multiple states that share the same MWAIT flags. Note that this can have an effect on what state is described by 'N' on cmdline intel_idle.max_cstate=N on some systems. intel_idle.max_cstate=0 still disables the driver intel_idle.max_cstate=1 still results in just C1(E) However, "place holders" in the sparse C-state name-space (eg. Atom) have been removed. Signed-off-by: Len Brown <len.brown@intel.com>
| | | * | intel_idle: remove use and definition of MWAIT_MAX_NUM_CSTATESLen Brown2013-02-082-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cosmetic only. Replace use of MWAIT_MAX_NUM_CSTATES with CPUIDLE_STATE_MAX. They are both 8, so this patch has no functional change. The reason to change is that intel_idle will soon be able to export more than the 8 "major" states supported by MWAIT. When we hit that limit, it is important to know where the limit comes from. Signed-off-by: Len Brown <len.brown@intel.com>
| | | * | tools/power turbostat: decode MSR_IA32_POWER_CTLLen Brown2013-02-082-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When verbose is enabled, print the C1E-Enable bit in MSR_IA32_POWER_CTL. also delete some redundant tests on the verbose variable. Signed-off-by: Len Brown <len.brown@intel.com>
| | | * | tools/power turbostat: support HaswellLen Brown2013-02-081-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enables turbostat to run properly on the next-generation Intel(R) Microarchitecture, code named "Haswell" (HSW). HSW supports the BCLK and counters found in SNB. Signed-off-by: Len Brown <len.brown@intel.com>
| | | * | intel_idle: support HaswellLen Brown2013-02-081-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enables intel_idle to run on the next-generation Intel(R) Microarchitecture code named "Haswell". Signed-off-by: Len Brown <len.brown@intel.com>
| | * | | PM idle: remove global declaration of pm_idleLen Brown2013-02-171-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pm_idle appears in no generic Linux code, it appears only in architecture-specific code. Thus, pm_idle should not be declared in pm.h. Architectures that use an idle function pointer should delcare one local to their architecture, and/or use cpuidle. Signed-off-by: Len Brown <len.brown@intel.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Tested-by: Kevin Hilman <khilman@linaro.org> Cc: linux-pm@vger.kernel.org
| | * | | unicore32 idle: delete stray pm_idle commentLen Brown2013-02-171-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as pm_idle() has already been deleted from this code, the comment was a stray. Signed-off-by: Len Brown <len.brown@intel.com> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
| | * | | openrisc idle: delete pm_idleLen Brown2013-02-171-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pm_idle() on openrisc was dead code. Signed-off-by: Len Brown <len.brown@intel.com> Cc: linux@lists.openrisc.net
| | * | | mn10300 idle: delete pm_idleLen Brown2013-02-171-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pm_idle on mn10300 served no purpose. Signed-off-by: Len Brown <len.brown@intel.com> Cc: linux-am33-list@redhat.com
| | * | | microblaze idle: delete pm_idleLen Brown2013-02-171-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pm_idle on microblaze served no purpose. Signed-off-by: Len Brown <len.brown@intel.com> Cc: microblaze-uclinux@itee.uq.edu.au
| | * | | m32r idle: delete pm_idle, and other dead idle codeLen Brown2013-02-171-49/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All paths on m32r lead to cpu_relax(). So delete the dead code and simply call cpu_relax() directly. Signed-off-by: Len Brown <len.brown@intel.com> Cc: linux-m32r@ml.linux-m32r.org
| | * | | ia64 idle: delete pm_idleLen Brown2013-02-172-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pm_idle() on ia64 was a synonym for default_idle(). So simply invoke default_idle() directly. Signed-off-by: Len Brown <len.brown@intel.com> Cc: linux-ia64@vger.kernel.org
| | * | | cris idle: delete idle and pm_idleLen Brown2013-02-171-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pm_idle() and idle() served no purpose on cris -- invoke default_idle() directly. Signed-off-by: Len Brown <len.brown@intel.com> Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
| | * | | ARM64 idle: delete pm_idleLen Brown2013-02-171-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pm_idle() on arm64 was a synonym for default_idle(), so remove it and invoke default_idle() directly. Signed-off-by: Len Brown <len.brown@intel.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com>
| | * | | ARM idle: delete pm_idleLen Brown2013-02-171-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pm_idle() on ARM was a synonym for default_idle(), so simply invoke default_idle() directly. Signed-off-by: Len Brown <len.brown@intel.com> Reviewed-by: Kevin Hilman <khilman@linaro.org> Tested-by: Kevin Hilman <khilman@linaro.org>
| | * | | blackfin idle: delete pm_idleLen Brown2013-02-171-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pm_idle is dead code on blackfin. Signed-off-by: Len Brown <len.brown@intel.com> Cc: uclinux-dist-devel@blackfin.uclinux.org
| | * | | sparc idle: rename pm_idle to sparc_idleLen Brown2013-02-175-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (pm_idle)() is being removed from linux/pm.h because Linux does not have such a cross-architecture concept. sparc uses an idle function pointer in its architecture specific code. So we re-name sparc use of pm_idle to sparc_idle. Signed-off-by: Len Brown <len.brown@intel.com> Acked-by: David S. Miller <davem@davemloft.net> Acked-by: Sam Ravnborg <sam@ravnborg.org>
| | * | | sh idle: rename global pm_idle to static sh_idleLen Brown2013-02-171-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SH idle code could use some simplification. This patch enables that by guaranteeing that "sh_idle" is local, and thus architecture specific. Signed-off-by: Len Brown <len.brown@intel.com> Cc: linux-sh@vger.kernel.org
| | * | | x86 idle: rename global pm_idle to static x86_idleLen Brown2013-02-171-16/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (pm_idle)() is being removed from linux/pm.h because Linux does not have such a cross-architecture concept. x86 uses an idle function pointer in its architecture specific code as a backup to cpuidle. So we re-name x86 use of pm_idle to x86_idle, and make it static to x86. Signed-off-by: Len Brown <len.brown@intel.com> Cc: x86@kernel.org
| | * | | APM idle: register apm_cpu_idle via cpuidleLen Brown2013-02-173-26/+35
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update APM to register its local idle routine with cpuidle. This allows us to stop exporting pm_idle to modules on x86. The Kconfig sub-option, APM_CPU_IDLE, now depends on on CPU_IDLE. Compile-tested only. Signed-off-by: Len Brown <len.brown@intel.com> Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: Jiri Kosina <jkosina@suse.cz>
| * | | cpuidle: remove vestage definition of cpuidle_state_usage.driver_dataLen Brown2013-02-111-22/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This field is no longer used. Signed-off-by: Len Brown <len.brown@intel.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
| | | |
| | \ \
| *-. \ \ Merge branches 'acpi-idle', 'arm-idle' and 'intel-idle' into ↵Len Brown2013-02-082-108/+51
| |\ \ \ \ | | | | |/ | | | |/| | | | | | idle-remove-statedata
| | | * | intel_idle: stop using driver_data for static flagsLen Brown2013-02-011-49/+26
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit, 4202735e8ab6ecfb0381631a0d0b58fefe0bd4e2 (cpuidle: Split cpuidle_state structure and move per-cpu statistics fields) observed that the MWAIT flags for Cn on every processor to date were the same, and created get_driver_data() to supply them. Unfortunately, that assumption is false, going forward. So here we restore the MWAIT flags to the cpuidle_state table. However, instead restoring the old "driver_data" field, we put the flags into the existing "flags" field, where they probalby should have lived all along. This patch does not change any operation. This patch removes 1 of the 3 users of cpuidle_state_usage.driver_data. Perhaps some day we'll get rid of the other 2. Signed-off-by: Len Brown <len.brown@intel.com>
| | * | davinci: cpuidle - remove useless initializationDaniel Lezcano2013-02-081-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The device->state_count is initialized in the cpuidle_register_device function. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Len Brown <len.brown@intel.com>
| | * | davinci: cpuidle - remove the opsDaniel Lezcano2013-02-081-31/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With one function handling the idle state and a single variable, the usage of the davinci_ops is overkill. This patch removes these ops and simplify the code. Furthermore, the 'driver_data' field is no longer used, we have 1 of the 3 remaining user of this field removed. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Len Brown <len.brown@intel.com>
| | * | davinci: cpuidle - move code to prevent forward declarationDaniel Lezcano2013-02-081-36/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch is mindless, it just moves the idle function below in the file in order to prevent forward declaration in the next patch. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Len Brown <len.brown@intel.com>
| | * | Replace the flag by a simple global boolean in the cpuidle.c.Daniel Lezcano2013-02-081-13/+10
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | That will allow to cleanup the rest of the code right after, because the ops won't make sense. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Len Brown <len.brown@intel.com>
| * | ACPI / idle: remove usage of the statedataDaniel Lezcano2013-02-081-12/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Len Brown sent a patch to remove this field in the intel_idle driver. The other user of this field is the davinci cpuidle driver and a patch has been sent to remove the usage of it. This patch removes the last user of this field. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Len Brown <len.brown@intel.com>
| * | ACPI / idle: pass the cpuidle_device parameterDaniel Lezcano2013-02-081-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cpuidle_device is retrieved in the function by using directly the global variable. But the caller of this function already have this device and it can be passed as a parameter. That is one small step to encapsulate the code more. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Len Brown <len.brown@intel.com>
| * | ACPI / idle : remove pointless headersDaniel Lezcano2013-02-081-12/+1
| | | | | | | | | | | | | | | | | | | | | These different headers are not needed. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Len Brown <len.brown@intel.com>
| * | ACPI / idle: remove unused definitionDaniel Lezcano2013-02-081-4/+0
| |/ | | | | | | | | | | | | The different definitions are not used anywhere in the code. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Len Brown <len.brown@intel.com>
* | Merge branch 'pm-cpufreq'Rafael J. Wysocki2013-02-173-6/+22
|\ \ | | | | | | | | | | | | | | | * pm-cpufreq: cpufreq / intel_pstate: Add kernel command line option disable intel_pstate. cpufreq / intel_pstate: Change to disallow module build
| * | cpufreq / intel_pstate: Add kernel command line option disable intel_pstate.Dirk Brandewie2013-02-152-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When intel_pstate is configured into the kernel it will become the preferred scaling driver for processors that it supports. Allow the user to override this by adding: intel_pstate=disable on the kernel command line. Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
| * | cpufreq / intel_pstate: Change to disallow module buildDirk Brandewie2013-02-151-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Load order is important in order for intel_pstate to take over as the default scaling driver from acpi-cpufreq. If both are built-in, acpi-cpufreq uses late_initcall() and intel_pstate uses device_initcall() so it will be able to register as the scaling before acpi-cpufreq for the processors supported by intel_pstate. If acpi-cpufreq is built as a module then intel_pstate still gets first option to become the scaling driver. Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
* | | Merge branch 'next/cpufreq-exynos' of ↵Rafael J. Wysocki2013-02-155-663/+248
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung * 'next/cpufreq-exynos' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: cpufreq: exynos: Fix hang in pm handler due to frequency mismatch cpufreq: exynos: Initialize return variable cpufreq: exynos: Fix unsigned variable being checked for negative value cpufreq: exynos: Get booting freq value in exynos_cpufreq_init cpufreq: exynos: Show list of available frequencies cpufreq: exynos: Add missing static cpufreq: exynos: Split exynos_target function into two functions cpufreq: exynos: Use APLL_FREQ macro for cpu divider value cpufreq: exynos: Check old & new frequency early cpufreq: exynos: Remove unused variable & IS_ERR
| * | | cpufreq: exynos: Fix hang in pm handler due to frequency mismatchJonghwan Choi2013-02-041-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When pm handler set freq & voltage, frequency mismatch occurred. Because freqs.new isn't set in pm handler. Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
| * | | cpufreq: exynos: Initialize return variableSachin Kamat2013-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'ret' is undefined when the function returns from the first 'if' condition. Without this patch we get the following warning: drivers/cpufreq/exynos-cpufreq.c: In function 'exynos_target': drivers/cpufreq/exynos-cpufreq.c:182:2: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] Suggested-by: Jonghwan Choi <jhbird.choi@samsung.com> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
| * | | cpufreq: exynos: Fix unsigned variable being checked for negative valueSachin Kamat2013-01-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | exynos_cpufreq_scale function returns signed value which was assigned to an unsigned variable and checked for negative value which is always false. Hence make it signed. Fixes the following smatch warnings: drivers/cpufreq/exynos-cpufreq.c:83 exynos_cpufreq_scale() warn: unsigned 'old_index' is never less than zero. drivers/cpufreq/exynos-cpufreq.c:89 exynos_cpufreq_scale() warn: unsigned 'index' is never less than zero. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
| * | | cpufreq: exynos: Get booting freq value in exynos_cpufreq_initJonghwan Choi2013-01-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Boot_freq is for saving booting freq. But exynos_cpufreq_cpu_init is called in hotplug. If boot_freq is existed in exynos_cpufreq_cpu_init, boot_freq could be changed. Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
| * | | cpufreq: exynos: Show list of available frequenciesInderpal Singh2013-01-181-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add freq_attr attribute to show list of available frequencies. Signed-off-by: Donggeun Kim <dg77.kim@samsung.com> Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> Signed-off-by: KyungMin Park <kyungmin.park@samsung.com> Signed-off-by: Inderpal Singh <inderpal.singh@linaro.org> Reviewed-by: Amit Daniel Kachhap<amit.daniel@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
OpenPOWER on IntegriCloud