diff options
Diffstat (limited to '0001-driver-core-remove-CONFIG_SYSFS_DEPRECATED-and-CONFI.patch')
-rw-r--r-- | 0001-driver-core-remove-CONFIG_SYSFS_DEPRECATED-and-CONFI.patch | 257 |
1 files changed, 0 insertions, 257 deletions
diff --git a/0001-driver-core-remove-CONFIG_SYSFS_DEPRECATED-and-CONFI.patch b/0001-driver-core-remove-CONFIG_SYSFS_DEPRECATED-and-CONFI.patch deleted file mode 100644 index ea262880241fe7..00000000000000 --- a/0001-driver-core-remove-CONFIG_SYSFS_DEPRECATED-and-CONFI.patch +++ /dev/null @@ -1,257 +0,0 @@ -From 763ee8434fbbea0ce5a614ae0c6bb74ec0ed078a Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Date: Thu, 23 Feb 2023 08:33:26 +0100 -Subject: [PATCH 1/2] driver core: remove CONFIG_SYSFS_DEPRECATED and - CONFIG_SYSFS_DEPRECATED_V2 - -CONFIG_SYSFS_DEPRECATED was added in commit 88a22c985e35 -("CONFIG_SYSFS_DEPRECATED") in 2006 to allow systems with older versions -of some tools (i.e. Fedora 3's version of udev) to boot properly. Four -years later, in 2010, the option was attempted to be removed as most of -userspace should have been fixed up properly by then, but some kernel -developers clung to those old systems and refused to update, so we added -CONFIG_SYSFS_DEPRECATED_V2 in commit e52eec13cd6b ("SYSFS: Allow boot -time switching between deprecated and modern sysfs layout") to allow -them to continue to boot properly, and we allowed a boot time parameter -to be used to switch back to the old format if needed. - -Over time, the logic that was covered under these config options was -slowly removed from individual driver subsystems successfully, removed, -and the only thing that is now left in the kernel are some changes in -the block layer's representation in sysfs where real directories are -used instead of symlinks like normal. - -Because the original changes were done to userspace tools in 2006, and -all distros that use those tools are long end-of-life, and older -non-udev-based systems do not care about the block layer's sysfs -representation, it is time to finally remove this old logic and the -config entries from the kernel. - -Cc: Jonathan Corbet <corbet@lwn.net> -Cc: "Rafael J. Wysocki" <rafael@kernel.org> -Cc: linux-block@vger.kernel.org -Cc: linux-doc@vger.kernel.org -Acked-by: Jens Axboe <axboe@kernel.dk> -Link: https://lore.kernel.org/r/20230223073326.2073220-1-gregkh@linuxfoundation.org -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - Documentation/admin-guide/kernel-parameters.txt | 9 ----- - block/genhd.c | 19 ++++-------- - drivers/base/class.c | 2 - - drivers/base/core.c | 37 ----------------------- - include/linux/device.h | 6 --- - init/Kconfig | 38 ------------------------ - 6 files changed, 8 insertions(+), 103 deletions(-) - ---- a/Documentation/admin-guide/kernel-parameters.txt -+++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -6130,15 +6130,6 @@ - later by a loaded module cannot be set this way. - Example: sysctl.vm.swappiness=40 - -- sysfs.deprecated=0|1 [KNL] -- Enable/disable old style sysfs layout for old udev -- on older distributions. When this option is enabled -- very new udev will not work anymore. When this option -- is disabled (or CONFIG_SYSFS_DEPRECATED not compiled) -- in older udev will not work anymore. -- Default depends on CONFIG_SYSFS_DEPRECATED_V2 set in -- the kernel configuration. -- - sysrq_always_enabled - [KNL] - Ignore sysrq setting - this boot parameter will ---- a/block/genhd.c -+++ b/block/genhd.c -@@ -466,12 +466,10 @@ int __must_check device_add_disk(struct - if (ret) - goto out_device_del; - -- if (!sysfs_deprecated) { -- ret = sysfs_create_link(block_depr, &ddev->kobj, -- kobject_name(&ddev->kobj)); -- if (ret) -- goto out_device_del; -- } -+ ret = sysfs_create_link(block_depr, &ddev->kobj, -+ kobject_name(&ddev->kobj)); -+ if (ret) -+ goto out_device_del; - - /* - * avoid probable deadlock caused by allocating memory with -@@ -554,8 +552,7 @@ out_put_holder_dir: - out_del_integrity: - blk_integrity_del(disk); - out_del_block_link: -- if (!sysfs_deprecated) -- sysfs_remove_link(block_depr, dev_name(ddev)); -+ sysfs_remove_link(block_depr, dev_name(ddev)); - out_device_del: - device_del(ddev); - out_free_ext_minor: -@@ -657,8 +654,7 @@ void del_gendisk(struct gendisk *disk) - - part_stat_set_all(disk->part0, 0); - disk->part0->bd_stamp = 0; -- if (!sysfs_deprecated) -- sysfs_remove_link(block_depr, dev_name(disk_to_dev(disk))); -+ sysfs_remove_link(block_depr, dev_name(disk_to_dev(disk))); - pm_runtime_set_memalloc_noio(disk_to_dev(disk), false); - device_del(disk_to_dev(disk)); - -@@ -912,8 +908,7 @@ static int __init genhd_device_init(void - register_blkdev(BLOCK_EXT_MAJOR, "blkext"); - - /* create top-level block dir */ -- if (!sysfs_deprecated) -- block_depr = kobject_create_and_add("block", NULL); -+ block_depr = kobject_create_and_add("block", NULL); - return 0; - } - ---- a/drivers/base/class.c -+++ b/drivers/base/class.c -@@ -180,7 +180,7 @@ int __class_register(struct class *cls, - - #if defined(CONFIG_BLOCK) - /* let the block class directory show up in the root of sysfs */ -- if (!sysfs_deprecated || cls != &block_class) -+ if (cls != &block_class) - cp->subsys.kobj.kset = class_kset; - #else - cp->subsys.kobj.kset = class_kset; ---- a/drivers/base/core.c -+++ b/drivers/base/core.c -@@ -36,19 +36,6 @@ - #include "physical_location.h" - #include "power/power.h" - --#ifdef CONFIG_SYSFS_DEPRECATED --#ifdef CONFIG_SYSFS_DEPRECATED_V2 --long sysfs_deprecated = 1; --#else --long sysfs_deprecated = 0; --#endif --static int __init sysfs_deprecated_setup(char *arg) --{ -- return kstrtol(arg, 10, &sysfs_deprecated); --} --early_param("sysfs.deprecated", sysfs_deprecated_setup); --#endif -- - /* Device links support. */ - static LIST_HEAD(deferred_sync); - static unsigned int defer_sync_state_count = 1; -@@ -3137,15 +3124,6 @@ static struct kobject *get_device_parent - struct kobject *parent_kobj; - struct kobject *k; - --#ifdef CONFIG_BLOCK -- /* block disks show up in /sys/block */ -- if (sysfs_deprecated && dev->class == &block_class) { -- if (parent && parent->class == &block_class) -- return &parent->kobj; -- return &block_class.p->subsys.kobj; -- } --#endif -- - /* - * If we have no parent, we live in "virtual". - * Class-devices with a non class-device as parent, live -@@ -3324,12 +3302,6 @@ static int device_add_class_symlinks(str - goto out_subsys; - } - --#ifdef CONFIG_BLOCK -- /* /sys/block has directories and does not need symlinks */ -- if (sysfs_deprecated && dev->class == &block_class) -- return 0; --#endif -- - /* link in the class directory pointing to the device */ - error = sysfs_create_link(&dev->class->p->subsys.kobj, - &dev->kobj, dev_name(dev)); -@@ -3359,10 +3331,6 @@ static void device_remove_class_symlinks - if (dev->parent && device_is_not_partition(dev)) - sysfs_remove_link(&dev->kobj, "device"); - sysfs_remove_link(&dev->kobj, "subsystem"); --#ifdef CONFIG_BLOCK -- if (sysfs_deprecated && dev->class == &block_class) -- return; --#endif - sysfs_delete_link(&dev->class->p->subsys.kobj, &dev->kobj, dev_name(dev)); - } - -@@ -4652,11 +4620,6 @@ int device_change_owner(struct device *d - if (error) - goto out; - --#ifdef CONFIG_BLOCK -- if (sysfs_deprecated && dev->class == &block_class) -- goto out; --#endif -- - /* - * Change the owner of the symlink located in the class directory of - * the device class associated with @dev which points to the actual ---- a/include/linux/device.h -+++ b/include/linux/device.h -@@ -1092,10 +1092,4 @@ int dev_err_probe(const struct device *d - #define MODULE_ALIAS_CHARDEV_MAJOR(major) \ - MODULE_ALIAS("char-major-" __stringify(major) "-*") - --#ifdef CONFIG_SYSFS_DEPRECATED --extern long sysfs_deprecated; --#else --#define sysfs_deprecated 0 --#endif -- - #endif /* _DEVICE_H_ */ ---- a/init/Kconfig -+++ b/init/Kconfig -@@ -1297,44 +1297,6 @@ config SCHED_AUTOGROUP - desktop applications. Task group autogeneration is currently based - upon task session. - --config SYSFS_DEPRECATED -- bool "Enable deprecated sysfs features to support old userspace tools" -- depends on SYSFS -- default n -- help -- This option adds code that switches the layout of the "block" class -- devices, to not show up in /sys/class/block/, but only in -- /sys/block/. -- -- This switch is only active when the sysfs.deprecated=1 boot option is -- passed or the SYSFS_DEPRECATED_V2 option is set. -- -- This option allows new kernels to run on old distributions and tools, -- which might get confused by /sys/class/block/. Since 2007/2008 all -- major distributions and tools handle this just fine. -- -- Recent distributions and userspace tools after 2009/2010 depend on -- the existence of /sys/class/block/, and will not work with this -- option enabled. -- -- Only if you are using a new kernel on an old distribution, you might -- need to say Y here. -- --config SYSFS_DEPRECATED_V2 -- bool "Enable deprecated sysfs features by default" -- default n -- depends on SYSFS -- depends on SYSFS_DEPRECATED -- help -- Enable deprecated sysfs by default. -- -- See the CONFIG_SYSFS_DEPRECATED option for more details about this -- option. -- -- Only if you are using a new kernel on an old distribution, you might -- need to say Y here. Even then, odds are you would not need it -- enabled, you can always pass the boot option if absolutely necessary. -- - config RELAY - bool "Kernel->user space relay support (formerly relayfs)" - select IRQ_WORK |