chiark / gitweb /
udev: firmware - do not created /run/udev/firmware-missing/
authorKay Sievers <kay@vrfy.org>
Sun, 3 Mar 2013 17:20:09 +0000 (18:20 +0100)
committerKay Sievers <kay@vrfy.org>
Sun, 3 Mar 2013 17:31:52 +0000 (18:31 +0100)
The userspace firmware loader is deprecated now, and will be entirely
removed when we depend on a kernel version with the built-in firmware
loader available.

TODO
src/udev/udev-builtin-firmware.c
src/udev/udevadm-info.c

diff --git a/TODO b/TODO
index 5f351b24a6b274fb2aae85827265e635ee3f7b4e..4ea0471a1f96bdde9c5a122c9597d456f260cf10 100644 (file)
--- a/TODO
+++ b/TODO
@@ -421,7 +421,7 @@ Features:
 * ConditionSecurity= should learn about IMA and SMACK
 
 * udev:
-  - remove all (misguided from day 1) userspace firmware_class handling
+  - remove src/udev/udev-builtin-firmware.c (CONFIG_FW_LOADER_USER_HELPER=n)
   - move to LGPL
   - unify utf8 validator code with shared/
   - kill scsi_id
index 9cb42946332e96f74dc3dd263243d1d80b73ed71..b80940b6efde9bed416f26d1135e952e94c0ccd8 100644 (file)
@@ -78,8 +78,6 @@ static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], boo
 {
         struct udev *udev = udev_device_get_udev(dev);
         static const char *searchpath[] = { FIRMWARE_PATH };
-        char fwencpath[UTIL_PATH_SIZE];
-        char misspath[UTIL_PATH_SIZE];
         char loadpath[UTIL_PATH_SIZE];
         char datapath[UTIL_PATH_SIZE];
         char fwpath[UTIL_PATH_SIZE];
@@ -111,23 +109,10 @@ static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], boo
                         break;
         }
 
-        util_path_encode(firmware, fwencpath, sizeof(fwencpath));
-        strscpyl(misspath, sizeof(misspath), "/run/udev/firmware-missing/", fwencpath, NULL);
         strscpyl(loadpath, sizeof(loadpath), udev_device_get_syspath(dev), "/loading", NULL);
 
         if (fwfile == NULL) {
-                int err;
-
-                /* This link indicates the missing firmware file and the associated device */
                 log_debug("did not find firmware file '%s'\n", firmware);
-                do {
-                        err = mkdir_parents(misspath, 0755);
-                        if (err != 0 && err != -ENOENT)
-                                break;
-                        err = symlink(udev_device_get_devpath(dev), misspath);
-                        if (err != 0)
-                                err = -errno;
-                } while (err == -ENOENT);
                 rc = EXIT_FAILURE;
                 /*
                  * Do not cancel the request in the initrd, the real root might have
@@ -146,9 +131,6 @@ static int builtin_firmware(struct udev_device *dev, int argc, char *argv[], boo
                 goto exit;
         }
 
-        if (unlink(misspath) == 0)
-                util_delete_path(udev, misspath);
-
         if (!set_loading(udev, loadpath, "1"))
                 goto exit;
 
index 0f4565eda8abaadb9f49355502106a9ad7cdb4e2..c47821401adb9d5e8abead2911c2c7a60b7c2543 100644 (file)
@@ -256,12 +256,6 @@ static void cleanup_db(struct udev *udev)
                 cleanup_dir(dir, 0, 1);
                 closedir(dir);
         }
-
-        dir = opendir("/run/udev/firmware-missing");
-        if (dir != NULL) {
-                cleanup_dir(dir, 0, 1);
-                closedir(dir);
-        }
 }
 
 static struct udev_device *find_device(struct udev *udev, const char *id, const char *prefix)