dpll_pin_get(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– dpll_pin_get(9) πŸ’–

okay bestie so we're deep in the Kernel API Manual today and this one is the glow-up of pin lookups ✨ it's called dpll_pin_get and it's literally the main character of this whole page, no cap πŸŽ€


🌸 NAME 🌸

dpll_pin_get β€” find an existing dpll pin, or create a brand new one if it's not there yet πŸ¦‹


✨ SYNOPSIS ✨

struct dpll_pin * dpll_pin_get (u64 clock_id , u32 pin_idx , struct module *module , const struct dpll_pin_properties *prop , dpll_tracker *tracker );

πŸŽ€ ARGUMENTS πŸŽ€

  • clock_id β€” the clock_id of whoever created this thing, iykyk
  • pin_idx β€” the idx your dev driver handed over
  • module β€” a reference to the registering module
  • prop β€” the dpll pin properties, the whole vibe sheet
  • tracker β€” the tracking object for the reference you just acquired πŸ‘‘

πŸ’… DESCRIPTION πŸ’…

So basically: it grabs the existing object of a pin β€” and that pin is unique for the arguments you passed in, slay β€” or it creates a new one if it doesn't exist yet. periodt πŸ’–


πŸ”₯ CONTEXT πŸ”₯

Acquires a lock (dpll_lock) β€” she locks, bestie, ngl that's the whole note 😌


⭐ RETURN ⭐

  • a valid allocated dpll_pin struct pointer if it succeeded πŸŽ‰
  • ERR_PTR(X) β€” error 😭

🌈 SEE ALSO 🌈

Kernel file ./drivers/dpll/dpll_core.c, plus the whole friend group: dpll_device_get(9), dpll_device_put(9), dpll_device_register(9), dpll_device_unregister(9), dpll_pin_put(9), dpll_pin_fwnode_set(9), fwnode_dpll_pin_find(9), dpll_pin_register(9), dpll_pin_unregister(9), dpll_pin_on_pin_register(9), dpll_pin_on_pin_unregister(9), dpll_pin_ref_sync_pair_add(9), dpll_pin_own_dpll_ref_first(9)


okay that's the whole page bestie 🫢 this little gem lives in ./drivers/dpll and the version is dated October 2026 β€” iconic, timeless, we stan πŸ’œπŸ§š

πŸ“¦ where this page comes from