This commit replaces i2c_add_adapter() with devm_i2c_add_adapter() and
removes part of the cleanup logic since the new function handles the i2c
removal.

Signed-off-by: Rodrigo Siqueira <sique...@igalia.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c | 18 +++---------------
 1 file changed, 3 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
index 57101d24422f..9cb72f0c5277 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
@@ -184,7 +184,7 @@ struct amdgpu_i2c_chan *amdgpu_i2c_create(struct drm_device 
*dev,
                snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
                         "AMDGPU i2c hw bus %s", name);
                i2c->adapter.algo = &amdgpu_atombios_i2c_algo;
-               ret = i2c_add_adapter(&i2c->adapter);
+               ret = devm_i2c_add_adapter(dev->dev, &i2c->adapter);
                if (ret)
                        goto out_free;
        } else {
@@ -215,15 +215,6 @@ struct amdgpu_i2c_chan *amdgpu_i2c_create(struct 
drm_device *dev,
 
 }
 
-void amdgpu_i2c_destroy(struct amdgpu_i2c_chan *i2c)
-{
-       if (!i2c)
-               return;
-       WARN_ON(i2c->has_aux);
-       i2c_del_adapter(&i2c->adapter);
-       kfree(i2c);
-}
-
 void amdgpu_i2c_init(struct amdgpu_device *adev)
 {
        if (!adev->is_atom_fw) {
@@ -248,12 +239,9 @@ void amdgpu_i2c_fini(struct amdgpu_device *adev)
 {
        int i;
 
-       for (i = 0; i < AMDGPU_MAX_I2C_BUS; i++) {
-               if (adev->i2c_bus[i]) {
-                       amdgpu_i2c_destroy(adev->i2c_bus[i]);
+       for (i = 0; i < AMDGPU_MAX_I2C_BUS; i++)
+               if (adev->i2c_bus[i])
                        adev->i2c_bus[i] = NULL;
-               }
-       }
 }
 
 /* looks up bus based on id */
-- 
2.50.1

Reply via email to