From 3c1898863fbf9c94cfb0258ae380b67b44c4b466 Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Tue, 15 Dec 2009 16:14:14 +0100 Subject: [PATCH] remove remaining support for CONFIG_SYSFS_DEPRECATED --- Makefile.am | 2 +- NEWS | 5 +++++ TODO | 1 - libudev/libudev-device.c | 13 +------------ libudev/libudev-enumerate.c | 12 ------------ udev/udevd.c | 34 ++++++---------------------------- 6 files changed, 13 insertions(+), 54 deletions(-) diff --git a/Makefile.am b/Makefile.am index 62fe5a0f0..993d70075 100644 --- a/Makefile.am +++ b/Makefile.am @@ -29,7 +29,7 @@ CLEANFILES = # libudev # ------------------------------------------------------------------------------ LIBUDEV_CURRENT=5 -LIBUDEV_REVISION=1 +LIBUDEV_REVISION=2 LIBUDEV_AGE=5 SUBDIRS += libudev/docs diff --git a/NEWS b/NEWS index 1b7377efb..9977eaa6d 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,11 @@ udev 150 ======== Bugfixes. +Kernels with SYSFS_DEPRECATED=y are not supported since a while. Many users +depend on the current sysfs layout and the information not available in the +deprecated layout. All remaining support for the deprecated sysfs layout is +removed now. + udev 149 ======== Fix for a possible endless loop in the new input_id program. diff --git a/TODO b/TODO index bc94f1b0e..1fc80e1a4 100644 --- a/TODO +++ b/TODO @@ -3,5 +3,4 @@ o get rid of "scan all devices to find myself" libusb interface if it can not be fixed, drop libusb entirely and add a simple wrapper around the Linux usb ioctls we need - o drop all support for the DEPRECATED sysfs layout o remove deprecated BUS=, SYSFS{}=, ID= keys diff --git a/libudev/libudev-device.c b/libudev/libudev-device.c index add1c99ec..dffeed0b7 100644 --- a/libudev/libudev-device.c +++ b/libudev/libudev-device.c @@ -508,20 +508,9 @@ static struct udev_device *device_new_from_parent(struct udev_device *udev_devic char path[UTIL_PATH_SIZE]; const char *subdir; - /* follow "device" link in deprecated sys layout */ - if (strncmp(udev_device->devpath, "/class/", 7) == 0 || - strncmp(udev_device->devpath, "/block/", 7) == 0) { - util_strscpyl(path, sizeof(path), udev_device->syspath, "/device", NULL); - if (util_resolve_sys_link(udev_device->udev, path, sizeof(path)) == 0) { - udev_device_parent = udev_device_new_from_syspath(udev_device->udev, path); - if (udev_device_parent != NULL) - return udev_device_parent; - } - } - util_strscpy(path, sizeof(path), udev_device->syspath); subdir = &path[strlen(udev_get_sys_path(udev_device->udev))+1]; - while (1) { + for (;;) { char *pos; pos = strrchr(subdir, '/'); diff --git a/libudev/libudev-enumerate.c b/libudev/libudev-enumerate.c index 186abb927..2fcd34829 100644 --- a/libudev/libudev-enumerate.c +++ b/libudev/libudev-enumerate.c @@ -685,18 +685,6 @@ int udev_enumerate_scan_devices(struct udev_enumerate *udev_enumerate) scan_dir(udev_enumerate, "bus", "devices", NULL); dbg(udev, "searching '/class/*' dir\n"); scan_dir(udev_enumerate, "class", NULL, NULL); - /* if block isn't a class, scan /block/ */ - util_strscpyl(base, sizeof(base), udev_get_sys_path(udev), "/class/block", NULL); - if (stat(base, &statbuf) != 0) { - if (match_subsystem(udev_enumerate, "block")) { - dbg(udev, "searching '/block/*' dir\n"); - /* scan disks */ - scan_dir_and_add_devices(udev_enumerate, "block", NULL, NULL); - /* scan partitions */ - dbg(udev, "searching '/block/*/*' dir\n"); - scan_dir(udev_enumerate, "block", NULL, "block"); - } - } } return 0; } diff --git a/udev/udevd.c b/udev/udevd.c index 300d60351..99647c683 100644 --- a/udev/udevd.c +++ b/udev/udevd.c @@ -764,37 +764,11 @@ static void handle_signal(struct udev *udev, int signo) } } -static void startup_log(struct udev *udev) -{ - FILE *f; - char path[UTIL_PATH_SIZE]; - struct stat statbuf; - - f = fopen("/dev/kmsg", "w"); - if (f != NULL) - fprintf(f, "<6>udev: starting version " VERSION "\n"); - - util_strscpyl(path, sizeof(path), udev_get_sys_path(udev), "/class/mem/null", NULL); - if (lstat(path, &statbuf) == 0 && S_ISDIR(statbuf.st_mode)) { - const char *depr_str = - "udev: missing sysfs features; please update the kernel " - "or disable the kernel's CONFIG_SYSFS_DEPRECATED option; " - "udev may fail to work correctly"; - - if (f != NULL) - fprintf(f, "<3>%s\n", depr_str); - err(udev, "%s\n", depr_str); - sleep(15); - } - - if (f != NULL) - fclose(f); -} - int main(int argc, char *argv[]) { struct udev *udev; int fd; + FILE *f; sigset_t mask; const char *value; int daemonize = false; @@ -988,7 +962,11 @@ int main(int argc, char *argv[]) } } - startup_log(udev); + f = fopen("/dev/kmsg", "w"); + if (f != NULL) { + fprintf(f, "<6>udev: starting version " VERSION "\n"); + fclose(f); + } /* redirect std{out,err} */ if (!debug && !debug_trace) { -- 2.30.2