aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/omapdrm/dss/dsi.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2018-02-28 08:58:13 -0500
committerTomi Valkeinen <tomi.valkeinen@ti.com>2018-09-03 09:13:26 -0400
commitb93109d7dc9e15649e1cf18281f02d8b4a102584 (patch)
tree5250492e53cb03bd2b780489f97982bbfbae7f73 /drivers/gpu/drm/omapdrm/dss/dsi.c
parente10bd354ad79d2772842300c85ffd1a49722cfae (diff)
drm/omap: dss: Move common device operations to common structure
The various types of omapdss_*_ops structures define multiple operations that are not specific to a bus type. To simplify the code and remove dependencies on specific bus types move those operations to a common structure. Operations that are specific to a bus type are kept in the specialized ops structures. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/dss/dsi.c')
-rw-r--r--drivers/gpu/drm/omapdrm/dss/dsi.c50
1 files changed, 26 insertions, 24 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/dsi.c b/drivers/gpu/drm/omapdrm/dss/dsi.c
index 74467b308721..3cc91e973f01 100644
--- a/drivers/gpu/drm/omapdrm/dss/dsi.c
+++ b/drivers/gpu/drm/omapdrm/dss/dsi.c
@@ -5000,43 +5000,45 @@ static void dsi_disconnect(struct omap_dss_device *dssdev,
5000 dss_mgr_disconnect(&dsi->output, dssdev); 5000 dss_mgr_disconnect(&dsi->output, dssdev);
5001} 5001}
5002 5002
5003static const struct omapdss_dsi_ops dsi_ops = { 5003static const struct omap_dss_device_ops dsi_ops = {
5004 .connect = dsi_connect, 5004 .connect = dsi_connect,
5005 .disconnect = dsi_disconnect, 5005 .disconnect = dsi_disconnect,
5006 .enable = dsi_display_enable,
5006 5007
5007 .bus_lock = dsi_bus_lock, 5008 .dsi = {
5008 .bus_unlock = dsi_bus_unlock, 5009 .bus_lock = dsi_bus_lock,
5010 .bus_unlock = dsi_bus_unlock,
5009 5011
5010 .enable = dsi_display_enable, 5012 .disable = dsi_display_disable,
5011 .disable = dsi_display_disable,
5012 5013
5013 .enable_hs = dsi_vc_enable_hs, 5014 .enable_hs = dsi_vc_enable_hs,
5014 5015
5015 .configure_pins = dsi_configure_pins, 5016 .configure_pins = dsi_configure_pins,
5016 .set_config = dsi_set_config, 5017 .set_config = dsi_set_config,
5017 5018
5018 .enable_video_output = dsi_enable_video_output, 5019 .enable_video_output = dsi_enable_video_output,
5019 .disable_video_output = dsi_disable_video_output, 5020 .disable_video_output = dsi_disable_video_output,
5020 5021
5021 .update = dsi_update, 5022 .update = dsi_update,
5022 5023
5023 .enable_te = dsi_enable_te, 5024 .enable_te = dsi_enable_te,
5024 5025
5025 .request_vc = dsi_request_vc, 5026 .request_vc = dsi_request_vc,
5026 .set_vc_id = dsi_set_vc_id, 5027 .set_vc_id = dsi_set_vc_id,
5027 .release_vc = dsi_release_vc, 5028 .release_vc = dsi_release_vc,
5028 5029
5029 .dcs_write = dsi_vc_dcs_write, 5030 .dcs_write = dsi_vc_dcs_write,
5030 .dcs_write_nosync = dsi_vc_dcs_write_nosync, 5031 .dcs_write_nosync = dsi_vc_dcs_write_nosync,
5031 .dcs_read = dsi_vc_dcs_read, 5032 .dcs_read = dsi_vc_dcs_read,
5032 5033
5033 .gen_write = dsi_vc_generic_write, 5034 .gen_write = dsi_vc_generic_write,
5034 .gen_write_nosync = dsi_vc_generic_write_nosync, 5035 .gen_write_nosync = dsi_vc_generic_write_nosync,
5035 .gen_read = dsi_vc_generic_read, 5036 .gen_read = dsi_vc_generic_read,
5036 5037
5037 .bta_sync = dsi_vc_send_bta_sync, 5038 .bta_sync = dsi_vc_send_bta_sync,
5038 5039
5039 .set_max_rx_packet_size = dsi_vc_set_max_rx_packet_size, 5040 .set_max_rx_packet_size = dsi_vc_set_max_rx_packet_size,
5041 },
5040}; 5042};
5041 5043
5042static void dsi_init_output(struct dsi_data *dsi) 5044static void dsi_init_output(struct dsi_data *dsi)
@@ -5050,7 +5052,7 @@ static void dsi_init_output(struct dsi_data *dsi)
5050 out->output_type = OMAP_DISPLAY_TYPE_DSI; 5052 out->output_type = OMAP_DISPLAY_TYPE_DSI;
5051 out->name = dsi->module_id == 0 ? "dsi.0" : "dsi.1"; 5053 out->name = dsi->module_id == 0 ? "dsi.0" : "dsi.1";
5052 out->dispc_channel = dsi_get_channel(dsi); 5054 out->dispc_channel = dsi_get_channel(dsi);
5053 out->ops.dsi = &dsi_ops; 5055 out->ops = &dsi_ops;
5054 out->owner = THIS_MODULE; 5056 out->owner = THIS_MODULE;
5055 5057
5056 omapdss_register_output(out); 5058 omapdss_register_output(out);