Commit graph

414 commits

Author SHA1 Message Date
Landry Breuil
527019ea82 openbsd: update ac online status too
Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-03-21 18:39:07 +00:00
Landry Breuil
4ba9516b6a openbsd: cast battery_life to gdouble
Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-03-21 18:39:05 +00:00
Landry Breuil
543159173a openbsd: Don't update percentage, probably missing a cast
Fix some return codes, and give sane defaults to ac/batt devices

Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-03-21 18:39:04 +00:00
Landry Breuil
c9296f51ba openbsd: Use separate 'static' devices for ac and battery
Move UpApmNative object to its own header for use by UpBackend

Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-03-21 18:39:02 +00:00
Landry Breuil
a5e0d246e0 openbsd: add dumb ApmNative gobject
Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-03-21 18:39:01 +00:00
Landry Breuil
ba3ffa0052 openbsd: fetch batt info from APM_IOC_GETPOWER ioctl()
Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-03-21 18:38:57 +00:00
Landry Breuil
6b32cea9c3 openbsd: do a delayed add for device coldplugging, and emit device-added signal
Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-03-21 18:38:56 +00:00
Landry Breuil
5e36534edf trivial: actually return a string
Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-03-21 18:38:54 +00:00
Landry Breuil
23948aed38 trivial: return FALSE in callback
Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-03-21 18:38:53 +00:00
Landry Breuil
41e678a8f4 openbsd: Add GObject stuff + wip on apm_thread/apm_event_cb
Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-03-21 18:38:51 +00:00
Landry Breuil
4746c7df50 openbsd: add skeleton code
Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-03-21 18:38:50 +00:00
Landry Breuil
d81b7ebee4 openbsd: add openbsd backend SUBDIR
Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-03-21 18:38:46 +00:00
Richard Hughes
e4574b70ac Correct the DBus-glib property name for LidForceSleep 2011-03-14 11:25:06 +00:00
Richard Hughes
b0bbb29df1 Add a config option 'EnableWattsUpPro' to disable the Watts Up Pro device
Annoyingly, the device used in the Watts Up Pro device seems to be a generic
USB->serial adaptor, which means it doesn't have a unique vendor and product
ID. If we try to probe for the WUP device, we can actually upset other devices
that are not expecing to be probed. This fixes #33846 although we actually
still need to be more strict in detecting a true WUP device.
2011-03-14 11:01:12 +00:00
Michael Biebl
d1e5f6a4da Depend on stable GUdev API
The GUdev API was declared stable in udev release 147.
Bump the version in the configure check and drop the
G_UDEV_API_IS_SUBJECT_TO_CHANGE defines.

Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-03-09 11:03:44 +00:00
Arnaud Patard
8b9ee53133 up-input.c: fix bitmap check
In up_input_coldplug(), some checks are done on the input device found in order
to detect if it's a lid switch or not.

The following one is problematic :

         /* convert to a bitmask */
         num_bits = up_input_str_to_bitmask (contents, bitmask, sizeof (bitmask));
         if (num_bits != 1) {
                 g_debug ("not one bitmask entry for %s", native_path);
                 ret = FALSE;
                 goto out;
         }

Checking if there's only 1 bit set is wrong. It's nice if you have a x86 with
acpi using 1 input device for the lid switch but it's not always nice.
One can create input devices with gpios-keys like this:

 static struct gpio_keys_button keys[] = {
         {
                 .code = SW_LID,
                 .gpio = ...,
                 .type = EV_SW,
                 .desc = "Lid Switch",
         },
         {
                 .code = SW_RFKILL_ALL,
                 .gpio = ...,
                 .type = EV_SW,
                 .desc = "rfkill",
         },
 };

The resulting SW bitmap will be 9 and thus there are 2 bits sets and due to the
mentionned check, the device is ignored by upower.

As a fix, I'm checking if the number of bits is between 0 and SW_CNT
bits.

Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-03-04 17:29:44 +00:00
Richard Hughes
38199e44ff Add an option for polling dock devices in UPower.conf, defaulting to false 2011-03-03 14:02:27 +00:00
Michael Biebl
11301ae3d6 Drop devkit and devkit-power-daemon symlinks
Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-02-23 16:18:53 +00:00
Richard Hughes
b31de44eee Add a LidForceSleep property to ensure that we don't melt any laptops
We still need to add the DMI quirks, but I'm waiting for the
community to supply them now.
2011-02-02 13:44:09 +00:00
Richard Hughes
17b7aef701 linux: use the number of active DRM devices to determine the system docked status
Not ideal, but better than relying on ACPI.
2011-01-04 18:05:09 +00:00
Richard Hughes
c507b516d4 Add an IsDocked binary property to the main interface 2011-01-04 17:01:59 +00:00
Richard Hughes
2af7a6e091 Support the power_now sysfs attribute to get time remaining on new kernels
The kernel has removed the insanity of providing current_now in either
(and unspecified) units of uVh or uWh and instead provides power_now
for the power rate value.

Related commits:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=b137b9942a07843c64a934cfdb7d43155e507e13
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7faa144a518c456e2057918f030f50100144ccc6

