On 11/03/2014 10:13 AM, Thierry Reding wrote:
From: Thierry Reding treding@nvidia.com
A common pattern is starting to emerge for higher level transfer helpers. Create a new helper that encapsulates this pattern and avoids code duplication.
Signed-off-by: Thierry Reding treding@nvidia.com
Acked-by: Andrzej Hajda a.hajda@samsung.com -- Regards Andrzej
drivers/gpu/drm/drm_mipi_dsi.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c index 76e81aba8220..89a228b4eacc 100644 --- a/drivers/gpu/drm/drm_mipi_dsi.c +++ b/drivers/gpu/drm/drm_mipi_dsi.c @@ -198,6 +198,20 @@ int mipi_dsi_detach(struct mipi_dsi_device *dsi) } EXPORT_SYMBOL(mipi_dsi_detach);
+static ssize_t mipi_dsi_device_transfer(struct mipi_dsi_device *dsi,
struct mipi_dsi_msg *msg)
+{
- const struct mipi_dsi_host_ops *ops = dsi->host->ops;
- if (!ops || !ops->transfer)
return -ENOSYS;
- if (dsi->mode_flags & MIPI_DSI_MODE_LPM)
msg->flags |= MIPI_DSI_MSG_USE_LPM;
- return ops->transfer(dsi->host, msg);
+}
/**
- mipi_dsi_create_packet - create a packet from a message according to the
DSI protocol
@@ -252,16 +266,12 @@ EXPORT_SYMBOL(mipi_dsi_create_packet); ssize_t mipi_dsi_dcs_write(struct mipi_dsi_device *dsi, const void *data, size_t len) {
const struct mipi_dsi_host_ops *ops = dsi->host->ops; struct mipi_dsi_msg msg = { .channel = dsi->channel, .tx_buf = data, .tx_len = len };
if (!ops || !ops->transfer)
return -ENOSYS;
switch (len) { case 0: return -EINVAL;
@@ -276,10 +286,7 @@ ssize_t mipi_dsi_dcs_write(struct mipi_dsi_device *dsi, const void *data, break; }
- if (dsi->mode_flags & MIPI_DSI_MODE_LPM)
msg.flags = MIPI_DSI_MSG_USE_LPM;
- return ops->transfer(dsi->host, &msg);
- return mipi_dsi_device_transfer(dsi, &msg);
} EXPORT_SYMBOL(mipi_dsi_dcs_write);
@@ -295,7 +302,6 @@ EXPORT_SYMBOL(mipi_dsi_dcs_write); ssize_t mipi_dsi_dcs_read(struct mipi_dsi_device *dsi, u8 cmd, void *data, size_t len) {
- const struct mipi_dsi_host_ops *ops = dsi->host->ops; struct mipi_dsi_msg msg = { .channel = dsi->channel, .type = MIPI_DSI_DCS_READ,
@@ -305,13 +311,7 @@ ssize_t mipi_dsi_dcs_read(struct mipi_dsi_device *dsi, u8 cmd, void *data, .rx_len = len };
- if (!ops || !ops->transfer)
return -ENOSYS;
- if (dsi->mode_flags & MIPI_DSI_MODE_LPM)
msg.flags = MIPI_DSI_MSG_USE_LPM;
- return ops->transfer(dsi->host, &msg);
- return mipi_dsi_device_transfer(dsi, &msg);
} EXPORT_SYMBOL(mipi_dsi_dcs_read);