Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d812b3ca authored by Max Kellermann's avatar Max Kellermann Committed by Mauro Carvalho Chehab
Browse files

[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: default avatarMax Kellermann <max.kellermann@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 967d8e8f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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.tuner_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);
}
EXPORT_SYMBOL(dvb_frontend_detach);
+6 −1
Original line number Diff line number Diff line
@@ -330,7 +330,11 @@ struct dtv_frontend_properties;
 *
 * @info:		embedded struct dvb_tuner_info with tuner properties
 * @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.
 * @release_sec:	callback function requesting that the Satelite Equipment
 *			Control (SEC) driver to release and free any memory
@@ -415,6 +419,7 @@ struct dvb_frontend_ops {

	u8 delsys[MAX_DELSYS];

	void (*detach)(struct dvb_frontend *fe);
	void (*release)(struct dvb_frontend* fe);
	void (*release_sec)(struct dvb_frontend* fe);