pru_rproc_get(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ pru_rproc_get ✨

okay bestie, gather round, because this is a page from the Kernel API Manual and it's honestly kind of a big deal πŸ’…

🌸 NAME 🌸

pru_rproc_get β€” grab the PRU rproc instance from a device node, no cap

πŸ¦‹ SYNOPSIS πŸ¦‹

struct rproc * pru_rproc_get (struct device_node *np , int index , enum
pruss_pru_id *pru_id );

πŸŽ€ ARGUMENTS πŸŽ€

  • np β€” the user/client device node. like, the device node of whoever's asking 🫢
  • index β€” the index to use for the ti,prus property
  • pru_id β€” optional pointer to return the PRU remoteproc processor id. optional!! you don't have to pass it ✨

πŸ’– DESCRIPTION πŸ’–

So what this function actually does: it looks through a client device node's ti,prus property at index index and returns the rproc handle for a valid PRU remote processor if it finds one. it's giving "let me check the property real quick and see if your PRU is in there" πŸ”

Bestie, listen β€” the function allows only one user to own the PRU rproc resource at a time. one. singular. main character energy only, no plus-ones πŸ‘‘

The caller must call pru_rproc_put when done with the rproc. like, that's the whole etiquette. but good news!! it's not required if the function returns a failure β€” you're off the hook in that case πŸ™ˆ

And when the optional pru_id pointer is passed, the PRU remoteproc processor id is returned. cute little bonus info πŸ“

πŸ”₯ RETURN πŸ”₯

rproc handle on success, and an ERR_PTR on failure using one of these error values:

  • -ENODEV if device is not found β€” literally nowhere to be found 😭
  • -EBUSY if PRU is already acquired by anyone β€” somebody else got there first, it's taken πŸ’€
  • -EPROBE_DEFER is PRU device is not probed yet β€” not ready yet, come back later ⭐

🧚 SEE ALSO 🧚


and that's the whole page, bestie, you ate that 🫢✨ this little gem lives in ./drivers/remoteproc, dated October 2026, and the header/footer vibe is pru_rproc_get(9) β€” go forth and get your rproc responsibly πŸ’œ

πŸ“¦ where this page comes from