__adis_initial_startup(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– __adis_initial_startup β€” a Kernel API Manual moment πŸ’–

okay so bestie, we're in the Kernel API Manual today and the star of the show is __adis_initial_startup. she's giving device initial setup main character energy and honestly? she ate. πŸŽ€


✨ SYNOPSIS ✨

int __adis_initial_startup (struct adis *adis );

🫢 ARGUMENTS 🫢

  • adis β€” the adis device. that's her. that's the whole vibe check right there πŸ’…

🌸 DESCRIPTION 🌸

so what does she actually do? buckle up, because it's a lot and it's iconic ✨

this function does a HW reset via a reset pin β€” and that reset pin should be specified via GPIOLIB. no pin configured? no problem, she'll just do a SW reset instead. flexible queen behavior honestly πŸ¦‹

oh and listen β€” the RST pin for the ADIS devices should be configured as ACTIVE_LOW. that's not a suggestion, that's the assignment πŸ“

after the self-test operation is performed, the function will also check that the product ID is as expected. lowkey a little overachiever. this assumes that drivers providing

(yes the sentence really does just end there in the original β€” I'm not gatekeeping anything from you, bestie, that's literally how it arrives in the source πŸ’€)

she returns 0 if the device is operational, and a negative error code otherwise. so like, zero is her way of saying "we're so back" 🫢

this function should be called early on in the device initialization sequence to ensure that the device is in a sane and known state and that it is usable. early bird gets the working hardware, no cap πŸ”₯


🌈 SEE ALSO 🌈

kernel file ./drivers/iio/imu/adis.c, plus her whole friend group:


and that's the whole page, bestie!! πŸ§šπŸ’œ this little beauty lives over in ./drivers/iio/imu, stamped October 2026 β€” so go forth, call her early, keep your state sane, and slay πŸ’…πŸ‘‘πŸŒΈ

πŸ“¦ where this page comes from