Commit graph

374 commits

Author SHA1 Message Date
Richard Hughes
a4e099c5bf Ensure we've initialized errors when calling into PolicyKit 2010-08-10 15:52:12 +01:00
Richard Hughes
0660e5d207 Fix compile with the latest PolicyKit release 2010-08-10 15:51:35 +01:00
Richard Hughes
4fb88d5dc7 trivial: fix make distcheck 2010-07-12 11:50:05 +01:00
Martin Pitt
79c7b27332 Dynamic testing for enough hibernate swap
Checking for enough hibernation swap space at the daemon startup is not
sufficient, since both active memory as well as swap space change over time.
Now check whenever we receive a hibernate request or read the can-hibernate
property.
2010-07-07 15:38:22 +02:00
Martin Pitt
1d6f7ddfa3 fix typo in numerical constant
*brown paperbag*
2010-07-07 15:31:48 +02:00
Martin Pitt
c4a1c15d0c Fix UP_DAEMON_WATERLINE harder
Commmit fc7c6e003 had a thinko, UP_DAEMON_WATERLINE specifies (active
memory)/(available swap), not the other way around. So replace it with 99%
instead.

Also update the documentation of up_backend_get_used_swap() to explain what the
returned percentage actually means.
2010-07-07 15:08:43 +02:00
Martin Pitt
04eefe984c src/linux/up-backend.c: Add missing #include
We need sys/wait.h to get the WEXITSTATUS (and related) macros.
2010-07-07 11:20:47 +02:00
Martin Pitt
fc7c6e003a Increase UP_DAEMON_SWAP_WATERLINE
Native Linux suspend-to-disk does not use compression, and needs 2 KB of page
meta information for each MB of active memory. So bump the previous waterline
of 80% of active memory to 100.2%. Add an extra .05% to prevent rounding errors.

This should make the prediction whether hibernate is going to work very
accurate. However, it might prevent hibernate for folks who use an alternative
userspace solution like uswsusp which do support compression.

http://lists.freedesktop.org/archives/devkit-devel/2010-July/000867.html
2010-07-07 11:14:32 +02:00
Richard Hughes
6118ac82ec Get the powersave command from the backend rather than hardcoding Linux specifics 2010-07-07 10:07:37 +01:00
Mariusz Ceier
ac8fa9d5be up-device-supply.c: Fix #27902 Bug - Daemon Segmentation Fault
In linux backend, g_object_set was called with wrong
argument types for time-to-empty,time-to-full and percentage
properties. This patch uses explicit casts in the same way as freebsd
backend.

Signed-off-by: Mariusz Ceier <mceier@gmail.com>
2010-07-02 14:04:42 +01:00
Victor Lowther
6770e8cb34 Use pm-is-supported to test if various sleep modes are supported.
pm-is-supported does all the work upower was duplicating, and it handles more
use cases than the old upower code did.  No point in duplicating functionality.

Signed-off-by: Richard Hughes <richard@hughsie.com>
2010-06-14 08:59:40 +01:00
Victor Lowther
da3a51d2e8 Cast cnt to int to stop gcc from complaining.
GCC was complaining about int and ssize_t being differnt types.
Make it quit doing that.
2010-06-14 08:56:27 +01:00
Richard Hughes
6ba86292e9 Port to GTest 2010-06-05 17:00:34 +01:00
Richard Hughes
82a6a882d0 Assign names to our idle sources when using new versions of glib2
This makes it possible to profile more accurately using systemtap
2010-06-05 15:55:29 +01:00
Richard Hughes
34add0cfe2 Add UP_DEVICE_KIND_COMPUTER as we'll need UP_DEVICE_KIND_TABLET for wacom tablets 2010-06-01 14:25:10 +01:00
Steven Walter
6bb6602c06 When calculating used swap space, only use anonymous pages
up_daemon_check_swap_space uses the Active: line from /proc/meminfo to
determine the amount of swap the system needs to be able to suspend.  However,
because Active: includes both anonymous and file-backed pages, this greatly
overestimates the amount of swap needed.  File-backed pages can be written back
to disk and so do not consume swap.

Instead, up_daemon_check_swap_space should use Active(anon): from /proc/meminfo
because only anonymous pages need to be written out to swap during a suspend.

