drm/ast: Define struct ast_ddc in ast_ddc.c
authorThomas Zimmermann <tzimmermann@suse.de>
Wed, 3 Apr 2024 10:31:30 +0000 (12:31 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Thu, 11 Apr 2024 07:38:17 +0000 (09:38 +0200)
Move the definition of struct ast_ddc to ast_ddc.c and return the i2c
adapter from ast_ddc_create(). Update callers accordingly. Avoids
including Linux i2c header files, except where required. No functional
changes.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240403103325.30457-4-tzimmermann@suse.de
drivers/gpu/drm/ast/ast_ddc.c
drivers/gpu/drm/ast/ast_ddc.h
drivers/gpu/drm/ast/ast_mode.c

index 4df52aeba4f7e4065c3b15b8f774a8bd8e3e70d0..29cf5d157f344792b5609cf537b3da711039fb47 100644 (file)
  * of the Software.
  */
 
+#include <linux/i2c-algo-bit.h>
+#include <linux/i2c.h>
+
 #include <drm/drm_managed.h>
 #include <drm/drm_print.h>
 
 #include "ast_ddc.h"
 #include "ast_drv.h"
 
+struct ast_ddc {
+       struct ast_device *ast;
+
+       struct i2c_algo_bit_data bit;
+       struct i2c_adapter adapter;
+};
+
 static void ast_ddc_algo_bit_data_setsda(void *data, int state)
 {
        struct ast_ddc *ddc = data;
@@ -132,7 +142,7 @@ static void ast_ddc_release(struct drm_device *dev, void *res)
        i2c_del_adapter(&ddc->adapter);
 }
 
-struct ast_ddc *ast_ddc_create(struct ast_device *ast)
+struct i2c_adapter *ast_ddc_create(struct ast_device *ast)
 {
        struct drm_device *dev = &ast->base;
        struct ast_ddc *ddc;
@@ -173,5 +183,5 @@ struct ast_ddc *ast_ddc_create(struct ast_device *ast)
        if (ret)
                return ERR_PTR(ret);
 
-       return ddc;
+       return &ddc->adapter;
 }
index 08f3994e09ccd58219f297f1e30ee3ec7c0c37fc..85c93edc9ae122223a5dddbb71d69b4c37938760 100644 (file)
@@ -3,18 +3,9 @@
 #ifndef __AST_DDC_H__
 #define __AST_DDC_H__
 
-#include <linux/i2c.h>
-#include <linux/i2c-algo-bit.h>
-
 struct ast_device;
+struct i2c_adapter;
 
-struct ast_ddc {
-       struct ast_device *ast;
-
-       struct i2c_adapter adapter;
-       struct i2c_algo_bit_data bit;
-};
-
-struct ast_ddc *ast_ddc_create(struct ast_device *ast);
+struct i2c_adapter *ast_ddc_create(struct ast_device *ast);
 
 #endif
index bb9b66aba9ee9b5e76bb08ee8cb03b4de3f811ce..ae21d89b899c8588dd18bde4a40977b96d0edcb6 100644 (file)
@@ -1360,7 +1360,7 @@ static const struct drm_connector_funcs ast_vga_connector_funcs = {
 static int ast_vga_connector_init(struct drm_device *dev, struct drm_connector *connector)
 {
        struct ast_device *ast = to_ast_device(dev);
-       struct ast_ddc *ddc;
+       struct i2c_adapter *ddc;
        int ret;
 
        ddc = ast_ddc_create(ast);
@@ -1371,7 +1371,7 @@ static int ast_vga_connector_init(struct drm_device *dev, struct drm_connector *
        }
 
        ret = drm_connector_init_with_ddc(dev, connector, &ast_vga_connector_funcs,
-                                         DRM_MODE_CONNECTOR_VGA, &ddc->adapter);
+                                         DRM_MODE_CONNECTOR_VGA, ddc);
        if (ret)
                return ret;
 
@@ -1429,7 +1429,7 @@ static const struct drm_connector_funcs ast_sil164_connector_funcs = {
 static int ast_sil164_connector_init(struct drm_device *dev, struct drm_connector *connector)
 {
        struct ast_device *ast = to_ast_device(dev);
-       struct ast_ddc *ddc;
+       struct i2c_adapter *ddc;
        int ret;
 
        ddc = ast_ddc_create(ast);
@@ -1440,7 +1440,7 @@ static int ast_sil164_connector_init(struct drm_device *dev, struct drm_connecto
        }
 
        ret = drm_connector_init_with_ddc(dev, connector, &ast_sil164_connector_funcs,
-                                         DRM_MODE_CONNECTOR_DVII, &ddc->adapter);
+                                         DRM_MODE_CONNECTOR_DVII, ddc);
        if (ret)
                return ret;