eeepc-laptop: enable camera by default
authorPekka Enberg <penberg@cs.helsinki.fi>
Tue, 16 Jun 2009 19:28:45 +0000 (19:28 +0000)
committerLen Brown <len.brown@intel.com>
Wed, 24 Jun 2009 05:30:34 +0000 (01:30 -0400)
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>
drivers/platform/x86/eeepc-laptop.c

index 46b5aa5e85f041214d4611a34b2282c516ec5f0e..884d76b9e8baa9d7744e1e2c6c877131c44bfced 100644 (file)
@@ -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)