From 92cf0278b0b819f49d3853a84e70d022c48a6d48 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Sat, 12 Feb 2022 22:57:43 +0100 Subject: [PATCH] trickle-charge: Don't write to already configured supplies Don't write charge type to devices that are already setup with that charge type, it serves no purpose and might cause bugs in some drivers. --- src/ppd-action-trickle-charge.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ppd-action-trickle-charge.c b/src/ppd-action-trickle-charge.c index 3c573ca..8d4cb39 100644 --- a/src/ppd-action-trickle-charge.c +++ b/src/ppd-action-trickle-charge.c @@ -54,8 +54,13 @@ set_charge_type (PpdActionTrickleCharge *action, for (l = devices; l != NULL; l = l->next) { GUdevDevice *dev = l->data; + const char *value; - if (!g_udev_device_has_sysfs_attr (dev, CHARGE_TYPE_SYSFS_NAME)) + value = g_udev_device_get_sysfs_attr_uncached (dev, CHARGE_TYPE_SYSFS_NAME); + if (!value) + continue; + + if (g_strcmp0 (charge_type, value) == 0) continue; ppd_utils_write_sysfs (dev, CHARGE_TYPE_SYSFS_NAME, charge_type, NULL);