i2c: Remove I2C_COMPAT config symbol and related code
authorHeiner Kallweit <hkallweit1@gmail.com>
Wed, 21 Aug 2024 20:13:04 +0000 (22:13 +0200)
committerWolfram Sang <wsa+renesas@sang-engineering.com>
Sat, 7 Sep 2024 16:31:28 +0000 (18:31 +0200)
This code was added with 2bb5095affdb ("i2c: Provide compatibility links
for i2c adapters"). Commit message stated: Provide compatibility links
for [...] the time being. We will remove them after a long transition
period.
15 years should have been a long enough transition period.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
drivers/i2c/Kconfig
drivers/i2c/i2c-core-base.c

index 44710267d6699b5e65737dc1b332d5763cfa5d6a..c232054fddd6fdee01296694a462caa65298e3cb 100644 (file)
@@ -40,14 +40,6 @@ config I2C_BOARDINFO
        bool
        default y
 
-config I2C_COMPAT
-       bool "Enable compatibility bits for old user-space"
-       default y
-       help
-         Say Y here if you intend to run lm-sensors 3.1.1 or older, or any
-         other user-space package which expects i2c adapters to be class
-         devices. If you don't know, say Y.
-
 config I2C_CHARDEV
        tristate "I2C device interface"
        help
index e39e8d792d0341c4029f8084d9666d977194a40a..e150b75d2cb312cbf8c0040780b8058704d35f35 100644 (file)
@@ -1395,10 +1395,6 @@ struct i2c_adapter *i2c_verify_adapter(struct device *dev)
 }
 EXPORT_SYMBOL(i2c_verify_adapter);
 
-#ifdef CONFIG_I2C_COMPAT
-static struct class_compat *i2c_adapter_compat_class;
-#endif
-
 static void i2c_scan_static_board_info(struct i2c_adapter *adapter)
 {
        struct i2c_devinfo      *devinfo;
@@ -1575,14 +1571,6 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
 
        dev_dbg(&adap->dev, "adapter [%s] registered\n", adap->name);
 
-#ifdef CONFIG_I2C_COMPAT
-       res = class_compat_create_link(i2c_adapter_compat_class, &adap->dev,
-                                      adap->dev.parent);
-       if (res)
-               dev_warn(&adap->dev,
-                        "Failed to create compatibility class link\n");
-#endif
-
        /* create pre-declared device nodes */
        of_i2c_register_devices(adap);
        i2c_acpi_install_space_handler(adap);
@@ -1789,11 +1777,6 @@ void i2c_del_adapter(struct i2c_adapter *adap)
        device_for_each_child(&adap->dev, NULL, __unregister_client);
        device_for_each_child(&adap->dev, NULL, __unregister_dummy);
 
-#ifdef CONFIG_I2C_COMPAT
-       class_compat_remove_link(i2c_adapter_compat_class, &adap->dev,
-                                adap->dev.parent);
-#endif
-
        /* device name is gone after device_unregister */
        dev_dbg(&adap->dev, "adapter [%s] unregistered\n", adap->name);
 
@@ -2102,13 +2085,6 @@ static int __init i2c_init(void)
 
        i2c_debugfs_root = debugfs_create_dir("i2c", NULL);
 
-#ifdef CONFIG_I2C_COMPAT
-       i2c_adapter_compat_class = class_compat_register("i2c-adapter");
-       if (!i2c_adapter_compat_class) {
-               retval = -ENOMEM;
-               goto bus_err;
-       }
-#endif
        retval = i2c_add_driver(&dummy_driver);
        if (retval)
                goto class_err;
@@ -2121,10 +2097,6 @@ static int __init i2c_init(void)
        return 0;
 
 class_err:
-#ifdef CONFIG_I2C_COMPAT
-       class_compat_unregister(i2c_adapter_compat_class);
-bus_err:
-#endif
        is_registered = false;
        bus_unregister(&i2c_bus_type);
        return retval;
@@ -2137,9 +2109,6 @@ static void __exit i2c_exit(void)
        if (IS_ENABLED(CONFIG_OF_DYNAMIC))
                WARN_ON(of_reconfig_notifier_unregister(&i2c_of_notifier));
        i2c_del_driver(&dummy_driver);
-#ifdef CONFIG_I2C_COMPAT
-       class_compat_unregister(i2c_adapter_compat_class);
-#endif
        debugfs_remove_recursive(i2c_debugfs_root);
        bus_unregister(&i2c_bus_type);
        tracepoint_synchronize_unregister();