eeepc-laptop: disable cpu speed control on EeePC 701
authorAlan Jenkins <alan-jenkins@tuffmail.co.uk>
Wed, 6 Jan 2010 21:07:37 +0000 (22:07 +0100)
committerLen Brown <len.brown@intel.com>
Sat, 16 Jan 2010 06:49:13 +0000 (01:49 -0500)
commitda8ba01deb98f3dc0558b1f5a37e64f40bba7904
tree25db93089a0ef7c22d764b88f8a47514155f8bc3
parent61c39bb354a1f791ba6f562b766a72e508a036ee
eeepc-laptop: disable cpu speed control on EeePC 701

The EeePC 4G ("701") implements CFVS, but it is not supported by the
pre-installed OS, and the original option to change it in the BIOS
setup screen was removed in later versions.  Judging by the lack of
"Super Hybrid Engine" on Asus product pages, this applies to all "701"
models (4G/4G Surf/2G Surf).

So Asus made a deliberate decision not to support it on this model.
We have several reports that using it can cause the system to hang [1].
That said, it does not happen all the time.  Some users do not
experience it at all (and apparently wish to continue "right-clocking").

Check for the EeePC 701 using DMI.  If met, then disable writes to the
"cpufv" sysfs attribute and log an explanatory message.

Add a "cpufv_disabled" attribute which allow users to override this
policy.  Writing to this attribute will log a second message.

The sysfs attribute is more useful than a module option, because it
makes it easier for userspace scripts to provide consistent behaviour
(according to user configuration), regardless of whether the kernel
includes this change.

[1] <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559578>

Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/platform/x86/eeepc-laptop.c