提交 d812b3ca 编写于 作者: M Max Kellermann 提交者: Mauro Carvalho Chehab

[media] dvb_frontend: add "detach" callback

Prepare for making "release" asynchronous (via kref).  Some operations
may need to be run synchronously in dvb_frontend_detach(), and that's
why we need a "detach" callback.
Signed-off-by: NMax Kellermann <max.kellermann@gmail.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
上级 967d8e8f
...@@ -2756,6 +2756,7 @@ void dvb_frontend_detach(struct dvb_frontend* fe) ...@@ -2756,6 +2756,7 @@ void dvb_frontend_detach(struct dvb_frontend* fe)
dvb_frontend_invoke_release(fe, fe->ops.release_sec); dvb_frontend_invoke_release(fe, fe->ops.release_sec);
dvb_frontend_invoke_release(fe, fe->ops.tuner_ops.release); dvb_frontend_invoke_release(fe, fe->ops.tuner_ops.release);
dvb_frontend_invoke_release(fe, fe->ops.analog_ops.release); dvb_frontend_invoke_release(fe, fe->ops.analog_ops.release);
dvb_frontend_invoke_release(fe, fe->ops.detach);
dvb_frontend_invoke_release(fe, fe->ops.release); dvb_frontend_invoke_release(fe, fe->ops.release);
} }
EXPORT_SYMBOL(dvb_frontend_detach); EXPORT_SYMBOL(dvb_frontend_detach);
...@@ -330,7 +330,11 @@ struct dtv_frontend_properties; ...@@ -330,7 +330,11 @@ struct dtv_frontend_properties;
* *
* @info: embedded struct dvb_tuner_info with tuner properties * @info: embedded struct dvb_tuner_info with tuner properties
* @delsys: Delivery systems supported by the frontend * @delsys: Delivery systems supported by the frontend
* @release: callback function called when frontend is dettached. * @detach: callback function called when frontend is detached.
* drivers should clean up, but not yet free the struct
* dvb_frontend allocation.
* @release: callback function called when frontend is ready to be
* freed.
* drivers should free any allocated memory. * drivers should free any allocated memory.
* @release_sec: callback function requesting that the Satelite Equipment * @release_sec: callback function requesting that the Satelite Equipment
* Control (SEC) driver to release and free any memory * Control (SEC) driver to release and free any memory
...@@ -415,6 +419,7 @@ struct dvb_frontend_ops { ...@@ -415,6 +419,7 @@ struct dvb_frontend_ops {
u8 delsys[MAX_DELSYS]; u8 delsys[MAX_DELSYS];
void (*detach)(struct dvb_frontend *fe);
void (*release)(struct dvb_frontend* fe); void (*release)(struct dvb_frontend* fe);
void (*release_sec)(struct dvb_frontend* fe); void (*release_sec)(struct dvb_frontend* fe);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册