]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/amdgpu: Use devm_i2c_add_adapter() in SMU V11
authorRodrigo Siqueira <siqueira@igalia.com>
Wed, 10 Sep 2025 17:39:36 +0000 (11:39 -0600)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 16 Sep 2025 21:47:24 +0000 (17:47 -0400)
Instead of using i2c_add_adapter() and i2c_del_adapter() in the SMU V11,
use devm_i2c_add_adapter() to simplify the code path.

Signed-off-by: Rodrigo Siqueira <siqueira@igalia.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c

index dd2d66090d23749c318eab2fe7a93c76cb8be205..68aef47254a90f75c34680ecc99564ad948db47a 100644 (file)
@@ -743,7 +743,7 @@ int smu_v11_0_i2c_control_init(struct amdgpu_device *adev)
        adev->pm.ras_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter;
        adev->pm.fru_eeprom_i2c_bus = &adev->pm.smu_i2c[0].adapter;
 
-       res = i2c_add_adapter(control);
+       res = devm_i2c_add_adapter(adev->dev, control);
        if (res)
                DRM_ERROR("Failed to register hw i2c, err: %d\n", res);
 
@@ -752,9 +752,6 @@ int smu_v11_0_i2c_control_init(struct amdgpu_device *adev)
 
 void smu_v11_0_i2c_control_fini(struct amdgpu_device *adev)
 {
-       struct i2c_adapter *control = adev->pm.ras_eeprom_i2c_bus;
-
-       i2c_del_adapter(control);
        adev->pm.ras_eeprom_i2c_bus = NULL;
        adev->pm.fru_eeprom_i2c_bus = NULL;
 }