drm/tinydrm: remove call to mipi_dbi_init() from mipi_dbi_spi_init()
authorDavid Lechner <david@lechnology.com>
Thu, 3 Aug 2017 22:33:45 +0000 (17:33 -0500)
committerNoralf Trønnes <noralf@tronnes.org>
Fri, 4 Aug 2017 13:12:25 +0000 (15:12 +0200)
This removes the call to mipi_dbi_init() from mipi_dbi_spi_init() so that
drivers can have a driver-specific implementation if needed.

Suggested-by: Noralf Trønnes <noralf@tronnes.org>
Signed-off-by: David Lechner <david@lechnology.com>
Reviewed-by: Noralf Trønnes <noralf@tronnes.org>
Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
Link: https://patchwork.freedesktop.org/patch/msgid/1501799630-1650-2-git-send-email-david@lechnology.com
drivers/gpu/drm/tinydrm/mi0283qt.c
drivers/gpu/drm/tinydrm/mipi-dbi.c
include/drm/tinydrm/mipi-dbi.h

index 482ff1c3db61b58e50848eec4eeee3519ac1f26c..7e5bb7d6f655835e39a2fb91db54b960e199213d 100644 (file)
@@ -195,8 +195,12 @@ static int mi0283qt_probe(struct spi_device *spi)
 
        device_property_read_u32(dev, "rotation", &rotation);
 
-       ret = mipi_dbi_spi_init(spi, mipi, dc, &mi0283qt_pipe_funcs,
-                               &mi0283qt_driver, &mi0283qt_mode, rotation);
+       ret = mipi_dbi_spi_init(spi, mipi, dc);
+       if (ret)
+               return ret;
+
+       ret = mipi_dbi_init(&spi->dev, mipi, &mi0283qt_pipe_funcs,
+                           &mi0283qt_driver, &mi0283qt_mode, rotation);
        if (ret)
                return ret;
 
index c83eeb7a34b00e9e74c9d3ef97cd411b7603a315..2caeabcd34588ee202de9f439673a9d591868f96 100644 (file)
@@ -776,15 +776,12 @@ static int mipi_dbi_typec3_command(struct mipi_dbi *mipi, u8 cmd,
 /**
  * mipi_dbi_spi_init - Initialize MIPI DBI SPI interfaced controller
  * @spi: SPI device
- * @dc: D/C gpio (optional)
  * @mipi: &mipi_dbi structure to initialize
- * @pipe_funcs: Display pipe functions
- * @driver: DRM driver
- * @mode: Display mode
- * @rotation: Initial rotation in degrees Counter Clock Wise
+ * @dc: D/C gpio (optional)
  *
  * This function sets &mipi_dbi->command, enables &mipi->read_commands for the
- * usual read commands and initializes @mipi using mipi_dbi_init().
+ * usual read commands. It should be followed by a call to mipi_dbi_init() or
+ * a driver-specific init.
  *
  * If @dc is set, a Type C Option 3 interface is assumed, if not
  * Type C Option 1.
@@ -799,11 +796,7 @@ static int mipi_dbi_typec3_command(struct mipi_dbi *mipi, u8 cmd,
  * Zero on success, negative error code on failure.
  */
 int mipi_dbi_spi_init(struct spi_device *spi, struct mipi_dbi *mipi,
-                     struct gpio_desc *dc,
-                     const struct drm_simple_display_pipe_funcs *pipe_funcs,
-                     struct drm_driver *driver,
-                     const struct drm_display_mode *mode,
-                     unsigned int rotation)
+                     struct gpio_desc *dc)
 {
        size_t tx_size = tinydrm_spi_max_transfer_size(spi, 0);
        struct device *dev = &spi->dev;
@@ -849,7 +842,7 @@ int mipi_dbi_spi_init(struct spi_device *spi, struct mipi_dbi *mipi,
                        return -ENOMEM;
        }
 
-       return mipi_dbi_init(dev, mipi, pipe_funcs, driver, mode, rotation);
+       return 0;
 }
 EXPORT_SYMBOL(mipi_dbi_spi_init);
 
index d137b16ee8734ee2a0ec648509e1e83890dbcf43..83346ddb9dba5bcd0101b0e7a86fadab6a699f62 100644 (file)
@@ -62,11 +62,7 @@ mipi_dbi_from_tinydrm(struct tinydrm_device *tdev)
 }
 
 int mipi_dbi_spi_init(struct spi_device *spi, struct mipi_dbi *mipi,
-                     struct gpio_desc *dc,
-                     const struct drm_simple_display_pipe_funcs *pipe_funcs,
-                     struct drm_driver *driver,
-                     const struct drm_display_mode *mode,
-                     unsigned int rotation);
+                     struct gpio_desc *dc);
 int mipi_dbi_init(struct device *dev, struct mipi_dbi *mipi,
                  const struct drm_simple_display_pipe_funcs *pipe_funcs,
                  struct drm_driver *driver,