drivers/gpu/drm/radeon/radeon_i2c.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-)
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>
---
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
Applied. Thanks!
On Thu, Dec 11, 2025 at 3:59 AM Erick Karanja <karanja99erick@gmail.com> wrote:
>
> 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>
> ---
> 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
>
© 2016 - 2026 Red Hat, Inc.