]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/radeon : Use devm_i2c_add_adapter instead of i2c_add_adapter
authorErick Karanja <karanja99erick@gmail.com>
Thu, 11 Dec 2025 08:59:23 +0000 (11:59 +0300)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 5 Jan 2026 21:21:16 +0000 (16:21 -0500)
Replace i2c_add_adapter() with devm_i2c_add_adapter() and remove all
associated cleanup, as devm_i2c_add_adapter() handles adapter teardown
automatically.

Signed-off-by: Erick Karanja <karanja99erick@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/radeon/radeon_i2c.c

index 1f16619ed06ed4c39dbc36ffc6691c04755927e8..f3ba4187092c8a687967763d0c139bc043fd67f1 100644 (file)
@@ -931,7 +931,7 @@ struct radeon_i2c_chan *radeon_i2c_create(struct drm_device *dev,
                snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
                         "Radeon i2c hw bus %s", name);
                i2c->adapter.algo = &radeon_i2c_algo;
-               ret = i2c_add_adapter(&i2c->adapter);
+               ret = devm_i2c_add_adapter(dev->dev, &i2c->adapter);
                if (ret)
                        goto out_free;
        } else if (rec->hw_capable &&
@@ -972,15 +972,6 @@ out_free:
 
 }
 
-void radeon_i2c_destroy(struct radeon_i2c_chan *i2c)
-{
-       if (!i2c)
-               return;
-       WARN_ON(i2c->has_aux);
-       i2c_del_adapter(&i2c->adapter);
-       kfree(i2c);
-}
-
 /* Add the default buses */
 void radeon_i2c_init(struct radeon_device *rdev)
 {
@@ -999,10 +990,8 @@ void radeon_i2c_fini(struct radeon_device *rdev)
        int i;
 
        for (i = 0; i < RADEON_MAX_I2C_BUS; i++) {
-               if (rdev->i2c_bus[i]) {
-                       radeon_i2c_destroy(rdev->i2c_bus[i]);
+               if (rdev->i2c_bus[i])
                        rdev->i2c_bus[i] = NULL;
-               }
        }
 }