Commit Graph

86 Commits

Author SHA1 Message Date
Yu Watanabe
09ff0aadf9 backlight: support to specify percentage of minimum brightness
Closes #29328.
2023-10-06 11:21:20 +09:00
Mike Yuan
022a19c9f6 reboot-util: cache the result of shall_restore_state 2023-08-13 12:54:56 +08:00
Daan De Meyer
a1af83728f device-util: Declare iterator variables inline 2023-07-12 20:05:18 +02:00
Zbigniew Jędrzejewski-Szmek
3ae6b3bf72 basic: rename util.h to logarithm.h
util.h is now about logarithms only, so we can rename it. Many files included
util.h for no apparent reason… Those includes are dropped.
2022-11-08 18:21:10 +01:00
Yu Watanabe
e0504dd011 backlight: fix issue on multiple graphics cards system
If a system has multiple graphics cards, then we cannot associate
platform backlight devices to backlight devices under PCI bus.

Previously, in such case, vaidate_device() for a raw backlight device
might erroneously detect a platform device and return false. So, users
could not save/load backlight level.

This makes validate_device() give up to associate platform devices on
non-PCI bus with raw backlight devices. That may cause unwanted
backlight level save or restore by systemd-backlight@.service, but users
can workaround that by masking specific instances of the service.

Closes #24223.
2022-08-17 14:22:43 +09:00
Yu Watanabe
f8ff4b6076 backlight: filter out unnecessary backlight devices by device enumerator 2022-08-17 14:21:36 +09:00
Yu Watanabe
b2f77b5e21 backlight: add/update several logs for validating backlight devices 2022-08-17 14:21:26 +09:00
Yu Watanabe
85ff4150e1 backlight: accept embedded display port named e.g. card0-eDP-1 2022-08-09 14:30:05 +09:00
Lennart Poettering
542bb9be7c tree-wide: unify some code that looks for --help in the command line 2022-03-31 11:44:46 +02:00
Yu Watanabe
f0f6508783 backlight: ignore error if the backlight device is already removed
Fixes #21997.
2022-01-05 12:56:37 +00:00
Lennart Poettering
2f82562bad alloc-util: add strdupa_safe() + strndupa_safe() and use it everywhere
Let's define two helpers strdupa_safe() + strndupa_safe() which do the
same as their non-safe counterparts, except that they abort if called
with allocations larger than ALLOCA_MAX.

This should ensure that all our alloca() based allocations are subject
to this limit.

afaics glibc offers three alloca() based APIs: alloca() itself,
strndupa() + strdupa(). With this we have now replacements for all of
them, that take the limit into account.
2021-10-14 15:57:52 +02:00
Zbigniew Jędrzejewski-Szmek
04499a70fb Drop the text argument from assert_not_reached()
In general we almost never hit those asserts in production code, so users see
them very rarely, if ever. But either way, we just need something that users
can pass to the developers.

We have quite a few of those asserts, and some have fairly nice messages, but
many are like "WTF?" or "???" or "unexpected something". The error that is
printed includes the file location, and function name. In almost all functions
there's at most one assert, so the function name alone is enough to identify
the failure for a developer. So we don't get much extra from the message, and
we might just as well drop them.

Dropping them makes our code a tiny bit smaller, and most importantly, improves
development experience by making it easy to insert such an assert in the code
without thinking how to phrase the argument.
2021-08-03 10:05:10 +02:00
Zbigniew Jędrzejewski-Szmek
c03916164d backlight: refactor get_max_brightness() to appease gcc
The old code was just fine, but gcc doesn't understand that max_brightness is
initialized. Let's rework it a bit to move some logic to the main function. Now
get_max_brightness() just retrieves and parses the attribute, and the main
function decides what to do with it.
2021-04-01 12:01:58 +02:00
Yu Watanabe
b77c929934 backlight: reindent comments 2021-02-22 23:45:55 +09:00
Yu Watanabe
d17d66f0ab backlight: reduce indentation a bit 2021-02-22 23:25:00 +09:00
Yu Watanabe
ba6c9b7994 backlight: same_device() may return negative errno 2021-02-22 23:11:28 +09:00
Yu Watanabe
7a9737bc7d backlight: exit earlier when unknown verb is specified 2021-02-22 23:00:46 +09:00
Yu Watanabe
d2acb93dc5 tree-wide: enable colorized logging for daemons when run in console
It may be useful when debugging daemons.
2021-02-01 01:13:44 +09:00
Daan De Meyer
bc556335b1 tree-wide: Drop custom formatting for print() help messages
I think this formatting was originally used because it simplified
adding new options to the help messages. However, these days, most
tools their help message end with "\nSee the %s for details.\n" so
the final line almost never has to be edited which eliminates the
benefit of the custom formatting used for printf() help messages.
Let's make things more consistent and use the same formatting for
printf() help messages that we use everywhere else.

Prompted by https://github.com/systemd/systemd/pull/18355#discussion_r567241580
2021-01-31 13:14:02 +09:00
Yu Watanabe
8dc1ad04c2 backlight: add several debug logs and adjust log level of non critical error
This may help to investigate issues.
2020-11-23 14:35:14 +01:00
Yu Watanabe
db9ecf0501 license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
Zbigniew Jędrzejewski-Szmek
afa8ffae99 various: remove assignments of unread variables 2020-09-22 17:58:11 +02:00
Yu Watanabe
3bacb7e73b backlight: validate read sysattr value
If actual_brightness is larger than max_brightness, then fall back to
use brightness attribute.

Also, if the saved value is invalid, then this makes remove the file in
/var/lib/systemd/backlight.

Hopefully fixes #17011.
2020-09-11 17:46:11 +09:00
Yu Watanabe
06d98bdc81 backlight: do not claim that ID_BACKLIGHT_CLAMP= property is not set 2020-09-11 17:44:20 +09:00
Plan C
b23728ec9f Add simple usage message to systemd-backlight (#16709) 2020-08-28 13:50:35 +02:00