dvb_frontend_detach(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… dvb_frontend_detach(9) β€” the "okay bye bestie, clean up after yourself" era

So this is a page from the Kernel API Manual, and honestly? It's the breakup text of the DVB frontend world. Let's get into it πŸŽ€


✨ NAME ✨

dvb_frontend_detach β€” detaches and frees all the frontend-specific data. Like, it literally lets go and says "you're free now" πŸ¦‹


✨ SYNOPSIS ✨

void dvb_frontend_detach (struct dvb_frontend *fe );

That's it. One call. One pointer. No cap. ✨


✨ ARGUMENTS ✨

  • fe β€” pointer to struct dvb_frontend. Just the one pointer bestie, and it's the frontend you're detaching 🫢

✨ DESCRIPTION ✨

Okay so, vibe check first: this function should be called after dvb_unregister_frontend. Like, order matters, don't come for me πŸ™ˆ It's the post-breakup cleanup, not the breakup itself.

What it does is it calls alllll the release functions β€” the SEC one, the tuner one, the demod one, and the general one. Specifically:

  • dvb_frontend_ops.release_sec
  • dvb_frontend_ops.tuner_ops.release
  • dvb_frontend_ops.analog_ops.release
  • dvb_frontend_ops.release

Four release calls, all in a row, all iconic. Slay πŸ’…

And if the driver is compiled with CONFIG_MEDIA_ATTACH, it also decreases the module reference count. Why, you ask? So that userspace can remove the DVB frontend modules it was previously using. That's the whole point β€” it's giving "letting go so something else can take the stage" πŸ‘‘

Fr fr though β€” call this after dvb_unregister_frontend, not before. The manpage is very clear on this and so am I πŸ’€

✨ SEE ALSO ✨

Kernel file ./include/media/dvb_frontend.h also covers:


And that's the page, bestie πŸ’œ β€” brought to you by ./include/media, dated October 2026. Go forth and detach responsibly βœ¨πŸŽ€πŸŒΈ

πŸ“¦ where this page comes from