提交 d7f8db53 编写于 作者: B Boris BREZILLON 提交者: Dave Airlie

drm: flip-work: change drm_flip_work_init prototype

Now that we're using lists instead of kfifo to store drm flip-work tasks
we do not need the size parameter passed to drm_flip_work_init function
anymore.
Moreover this function cannot fail anymore, we can thus remove the return
code.

Modify drm_flip_work_init users to take account of these changes.

[airlied: fixed two unused variable warnings]
Signed-off-by: NBoris BREZILLON <boris.brezillon@free-electrons.com>
Reviewed-by: NRob Clark <robdclark@gmail.com>
Signed-off-by: NDave Airlie <airlied@redhat.com>
上级 8bd4ae20
...@@ -136,16 +136,12 @@ static void flip_worker(struct work_struct *w) ...@@ -136,16 +136,12 @@ static void flip_worker(struct work_struct *w)
/** /**
* drm_flip_work_init - initialize flip-work * drm_flip_work_init - initialize flip-work
* @work: the flip-work to initialize * @work: the flip-work to initialize
* @size: the max queue depth
* @name: debug name * @name: debug name
* @func: the callback work function * @func: the callback work function
* *
* Initializes/allocates resources for the flip-work * Initializes/allocates resources for the flip-work
*
* RETURNS:
* Zero on success, error code on failure.
*/ */
int drm_flip_work_init(struct drm_flip_work *work, int size, void drm_flip_work_init(struct drm_flip_work *work,
const char *name, drm_flip_func_t func) const char *name, drm_flip_func_t func)
{ {
work->name = name; work->name = name;
...@@ -155,8 +151,6 @@ int drm_flip_work_init(struct drm_flip_work *work, int size, ...@@ -155,8 +151,6 @@ int drm_flip_work_init(struct drm_flip_work *work, int size,
work->func = func; work->func = func;
INIT_WORK(&work->worker, flip_worker); INIT_WORK(&work->worker, flip_worker);
return 0;
} }
EXPORT_SYMBOL(drm_flip_work_init); EXPORT_SYMBOL(drm_flip_work_init);
......
...@@ -757,13 +757,10 @@ struct drm_crtc *mdp4_crtc_init(struct drm_device *dev, ...@@ -757,13 +757,10 @@ struct drm_crtc *mdp4_crtc_init(struct drm_device *dev,
{ {
struct drm_crtc *crtc = NULL; struct drm_crtc *crtc = NULL;
struct mdp4_crtc *mdp4_crtc; struct mdp4_crtc *mdp4_crtc;
int ret;
mdp4_crtc = kzalloc(sizeof(*mdp4_crtc), GFP_KERNEL); mdp4_crtc = kzalloc(sizeof(*mdp4_crtc), GFP_KERNEL);
if (!mdp4_crtc) { if (!mdp4_crtc)
ret = -ENOMEM; return ERR_PTR(-ENOMEM);
goto fail;
}
crtc = &mdp4_crtc->base; crtc = &mdp4_crtc->base;
...@@ -784,12 +781,9 @@ struct drm_crtc *mdp4_crtc_init(struct drm_device *dev, ...@@ -784,12 +781,9 @@ struct drm_crtc *mdp4_crtc_init(struct drm_device *dev,
spin_lock_init(&mdp4_crtc->cursor.lock); spin_lock_init(&mdp4_crtc->cursor.lock);
ret = drm_flip_work_init(&mdp4_crtc->unref_fb_work, 16, drm_flip_work_init(&mdp4_crtc->unref_fb_work,
"unref fb", unref_fb_worker); "unref fb", unref_fb_worker);
if (ret) drm_flip_work_init(&mdp4_crtc->unref_cursor_work,
goto fail;
ret = drm_flip_work_init(&mdp4_crtc->unref_cursor_work, 64,
"unref cursor", unref_cursor_worker); "unref cursor", unref_cursor_worker);
INIT_FENCE_CB(&mdp4_crtc->pageflip_cb, pageflip_cb); INIT_FENCE_CB(&mdp4_crtc->pageflip_cb, pageflip_cb);
...@@ -800,10 +794,4 @@ struct drm_crtc *mdp4_crtc_init(struct drm_device *dev, ...@@ -800,10 +794,4 @@ struct drm_crtc *mdp4_crtc_init(struct drm_device *dev,
mdp4_plane_install_properties(mdp4_crtc->plane, &crtc->base); mdp4_plane_install_properties(mdp4_crtc->plane, &crtc->base);
return crtc; return crtc;
fail:
if (crtc)
mdp4_crtc_destroy(crtc);
return ERR_PTR(ret);
} }
...@@ -534,13 +534,10 @@ struct drm_crtc *mdp5_crtc_init(struct drm_device *dev, ...@@ -534,13 +534,10 @@ struct drm_crtc *mdp5_crtc_init(struct drm_device *dev,
{ {
struct drm_crtc *crtc = NULL; struct drm_crtc *crtc = NULL;
struct mdp5_crtc *mdp5_crtc; struct mdp5_crtc *mdp5_crtc;
int ret;
mdp5_crtc = kzalloc(sizeof(*mdp5_crtc), GFP_KERNEL); mdp5_crtc = kzalloc(sizeof(*mdp5_crtc), GFP_KERNEL);
if (!mdp5_crtc) { if (!mdp5_crtc)
ret = -ENOMEM; return ERR_PTR(-ENOMEM);
goto fail;
}
crtc = &mdp5_crtc->base; crtc = &mdp5_crtc->base;
...@@ -553,10 +550,8 @@ struct drm_crtc *mdp5_crtc_init(struct drm_device *dev, ...@@ -553,10 +550,8 @@ struct drm_crtc *mdp5_crtc_init(struct drm_device *dev,
snprintf(mdp5_crtc->name, sizeof(mdp5_crtc->name), "%s:%d", snprintf(mdp5_crtc->name, sizeof(mdp5_crtc->name), "%s:%d",
pipe2name(mdp5_plane_pipe(plane)), id); pipe2name(mdp5_plane_pipe(plane)), id);
ret = drm_flip_work_init(&mdp5_crtc->unref_fb_work, 16, drm_flip_work_init(&mdp5_crtc->unref_fb_work,
"unref fb", unref_fb_worker); "unref fb", unref_fb_worker);
if (ret)
goto fail;
INIT_FENCE_CB(&mdp5_crtc->pageflip_cb, pageflip_cb); INIT_FENCE_CB(&mdp5_crtc->pageflip_cb, pageflip_cb);
...@@ -566,10 +561,4 @@ struct drm_crtc *mdp5_crtc_init(struct drm_device *dev, ...@@ -566,10 +561,4 @@ struct drm_crtc *mdp5_crtc_init(struct drm_device *dev,
mdp5_plane_install_properties(mdp5_crtc->plane, &crtc->base); mdp5_plane_install_properties(mdp5_crtc->plane, &crtc->base);
return crtc; return crtc;
fail:
if (crtc)
mdp5_crtc_destroy(crtc);
return ERR_PTR(ret);
} }
...@@ -394,14 +394,10 @@ struct drm_plane *omap_plane_init(struct drm_device *dev, ...@@ -394,14 +394,10 @@ struct drm_plane *omap_plane_init(struct drm_device *dev,
omap_plane = kzalloc(sizeof(*omap_plane), GFP_KERNEL); omap_plane = kzalloc(sizeof(*omap_plane), GFP_KERNEL);
if (!omap_plane) if (!omap_plane)
goto fail; return NULL;
ret = drm_flip_work_init(&omap_plane->unpin_work, 16, drm_flip_work_init(&omap_plane->unpin_work,
"unpin", unpin_worker); "unpin", unpin_worker);
if (ret) {
dev_err(dev->dev, "could not allocate unpin FIFO\n");
goto fail;
}
omap_plane->nformats = omap_framebuffer_get_formats( omap_plane->nformats = omap_framebuffer_get_formats(
omap_plane->formats, ARRAY_SIZE(omap_plane->formats), omap_plane->formats, ARRAY_SIZE(omap_plane->formats),
...@@ -443,10 +439,4 @@ struct drm_plane *omap_plane_init(struct drm_device *dev, ...@@ -443,10 +439,4 @@ struct drm_plane *omap_plane_init(struct drm_device *dev,
omap_plane->info.zorder = id; omap_plane->info.zorder = id;
return plane; return plane;
fail:
if (plane)
omap_plane_destroy(plane);
return NULL;
} }
...@@ -665,12 +665,8 @@ struct drm_crtc *tilcdc_crtc_create(struct drm_device *dev) ...@@ -665,12 +665,8 @@ struct drm_crtc *tilcdc_crtc_create(struct drm_device *dev)
tilcdc_crtc->dpms = DRM_MODE_DPMS_OFF; tilcdc_crtc->dpms = DRM_MODE_DPMS_OFF;
init_waitqueue_head(&tilcdc_crtc->frame_done_wq); init_waitqueue_head(&tilcdc_crtc->frame_done_wq);
ret = drm_flip_work_init(&tilcdc_crtc->unref_work, 16, drm_flip_work_init(&tilcdc_crtc->unref_work,
"unref", unref_worker); "unref", unref_worker);
if (ret) {
dev_err(dev->dev, "could not allocate unref FIFO\n");
goto fail;
}
ret = drm_crtc_init(dev, crtc, &tilcdc_crtc_funcs); ret = drm_crtc_init(dev, crtc, &tilcdc_crtc_funcs);
if (ret < 0) if (ret < 0)
......
...@@ -85,7 +85,7 @@ void drm_flip_work_queue_task(struct drm_flip_work *work, ...@@ -85,7 +85,7 @@ void drm_flip_work_queue_task(struct drm_flip_work *work,
void drm_flip_work_queue(struct drm_flip_work *work, void *val); void drm_flip_work_queue(struct drm_flip_work *work, void *val);
void drm_flip_work_commit(struct drm_flip_work *work, void drm_flip_work_commit(struct drm_flip_work *work,
struct workqueue_struct *wq); struct workqueue_struct *wq);
int drm_flip_work_init(struct drm_flip_work *work, int size, void drm_flip_work_init(struct drm_flip_work *work,
const char *name, drm_flip_func_t func); const char *name, drm_flip_func_t func);
void drm_flip_work_cleanup(struct drm_flip_work *work); void drm_flip_work_cleanup(struct drm_flip_work *work);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册