__device_reset(9)
π
__device_reset(9) β bestie edition
okay so real talk, this is a page from the Kernel API Manual, and honestly? it's a little guy. a tiny convenience wrapper. but it slays at doing exactly one thing, and we're gonna learn it together. π«Ά
β¨ NAME β¨
__device_reset β the function that goes and finds the reset controller that belongs to your device and then, like, actually performs the reset. no cap. π₯
πΈ SYNOPSIS πΈ
int __device_reset (struct device *dev , bool optional );
like. that's it. that's the whole signature. baby steps bestie π
π ARGUMENTS π
devβ the actual device that's gonna get reset by the controller. this is the main character here πoptionalβ aboolthat decides whether resetting this device is optional or not. iykyk π
π¦ DESCRIPTION π¦
okay so picture this: __device_reset is literally just a convenience wrapper for __reset_control_get and reset_control_reset. like, it's the l'il friend who does the two-step for you so you don't gotta. π
it's genuinely useful for the super common case of devices that have a single, dedicated reset line β the ones that are just, one reset, one line, no drama. one-device-one-reset-line energy β¨
and for devices with ACPI, the _RST firmware method will get called. yes, that's a thing. noted. π
π SEE ALSO π
bestie. sit down. it's a list. it's a long list. but every single one of these is iconic in its own right so let's give them their flowers π
- the kernel file
./drivers/reset/core.cβ the lore, the origin story π struct reset_control(9)struct reset_control_array(9)struct reset_gpio_lookup(9)fwnode_reset_simple_xlate(9)reset_controller_register(9)reset_controller_unregister(9)devm_reset_controller_register(9)reset_control_reset(9)reset_control_bulk_reset(9)reset_control_rearm(9)reset_control_assert(9)reset_control_bulk_assert(9)reset_control_deassert(9)reset_control_bulk_deassert(9)reset_control_status(9)reset_control_acquire(9)reset_control_bulk_acquire(9)reset_control_release(9)reset_control_bulk_release(9)reset_control_put(9)reset_control_bulk_put(9)fwnode_reset_control_get_count(9)fwnode_reset_control_array_get(9)devm_reset_control_array_get(9)reset_control_get_count(9)
lowkey obsessed with how many of these there are. the bulk_ variants really said "we're a package deal" ππ«Ά
k that's the whole page bestie! go reset something. responsibly. π
mwah π this one came at you from ./drivers/reset in October 2026, straight out of the Kernel API Manual β catch you on the next page, bestie! βπΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms