diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-02-28 08:58:13 -0500 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2018-09-03 09:13:26 -0400 |
commit | b93109d7dc9e15649e1cf18281f02d8b4a102584 (patch) | |
tree | 5250492e53cb03bd2b780489f97982bbfbae7f73 /drivers/gpu/drm/omapdrm/dss/dsi.c | |
parent | e10bd354ad79d2772842300c85ffd1a49722cfae (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.c | 50 |
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 | ||
5003 | static const struct omapdss_dsi_ops dsi_ops = { | 5003 | static 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 | ||
5042 | static void dsi_init_output(struct dsi_data *dsi) | 5044 | static 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); |