summaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86
diff options
context:
space:
mode:
authorPekka Enberg <penberg@cs.helsinki.fi>2009-06-16 21:28:45 +0200
committerLen Brown <len.brown@intel.com>2009-06-24 07:30:34 +0200
commitcede2cb6ee9b0ddaa3dbc9939418ff177a831600 (patch)
tree53bfc83cb52fe71164278874cf8670f41a8e2b4b /drivers/platform/x86
parentMerge branch 'bjorn-notify' into release (diff)
downloadlinux-cede2cb6ee9b0ddaa3dbc9939418ff177a831600.tar.xz
linux-cede2cb6ee9b0ddaa3dbc9939418ff177a831600.zip
eeepc-laptop: enable camera by default
If we leave the camera disabled by default, userspace programs (e.g. Skype, Cheese) leave the user out in the cold saying that the machine "has no camera." Therefore, it's better to enable camera by default and let people who really don't want it just disable the thing. To reduce power usage you should enable USB autosuspend: echo -n auto > /sys/bus/usb/drivers/uvcvideo/*:*/../power/level Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Corentin Chary <corentincj@iksaif.net> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/platform/x86')
-rw-r--r--drivers/platform/x86/eeepc-laptop.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/platform/x86/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c
index 46b5aa5e85f0..884d76b9e8ba 100644
--- a/drivers/platform/x86/eeepc-laptop.c
+++ b/drivers/platform/x86/eeepc-laptop.c
@@ -321,6 +321,15 @@ static const struct rfkill_ops eeepc_rfkill_ops = {
.set_block = eeepc_rfkill_set,
};
+static void __init eeepc_enable_camera(void)
+{
+ /*
+ * If the following call to set_acpi() fails, it's because there's no
+ * camera so we can ignore the error.
+ */
+ set_acpi(CM_ASL_CAMERA, 1);
+}
+
/*
* Sys helpers
*/
@@ -983,6 +992,9 @@ static int __init eeepc_laptop_init(void)
result = eeepc_hwmon_init(dev);
if (result)
goto fail_hwmon;
+
+ eeepc_enable_camera();
+
/* Register platform stuff */
result = platform_driver_register(&platform_driver);
if (result)