aboutsummaryrefslogtreecommitdiffstats
path: root/0001-driver-core-remove-CONFIG_SYSFS_DEPRECATED-and-CONFI.patch
diff options
context:
space:
mode:
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.patch257
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