Commit e70065fd authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Greg Kroah-Hartman
Browse files

staging: fbtft: use helper fbtft_write_buf_dc in fbtft-bus.c



Make use of new helper fbtft_write_buf_dc.

Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 60da7020
Loading
Loading
Loading
Loading
+8 −23
Original line number Diff line number Diff line
@@ -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));  \
		fbtft_write_buf_dc(par, par->buf,			      \
				   len * (sizeof(type) + offset), 1);	      \
	}                                                                     \
		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;                                               \
		}                                                             \
	}                                                                     \
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);