hotplug: ensure that the button subsystem is always registered
authorFelix Fietkau <nbd@nbd.name>
Thu, 7 Aug 2025 11:27:50 +0000 (13:27 +0200)
committerFelix Fietkau <nbd@nbd.name>
Thu, 7 Aug 2025 13:44:21 +0000 (15:44 +0200)
Its events are handled separately, so there usually is no hotplug.d directory
for it.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
hotplug-dispatch.c

index 6e999421a2194fe27367bf91ac249e4da04d8c7c..fd87a091e35017a1208cd42a6149c05ceafb39c9 100644 (file)
@@ -375,6 +375,9 @@ static void remove_subsystem(char *name)
 {
        struct hotplug_subsys *h;
 
+       if (!strcmp(name, "button"))
+               return;
+
        h = avl_find_element(&subsystems, name, h, node);
        if (!h)
                return;
@@ -388,6 +391,8 @@ static int init_subsystems(void)
        DIR *dir;
        struct dirent *dirent;
 
+       add_subsystem("button");
+
        dir = opendir(HOTPLUG_BASEDIR);
        if (dir == NULL)
                return ENOENT;