drm/mipi-dsi: Introduce mipi_dsi_dcs_write_seq macro
A helper macro that can be used to simplify sending DCS commands. It is useful in scenarios like panel initialization which can sometimes involve sending lot of DCS commands. Signed-off-by: Joel Selvaraj <jo@jsfamily.in> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Link: https://patchwork.freedesktop.org/patch/msgid/BY5PR02MB700952493EEB6F0E77DC8416D9DF9@BY5PR02MB7009.namprd02.prod.outlook.com
This commit is contained in:
parent
c5ec5fa393
commit
2a9e9daf75
|
@ -295,6 +295,23 @@ int mipi_dsi_dcs_set_display_brightness(struct mipi_dsi_device *dsi,
|
||||||
int mipi_dsi_dcs_get_display_brightness(struct mipi_dsi_device *dsi,
|
int mipi_dsi_dcs_get_display_brightness(struct mipi_dsi_device *dsi,
|
||||||
u16 *brightness);
|
u16 *brightness);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mipi_dsi_dcs_write_seq - transmit a DCS command with payload
|
||||||
|
* @dsi: DSI peripheral device
|
||||||
|
* @cmd: Command
|
||||||
|
* @seq: buffer containing data to be transmitted
|
||||||
|
*/
|
||||||
|
#define mipi_dsi_dcs_write_seq(dsi, cmd, seq...) do { \
|
||||||
|
static const u8 d[] = { cmd, seq }; \
|
||||||
|
struct device *dev = &dsi->dev; \
|
||||||
|
int ret; \
|
||||||
|
ret = mipi_dsi_dcs_write_buffer(dsi, d, ARRAY_SIZE(d)); \
|
||||||
|
if (ret < 0) { \
|
||||||
|
dev_err_ratelimited(dev, "sending command %#02x failed: %d\n", cmd, ret); \
|
||||||
|
return ret; \
|
||||||
|
} \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct mipi_dsi_driver - DSI driver
|
* struct mipi_dsi_driver - DSI driver
|
||||||
* @driver: device driver model driver
|
* @driver: device driver model driver
|
||||||
|
|
Loading…
Reference in New Issue