[systemd-commits] 2 commits - man/systemd.special.xml src/backlight
Lennart Poettering
lennart at kemper.freedesktop.org
Tue Jun 10 09:58:39 PDT 2014
man/systemd.special.xml | 58 ++++++++++++++++++++++++++++++++++------------
src/backlight/backlight.c | 13 +++++++---
2 files changed, 53 insertions(+), 18 deletions(-)
New commits:
commit 4cd2b2cf8ca585d15ebc859701b346658262b5bb
Author: Denis Tikhomirov <dvtikhomirov at gmail.com>
Date: Thu Jun 5 23:59:40 2014 +0400
backlight: Do not clamp brightness for LEDs
https://bugs.freedesktop.org/show_bug.cgi?id=77092
On Thu, Jun 05, 2014 at 08:37:20AM +0200, Lennart Poettering wrote:
> The patch is line-broken, please send an uncorrupted patch!
I am very sorry, I forgot that my client limits line width. I will use
mutt now on.
> clamp_brightness() clamps the brightness value to the range of the
> actual device. This is a recent addition that was added to deal with
> driver updates where the resolution is changed. I don't think this part
> should be dropped for LED devices. The clamp_brightness() call hence
> should be called unconditionally, however, internally it should use a
> different min_brightness value if something is an !backlight devices...
Thank you for explanation, this sounds very reasonable to me. Please,
see updated patch:
diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
index 691472c..4d94ebf 100644
--- a/src/backlight/backlight.c
+++ b/src/backlight/backlight.c
@@ -225,11 +225,13 @@ static unsigned get_max_brightness(struct udev_device *device) {
/* Some systems turn the backlight all the way off at the lowest levels.
* clamp_brightness clamps the saved brightness to at least 1 or 5% of
- * max_brightness. This avoids preserving an unreadably dim screen, which
- * would otherwise force the user to disable state restoration. */
+ * max_brightness in case of 'backlight' subsystem. This avoids preserving
+ * an unreadably dim screen, which would otherwise force the user to
+ * disable state restoration. */
static void clamp_brightness(struct udev_device *device, char **value, unsigned max_brightness) {
int r;
unsigned brightness, new_brightness, min_brightness;
+ const char *subsystem;
r = safe_atou(*value, &brightness);
if (r < 0) {
@@ -237,7 +239,12 @@ static void clamp_brightness(struct udev_device *device, char **value, unsigned
return;
}
- min_brightness = MAX(1U, max_brightness/20);
+ subsystem = udev_device_get_subsystem(device);
+ if (streq_ptr(subsystem, "backlight"))
+ min_brightness = MAX(1U, max_brightness/20);
+ else
+ min_brightness = 0;
+
new_brightness = CLAMP(brightness, min_brightness, max_brightness);
if (new_brightness != brightness) {
char *old_value = *value;
commit 51cb9d734a182c4892a6b31f58d75489a2ca432b
Author: Lennart Poettering <lennart at poettering.net>
Date: Tue Jun 10 18:52:28 2014 +0200
man: updates to the passive target section
diff --git a/man/systemd.special.xml b/man/systemd.special.xml
index 8ccccc2..38b94a7 100644
--- a/man/systemd.special.xml
+++ b/man/systemd.special.xml
@@ -866,7 +866,13 @@
will be stopped before the
network -- to whatever level
it might be set up then -- is
- shut down. Also see <ulink
+ shut down. It is hence useful
+ when writing service files
+ that require network access on
+ shutdown, which should order
+ themselves after this target,
+ but not pull it in. Also see
+ <ulink
url="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget">Running
Services After the Network is
up</ulink> for more
@@ -882,7 +888,6 @@
an LSB header referring to the
<literal>$network</literal>
facility.</para>
-
</listitem>
</varlistentry>
<varlistentry>
@@ -896,7 +901,12 @@
user/group name lookups for
which
<filename>nss-user-lookup.target</filename>
- should be used. systemd
+ should be used. All services
+ for which the availability of
+ full host/network name
+ resolution is essential should
+ be ordered after this target,
+ but not pull it in. systemd
automatically adds
dependencies of type
<varname>After=</varname> for
@@ -918,7 +928,16 @@
host/network name lookups for
which
<filename>nss-lookup.target</filename>
- should be used. </para>
+ should be used. All services
+ for which the availability of
+ the full user/group database is
+ essential should be ordered
+ after this target, but not
+ pull it in. Note that system
+ users are always resolvable,
+ and hence do not require any
+ special ordering against this
+ target.</para>
</listitem>
</varlistentry>
<varlistentry>
@@ -943,19 +962,18 @@
should use
<filename>network-online.target</filename>
(see above).</para>
-
- <para>Again, this target unit
- is <emphasis>not</emphasis>
- suitable for pulling in other
- units, it is only useful for
- ordering.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>rpcbind.target</filename></term>
<listitem>
- <para>systemd automatically
- adds dependencies of type
+ <para>The portmapper/rpcbind
+ pulls in this target and
+ orders itself before it, to
+ indicate its
+ availability. systemd
+ automatically adds
+ dependencies of type
<varname>After=</varname> for
this target unit to all SysV
init script service units with
@@ -967,14 +985,24 @@
<varlistentry>
<term><filename>time-sync.target</filename></term>
<listitem>
- <para>systemd automatically
- adds dependencies of type
+ <para>Services responsible for
+ synchronizing the system clock
+ from a remote source (such as
+ NTP client implementations)
+ should pull in this target and
+ order themselves before
+ it. All services where correct
+ time is essential should be
+ ordered after this unit, but
+ not pull it in. systemd
+ automatically adds
+ dependencies of type
<varname>After=</varname> for
this target unit to all SysV
init script service units with
an LSB header referring to the
<literal>$time</literal>
- facility.</para>
+ facility. </para>
</listitem>
</varlistentry>
</variablelist>
More information about the systemd-commits
mailing list