#include <drm/drm_modes.h>
 #include <drm/drm_probe_helper.h>
 #include <drm/drm_print.h>
-#include <drm/tinydrm/tinydrm.h>
+#include <drm/drm_simple_kms_helper.h>
 
 struct tinydrm_connector {
        struct drm_connector base;
 
 /**
  * tinydrm_display_pipe_init - Initialize display pipe
- * @tdev: tinydrm device
+ * @drm: DRM device
+ * @pipe: Display pipe
  * @funcs: Display pipe functions
  * @connector_type: Connector type
  * @formats: Array of supported formats (DRM_FORMAT\_\*)
  * Returns:
  * Zero on success, negative error code on failure.
  */
-int
-tinydrm_display_pipe_init(struct tinydrm_device *tdev,
-                         const struct drm_simple_display_pipe_funcs *funcs,
-                         int connector_type,
-                         const uint32_t *formats,
-                         unsigned int format_count,
-                         const struct drm_display_mode *mode,
-                         unsigned int rotation)
+int tinydrm_display_pipe_init(struct drm_device *drm,
+                             struct drm_simple_display_pipe *pipe,
+                             const struct drm_simple_display_pipe_funcs *funcs,
+                             int connector_type,
+                             const uint32_t *formats,
+                             unsigned int format_count,
+                             const struct drm_display_mode *mode,
+                             unsigned int rotation)
 {
-       struct drm_device *drm = tdev->drm;
        struct drm_display_mode mode_copy;
        struct drm_connector *connector;
        int ret;
        if (IS_ERR(connector))
                return PTR_ERR(connector);
 
-       return drm_simple_display_pipe_init(drm, &tdev->pipe, funcs, formats,
+       return drm_simple_display_pipe_init(drm, pipe, funcs, formats,
                                            format_count, modifiers, connector);
 }
 EXPORT_SYMBOL(tinydrm_display_pipe_init);
 
                return ret;
 
        /* TODO: Maybe add DRM_MODE_CONNECTOR_SPI */
-       ret = tinydrm_display_pipe_init(tdev, pipe_funcs,
+       ret = tinydrm_display_pipe_init(tdev->drm, &tdev->pipe, pipe_funcs,
                                        DRM_MODE_CONNECTOR_VIRTUAL,
                                        mipi_dbi_formats,
                                        ARRAY_SIZE(mipi_dbi_formats), mode,
 
        if (ret)
                return ret;
 
-       ret = tinydrm_display_pipe_init(tdev, &repaper_pipe_funcs,
+       ret = tinydrm_display_pipe_init(tdev->drm, &tdev->pipe, &repaper_pipe_funcs,
                                        DRM_MODE_CONNECTOR_VIRTUAL,
                                        repaper_formats,
                                        ARRAY_SIZE(repaper_formats), mode, 0);
 
        if (ret)
                return ret;
 
-       ret = tinydrm_display_pipe_init(tdev, pipe_funcs,
+       ret = tinydrm_display_pipe_init(tdev->drm, &tdev->pipe, pipe_funcs,
                                        DRM_MODE_CONNECTOR_VIRTUAL,
                                        st7586_formats,
                                        ARRAY_SIZE(st7586_formats),
 
 #define __LINUX_TINYDRM_HELPERS_H
 
 struct backlight_device;
+struct drm_device;
+struct drm_display_mode;
 struct drm_framebuffer;
 struct drm_rect;
+struct drm_simple_display_pipe;
+struct drm_simple_display_pipe_funcs;
 struct spi_transfer;
 struct spi_message;
 struct spi_device;
 #endif
 }
 
+int tinydrm_display_pipe_init(struct drm_device *drm,
+                             struct drm_simple_display_pipe *pipe,
+                             const struct drm_simple_display_pipe_funcs *funcs,
+                             int connector_type,
+                             const uint32_t *formats,
+                             unsigned int format_count,
+                             const struct drm_display_mode *mode,
+                             unsigned int rotation);
+
 void tinydrm_memcpy(void *dst, void *vaddr, struct drm_framebuffer *fb,
                    struct drm_rect *clip);
 void tinydrm_swab16(u16 *dst, void *vaddr, struct drm_framebuffer *fb,
 
 int devm_tinydrm_register(struct tinydrm_device *tdev);
 void tinydrm_shutdown(struct tinydrm_device *tdev);
 
-int
-tinydrm_display_pipe_init(struct tinydrm_device *tdev,
-                         const struct drm_simple_display_pipe_funcs *funcs,
-                         int connector_type,
-                         const uint32_t *formats,
-                         unsigned int format_count,
-                         const struct drm_display_mode *mode,
-                         unsigned int rotation);
-
 #endif /* __LINUX_TINYDRM_H */