]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
staging: fbtft: add helper fbtft_write_buf_dc
authorHeiner Kallweit <hkallweit1@gmail.com>
Thu, 2 Mar 2017 21:12:46 +0000 (22:12 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Mar 2017 16:33:03 +0000 (17:33 +0100)
Factor out setting DC GPIO and writing buffer content to helper
fbtft_write_buf_dc.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/fbtft/fbtft-core.c
drivers/staging/fbtft/fbtft.h

index 429b52431f88432fb97b591b3d1461deeb0dd80e..b742ee7866159efd8e69f435052a69de39689279 100644 (file)
@@ -43,6 +43,21 @@ static unsigned long debug;
 module_param(debug, ulong, 0000);
 MODULE_PARM_DESC(debug, "override device debug level");
 
+int fbtft_write_buf_dc(struct fbtft_par *par, void *buf, size_t len, int dc)
+{
+       int ret;
+
+       if (gpio_is_valid(par->gpio.dc))
+               gpio_set_value(par->gpio.dc, dc);
+
+       ret = par->fbtftops.write(par, buf, len);
+       if (ret < 0)
+               dev_err(par->info->device,
+                       "write() failed and returned %d\n", ret);
+       return ret;
+}
+EXPORT_SYMBOL(fbtft_write_buf_dc);
+
 void fbtft_dbg_hex(const struct device *dev, int groupsize,
                   void *buf, size_t len, const char *fmt, ...)
 {
index 119c3a72be1b05aa23877360f7f3c1187a993c28..488ab788138e1805529f33367a59de57a3a8b462 100644 (file)
@@ -248,6 +248,7 @@ struct fbtft_par {
        par->fbtftops.write_register(par, NUMARGS(__VA_ARGS__), __VA_ARGS__)
 
 /* fbtft-core.c */
+int fbtft_write_buf_dc(struct fbtft_par *par, void *buf, size_t len, int dc);
 void fbtft_dbg_hex(const struct device *dev, int groupsize,
                   void *buf, size_t len, const char *fmt, ...);
 struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,