drm/atomic: Avoid connector to writeback_connector casts
Use container_of() instead of type casting so that it keeps working even if base is moved inside the drm_writeback_connector struct. Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20180703075022.15138-2-boris.brezillon@bootlin.com
This commit is contained in:
parent
73915b2b1f
commit
b82c1f8f78
|
@ -2428,6 +2428,7 @@ static int prepare_signaling(struct drm_device *dev,
|
|||
}
|
||||
|
||||
for_each_new_connector_in_state(state, conn, conn_state, i) {
|
||||
struct drm_writeback_connector *wb_conn;
|
||||
struct drm_writeback_job *job;
|
||||
struct drm_out_fence_state *f;
|
||||
struct dma_fence *fence;
|
||||
|
@ -2451,7 +2452,8 @@ static int prepare_signaling(struct drm_device *dev,
|
|||
f[*num_fences].out_fence_ptr = fence_ptr;
|
||||
*fence_state = f;
|
||||
|
||||
fence = drm_writeback_get_out_fence((struct drm_writeback_connector *)conn);
|
||||
wb_conn = drm_connector_to_writeback(conn);
|
||||
fence = drm_writeback_get_out_fence(wb_conn);
|
||||
if (!fence)
|
||||
return -ENOMEM;
|
||||
|
||||
|
|
|
@ -110,6 +110,12 @@ struct drm_writeback_job {
|
|||
struct dma_fence *out_fence;
|
||||
};
|
||||
|
||||
static inline struct drm_writeback_connector *
|
||||
drm_connector_to_writeback(struct drm_connector *connector)
|
||||
{
|
||||
return container_of(connector, struct drm_writeback_connector, base);
|
||||
}
|
||||
|
||||
int drm_writeback_connector_init(struct drm_device *dev,
|
||||
struct drm_writeback_connector *wb_connector,
|
||||
const struct drm_connector_funcs *con_funcs,
|
||||
|
|
Loading…
Reference in New Issue