]> Git Repo - linux.git/blobdiff - drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
Merge remote-tracking branches 'asoc/topic/davinci', 'asoc/topic/debugfs', 'asoc...
[linux.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_i2c.c
index 31a676376d732aba3d2d15dd8dfe2af24be7f56b..f2739995c335a958c1094db1b5796fdea73af1be 100644 (file)
@@ -158,8 +158,8 @@ static const struct i2c_algorithm amdgpu_atombios_i2c_algo = {
 };
 
 struct amdgpu_i2c_chan *amdgpu_i2c_create(struct drm_device *dev,
-                                           struct amdgpu_i2c_bus_rec *rec,
-                                           const char *name)
+                                         const struct amdgpu_i2c_bus_rec *rec,
+                                         const char *name)
 {
        struct amdgpu_i2c_chan *i2c;
        int ret;
@@ -186,10 +186,8 @@ struct amdgpu_i2c_chan *amdgpu_i2c_create(struct drm_device *dev,
                         "AMDGPU i2c hw bus %s", name);
                i2c->adapter.algo = &amdgpu_atombios_i2c_algo;
                ret = i2c_add_adapter(&i2c->adapter);
-               if (ret) {
-                       DRM_ERROR("Failed to register hw i2c %s\n", name);
+               if (ret)
                        goto out_free;
-               }
        } else {
                /* set the amdgpu bit adapter */
                snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
@@ -222,6 +220,7 @@ void amdgpu_i2c_destroy(struct amdgpu_i2c_chan *i2c)
 {
        if (!i2c)
                return;
+       WARN_ON(i2c->has_aux);
        i2c_del_adapter(&i2c->adapter);
        kfree(i2c);
 }
@@ -232,8 +231,7 @@ void amdgpu_i2c_init(struct amdgpu_device *adev)
        if (amdgpu_hw_i2c)
                DRM_INFO("hw_i2c forced on, you may experience display detection problems!\n");
 
-       if (adev->is_atom_bios)
-               amdgpu_atombios_i2c_init(adev);
+       amdgpu_atombios_i2c_init(adev);
 }
 
 /* remove all the buses */
@@ -251,8 +249,8 @@ void amdgpu_i2c_fini(struct amdgpu_device *adev)
 
 /* Add additional buses */
 void amdgpu_i2c_add(struct amdgpu_device *adev,
-                    struct amdgpu_i2c_bus_rec *rec,
-                    const char *name)
+                   const struct amdgpu_i2c_bus_rec *rec,
+                   const char *name)
 {
        struct drm_device *dev = adev->ddev;
        int i;
@@ -268,7 +266,7 @@ void amdgpu_i2c_add(struct amdgpu_device *adev,
 /* looks up bus based on id */
 struct amdgpu_i2c_chan *
 amdgpu_i2c_lookup(struct amdgpu_device *adev,
-                  struct amdgpu_i2c_bus_rec *i2c_bus)
+                 const struct amdgpu_i2c_bus_rec *i2c_bus)
 {
        int i;
 
@@ -338,7 +336,7 @@ static void amdgpu_i2c_put_byte(struct amdgpu_i2c_chan *i2c_bus,
 
 /* ddc router switching */
 void
-amdgpu_i2c_router_select_ddc_port(struct amdgpu_connector *amdgpu_connector)
+amdgpu_i2c_router_select_ddc_port(const struct amdgpu_connector *amdgpu_connector)
 {
        u8 val;
 
@@ -367,7 +365,7 @@ amdgpu_i2c_router_select_ddc_port(struct amdgpu_connector *amdgpu_connector)
 
 /* clock/data router switching */
 void
-amdgpu_i2c_router_select_cd_port(struct amdgpu_connector *amdgpu_connector)
+amdgpu_i2c_router_select_cd_port(const struct amdgpu_connector *amdgpu_connector)
 {
        u8 val;
 
This page took 0.038821 seconds and 4 git commands to generate.