Message ID | 1415006021-29313-2-git-send-email-thierry.reding@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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); >
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);