Thanks to Florian Eitel for the initial patch.
2011-01-04 09:30:22 +00:00
Martin Pitt
83f1a6394b Testsuite: Reduce race condition in history purging check
Previously we set the "max age" to seconds and then waited for exactly 2
seconds until we wrote the history data back to files. In a lot of cases this
actually took a tad more than 2 seconds, which caused the second-last history
entry to disappear as well.

Reduce the waiting to 1.1 seconds, which will now give us 900 ms to write back
the history file. Still not ideal, but the best we can do in the test suite.
2010-11-05 09:56:47 -04:00
Martin Pitt
e38cddbb8e Fix self check to work as non-root
In our test suite, create and use a temporary directory for our history. This
makes the history check work as non-root.

Consequently, drop the skipping of the history check for "make distcheck".
2010-11-04 23:32:08 -04:00
Martin Pitt
a4353d0801 UpHistory: Add method to set history dir
Add up_history_set_directory() method to change the directory for history
files. This is mainly useful for our test suite.
2010-11-04 23:29:34 -04:00
Martin Pitt
04dd349103 Fix compilation eror against Linux 2.6.36
Include <stdint.h> so that <linux/fs.h> can use uint64_t. Arguably a bug in the
kernel headers, but it costs us nothing to safeguard against it.

  CC     libupshared_la-up-device-idevice.lo
In file included from sysfs-utils.c:39:0:
/usr/include/linux/fs.h:37:2: error: expected specifier-qualifier-list before ‘uint64_t’
2010-11-04 18:45:10 -04:00
Richard Hughes
98d6dbc8b0 Ensure the self check code can find UPower.conf 2010-11-01 12:48:31 +00:00
Richard Hughes
59893663fb Port from EggDebug to the GLib built-in logging framework 2010-11-01 11:28:31 +00:00
Michal Schmidt
e76b05967b remove the UP_DEVICE_SUPPLY_CHARGED_THRESHOLD heuristic
When a full battery starts to discharge, but reports its status as 'Unknown',
it takes a few minutes before g-p-m notices any change.
upowerd guesses the battery is fully charged as long as it has over 90% charge.

I see no reason to delay the reporting of discharging of the battery.
Let's remove this heuristic.

Signed-off-by: Richard Hughes <richard@hughsie.com>
2010-10-21 16:18:44 +01:00
Alex Murray
5387183d53 Keyboard backlight of zero is not an error
Fixes a fail to detect keyboard backlight when initial value is zero

Signed-off-by: Richard Hughes <richard@hughsie.com>
2010-10-18 12:52:53 +01:00
Alex Murray
5d902c22b7 Add support for controlling leds keyboard backlights
Add a new DBus interface based on the QoS one to provide for controlling a
keyboard backlight via the Linux leds interface.

Signed-off-by: Richard Hughes <richard@hughsie.com>
2010-10-11 11:03:06 +01:00
Richard Hughes
163d5fc355 Do not continue to poll the serial port if there is no Watts Up Pro adaptor 2010-09-20 16:22:45 +01:00
Richard Hughes
260e62d872 Only save by default 7 days data to stop the log files becoming huge. Fixes rh#634228
Parsing huge log files at startup will demolish startup time. Cull old
entries when the file is resaved to keep them sane. Also add the needed
self tests to check this in the future.
2010-09-17 16:15:38 +01:00
Richard Hughes
7e45ad91ed trivial: fix make distcheck 2010-09-17 16:10:39 +01:00
Matthias Clasen
4a53c56a91 Fix up_polkit_get_subject() D-BUS error return
All callers of up_polkit_get_subject() just exit without returning an error to
the D-BUS caller if they fail to get the PolicyKit subject. Do that in
up_polkit_get_subject() itself now, for convenience.

Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
2010-08-19 13:10:49 +02:00
Matthias Clasen
3967e062ef Fix double D-BUS return in up_daemon_*_allowed
Do not send a D-BUS return message any more in up_polkit_is_allowed(), since
this makes it hard for callers to ensure that they return exactly one result to
the D-BUS caller. Instead, just pass a GError to the caller.

Update up_daemon_suspend_allowed() and up_daemon_hibernate_allowed()
accordingly, to always return either a result or an error.

Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
2010-08-19 13:04:38 +02:00
Matthias Clasen
d815c491eb Add missing D-Bus return in up_qos_cancel_request()
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
2010-08-19 12:49:06 +02:00
Martin Pitt
fa536eacc4 Revert "Add missing D-Bus return in up_qos_cancel_request()"
This reverts commit 1fc5aae71f.
2010-08-19 12:48:04 +02:00
Matthias Clasen
1fc5aae71f Add missing D-Bus return in up_qos_cancel_request()
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
2010-08-19 12:45:13 +02:00
Matthias Clasen
43ed5814cf Free GErrors after returning them
dbus_g_method_return_error() does not free or take ownership of the passed
GError, we need to free it ourselves.

Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
2010-08-19 12:25:00 +02:00
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