summaryrefslogtreecommitdiff
path: root/src/up-daemon.c
diff options
context:
space:
mode:
authorRichard Hughes <richard@hughsie.com>2010-03-29 14:16:11 +0100
committerRichard Hughes <richard@hughsie.com>2010-03-29 14:16:11 +0100
commit4620a9d122ef52c1b806b8d634c4a53ed2fe3134 (patch)
treec343a964a89f495286e23699c55cf2c0897550de /src/up-daemon.c
parentedffa8830d09fafe3624b64b1e030fa9c8af4080 (diff)
downloadupower-4620a9d122ef52c1b806b8d634c4a53ed2fe3134.tar.gz
Get the kernel sleep capabilities from the backend, rather than hardcoding Linux specifics
Diffstat (limited to 'src/up-daemon.c')
-rw-r--r--src/up-daemon.c30
1 files changed, 2 insertions, 28 deletions
diff --git a/src/up-daemon.c b/src/up-daemon.c
index 22e21d4..ab6c21c 100644
--- a/src/up-daemon.c
+++ b/src/up-daemon.c
@@ -108,33 +108,6 @@ G_DEFINE_TYPE (UpDaemon, up_daemon, G_TYPE_OBJECT)
#define UP_DAEMON_POLL_BATTERY_NUMBER_TIMES 5
/**
- * up_daemon_check_sleep_states:
- **/
-static gboolean
-up_daemon_check_sleep_states (UpDaemon *daemon)
-{
- gchar *contents = NULL;
- GError *error = NULL;
- gboolean ret;
- const gchar *filename = "/sys/power/state";
-
- /* see what kernel can do */
- ret = g_file_get_contents (filename, &contents, NULL, &error);
- if (!ret) {
- egg_warning ("failed to open %s: %s", filename, error->message);
- g_error_free (error);
- goto out;
- }
-
- /* does the kernel advertise this */
- daemon->priv->kernel_can_suspend = (g_strstr_len (contents, -1, "mem") != NULL);
- daemon->priv->kernel_can_hibernate = (g_strstr_len (contents, -1, "disk") != NULL);
-out:
- g_free (contents);
- return ret;
-}
-
-/**
* up_daemon_check_encrypted_swap:
*
* user@local:~$ cat /proc/swaps
@@ -1081,7 +1054,8 @@ up_daemon_init (UpDaemon *daemon)
G_CALLBACK (up_daemon_properties_changed_cb), daemon);
/* check if we have support */
- up_daemon_check_sleep_states (daemon);
+ daemon->priv->kernel_can_suspend = up_backend_kernel_can_suspend (daemon->priv->backend);
+ daemon->priv->kernel_can_hibernate = up_backend_kernel_can_hibernate (daemon->priv->backend);
/* do we have enough swap? */
if (daemon->priv->kernel_can_hibernate) {