* @data: pointer to the command followed by parameters
  * @len: length of @data
  */
-int mipi_dsi_dcs_write(struct mipi_dsi_device *dsi, unsigned int channel,
-                      const void *data, size_t len)
+ssize_t mipi_dsi_dcs_write(struct mipi_dsi_device *dsi, unsigned int channel,
+                          const void *data, size_t len)
 {
        const struct mipi_dsi_host_ops *ops = dsi->host->ops;
        struct mipi_dsi_msg msg = {
 
 static void s6e8aa0_dcs_write(struct s6e8aa0 *ctx, const void *data, size_t len)
 {
        struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
-       int ret;
+       ssize_t ret;
 
        if (ctx->error < 0)
                return;
 
        ret = mipi_dsi_dcs_write(dsi, dsi->channel, data, len);
        if (ret < 0) {
-               dev_err(ctx->dev, "error %d writing dcs seq: %*ph\n", ret, len,
+               dev_err(ctx->dev, "error %zd writing dcs seq: %*ph\n", ret, len,
                        data);
                ctx->error = ret;
        }
 
 
 int mipi_dsi_attach(struct mipi_dsi_device *dsi);
 int mipi_dsi_detach(struct mipi_dsi_device *dsi);
-int mipi_dsi_dcs_write(struct mipi_dsi_device *dsi, unsigned int channel,
-                      const void *data, size_t len);
+ssize_t mipi_dsi_dcs_write(struct mipi_dsi_device *dsi, unsigned int channel,
+                          const void *data, size_t len);
 ssize_t mipi_dsi_dcs_read(struct mipi_dsi_device *dsi, unsigned int channel,
                          u8 cmd, void *data, size_t len);