Make use of new helper fbtft_write_buf_dc.

Signed-off-by: Heiner Kallweit <hkallwe...@gmail.com>
---
 drivers/staging/fbtft/fbtft-bus.c | 31 ++++++++-----------------------
 1 file changed, 8 insertions(+), 23 deletions(-)

diff --git a/drivers/staging/fbtft/fbtft-bus.c 
b/drivers/staging/fbtft/fbtft-bus.c
index ec45043c..3475b1b8 100644
--- a/drivers/staging/fbtft/fbtft-bus.c
+++ b/drivers/staging/fbtft/fbtft-bus.c
@@ -36,14 +36,9 @@ void func(struct fbtft_par *par, int len, ...)               
                 \
        }                                                                     \
                                                                              \
        *buf = modifier((type)va_arg(args, unsigned int));                    \
-       if (par->gpio.dc != -1)                                               \
-               gpio_set_value(par->gpio.dc, 0);                              \
-       ret = par->fbtftops.write(par, par->buf, sizeof(type) + offset);      \
-       if (ret < 0) {                                                        \
-               va_end(args);                                                 \
-               dev_err(par->info->device, "%s: write() failed and returned 
%d\n", __func__, ret); \
-               return;                                                       \
-       }                                                                     \
+       ret = fbtft_write_buf_dc(par, par->buf, sizeof(type) + offset, 0);    \
+       if (ret < 0)                                                          \
+               goto out;                                                     \
        len--;                                                                \
                                                                              \
        if (par->startbyte)                                                   \
@@ -51,19 +46,12 @@ void func(struct fbtft_par *par, int len, ...)              
                  \
                                                                              \
        if (len) {                                                            \
                i = len;                                                      \
-               while (i--) {                                                 \
+               while (i--)                                                   \
                        *buf++ = modifier((type)va_arg(args, unsigned int));  \
-               }                                                             \
-               if (par->gpio.dc != -1)                                       \
-                       gpio_set_value(par->gpio.dc, 1);                      \
-               ret = par->fbtftops.write(par, par->buf,                      \
-                                         len * (sizeof(type) + offset));     \
-               if (ret < 0) {                                                \
-                       va_end(args);                                         \
-                       dev_err(par->info->device, "%s: write() failed and 
returned %d\n", __func__, ret); \
-                       return;                                               \
-               }                                                             \
+               fbtft_write_buf_dc(par, par->buf,                             \
+                                  len * (sizeof(type) + offset), 1);         \
        }                                                                     \
+out:                                                                         \
        va_end(args);                                                         \
 }                                                                             \
 EXPORT_SYMBOL(func);
@@ -243,10 +231,7 @@ int fbtft_write_vmem16_bus16(struct fbtft_par *par, size_t 
offset, size_t len)
 
        vmem16 = (u16 *)(par->info->screen_buffer + offset);
 
-       if (par->gpio.dc != -1)
-               gpio_set_value(par->gpio.dc, 1);
-
        /* no need for buffered write with 16-bit bus */
-       return par->fbtftops.write(par, vmem16, len);
+       return fbtft_write_buf_dc(par, vmem16, len, 1);
 }
 EXPORT_SYMBOL(fbtft_write_vmem16_bus16);
-- 
2.12.0


_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to