Signed-off-by: Richard Hughes <richard@hughsie.com>
2010-05-29 13:12:57 +01:00
Richard Hughes
37504601f3 trivial: print the specific error from libusb1 2010-05-28 15:15:11 +01:00
Richard Hughes
758ad538ce trivial: Get rid of some over-verbose debugging 2010-05-28 15:13:28 +01:00
Richard Hughes
181f673908 trivial: Rename a few 'DeviceKit-power' strings we missed 2010-05-28 15:00:07 +01:00
Bastien Nocera
18c8d26b02 Fix compilation of the idevice device
My fault :(
2010-05-28 14:39:16 +01:00
Bastien Nocera
5cec5b180f Fix up a few leaks Richard introduced...
Signed-off-by: Richard Hughes <richard@hughsie.com>
2010-05-28 14:11:04 +01:00
Richard Hughes
36bf9c5cde trivial: fix a tiny warning reported by clang with the capacity code intial value 2010-05-28 14:10:22 +01:00
Richard Hughes
5c17b5a147 Fix up a potential crasher in the CSR device code 2010-05-28 14:03:56 +01:00
Bastien Nocera
7019d214f8 Add battery query support for iDevices
https://bugs.freedesktop.org/show_bug.cgi?id=28286
Signed-off-by: Richard Hughes <richard@hughsie.com>
2010-05-28 13:49:56 +01:00
Richard Hughes
2b826a3169 Port UPower to libusb1 to avoid crappy unfixable crashes 2010-05-18 09:37:17 +01:00
Kyle McMartin
5881e7435f Detect when the kernel changes the reported charge units. Fixes rh#587112
Signed-off-by: Richard Hughes <richard@hughsie.com>
2010-05-11 15:53:48 +01:00
Richard Hughes
5e644fd2e0 trivial: correct some debugging statements that made things more confusing 2010-05-10 22:47:50 +01:00
Richard Hughes
3952c6d98a Ensure we sent ::notify signals when UpDaemon properties change 2010-05-10 22:40:17 +01:00
Richard Hughes
ab1bc59e56 Ensure we send ::Sleeping() if clients do not call AboutToSleep() 2010-05-07 20:52:00 +01:00
Richard Hughes
43fd837e00 Only emit ::Sleeping() after we've checked AboutToSleep() 2010-05-07 20:38:46 +01:00
Sascha Silbe
4baf27ae15 fix recognition of lithium iron phosphate (LiFePO4) batteries
The linux kernel returns "LiFe" for lithium iron phosphate batteries,
not LiFo.
2010-05-03 15:18:44 +01:00
Richard Hughes
3dee7b22f8 Provide UpDaemon with C setters rather than relying on GObject properties 2010-04-19 17:05:59 +01:00
Richard Hughes
5f1e64709b Add a config file with SleepTimeout and AllowHibernateEncryptedSwap entries 2010-04-14 10:08:57 +01:00
Michael Biebl
3d62778377 trivial: Add stubs to dummy backend to make it compile again. 2010-03-30 08:39:17 +01:00
Richard Hughes
d1bd4d42fd Get the suspend and hibernate commands from the backend, rather than hardcoding Linux specifics 2010-03-29 16:42:35 +01:00
Richard Hughes
4b5dc883e6 Get the swap size from the backend, rather than hardcoding Linux specifics 2010-03-29 14:21:51 +01:00
Richard Hughes
0198498350 Get the encrypted swap status from the backend, rather than hardcoding Linux specifics 2010-03-29 14:18:42 +01:00
Richard Hughes
4620a9d122 Get the kernel sleep capabilities from the backend, rather than hardcoding Linux specifics 2010-03-29 14:16:11 +01:00
Richard Hughes
6d607a406c Convert the daemon to using objects from libupower-glib, not devkit-power-gobject 2010-03-26 12:49:01 +00:00
Richard Hughes
daa2d5f3b7 Do not warn what we are correcting energy-full when there is no data to copy 2010-03-26 11:29:38 +00:00
Michael Biebl
37a56ea0da Make dummy backend usable for architectures without a native backend
Currently, the dummy backend is mostly used to run the unit tests.
We want to make it usable though on architectures, like GNU/Hurd, which
dont't have a native backend yet.

Compile two different flavours of the dummy backend: one with the TEST
code enabled and which is used by up_self_test, and one without the TEST
code, used by upowerd when the dummy backend is selected.

Patch is based on work by Pino Toscano.

Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
2010-03-26 11:17:49 +01:00
Michael Biebl
9f26b3f866 Remove libdevkit-power-gobject dependency from backends
The backends [linux/freebsd/dummy] no longer require
libdevkit-power-gobject, so
- remove -I$(top_srcdir)/devkit-power-gobject from the include path
- don't link the backends against libdevkit-power-gobject but upowerd
  (which unfortunately still needs it).

Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
2010-03-26 11:15:26 +01:00
Michael Biebl
197f994945 Fix up the FreeBSD backend compile
Signed-off-by: Richard Hughes <richard@hughsie.com>
2010-02-23 21:31:41 +00:00
Richard Hughes
fd94c5d485 trivial: remove two unused variables which break the build when using strict warnings 2010-02-09 10:44:37 +00:00
Martin Pitt
b93915a377 Add {Suspend,Hibernate}Allowed D-Bus methods
Add two D-Bus server methods to check whether the caller has the privilege to
suspend or hibernate.

This enables us to check for PK privileges in UpClient's
can_{suspend,hibernate} properties, so that clients like gnome-session or
gnome-power-manager hide the suspend/hibernate related actions if the admin or
OEM disabled suspend/hibernate through a PolicyKit .pkla file.

https://bugs.freedesktop.org/show_bug.cgi?id=26473
2010-02-09 10:42:36 +00:00
Martin Pitt
a057e36751 Add up_polkit_is_allowed() function
Add a new polkit helper function up_polkit_is_allowed() which checks whether
the caller has or can get a particular privilege, but without interactive
authentication.

https://bugs.freedesktop.org/show_bug.cgi?id=26473
2010-02-09 10:42:34 +00:00
Richard Hughes
02914e71ec Add a new method and two new signals to inform userspace of the pending suspend and the resume event
Based on an idea from Matthew Garrett and Lennart Poettering
2010-02-08 12:18:50 +00:00
Richard Hughes
4214c6a345 trivial: do not free errors that we do not allocate in the error paths 2010-02-07 21:37:00 +00:00
Richard Hughes
b9d7b8aea9 trivial: Fix up a void marshalling type 2010-02-07 21:35:18 +00:00
Michael Biebl
8e3791afe4 devkit-power-gobject/up-enum.h be gone
Port from devkit-power-gobject/up-enum.h to libupower-glib/up-types.h
2010-02-06 13:46:03 +00:00