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 <[email protected]> --- drivers/gpu/drm/radeon/radeon_i2c.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_i2c.c b/drivers/gpu/drm/radeon/radeon_i2c.c index 1f16619ed06e..f3ba4187092c 100644 --- a/drivers/gpu/drm/radeon/radeon_i2c.c +++ b/drivers/gpu/drm/radeon/radeon_i2c.c @@ -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 @@ struct radeon_i2c_chan *radeon_i2c_create(struct drm_device *dev, } -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; - } } } -- 2.43.0
