of_icc_get_by_index(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… of_icc_get_by_index β€” Kernel API Manual ✨

okay so bestie, buckle up, because we're diving into of_icc_get_by_index(9) β€” that's the one from the Kernel API Manual, and it's honestly giving "quiet little helper that does a lot of heavy lifting" energy 🫢


🌸 NAME 🌸

of_icc_get_by_index β€” get a path handle from a DT node based on index ⭐


πŸŽ€ SYNOPSIS πŸŽ€

struct icc_path * of_icc_get_by_index (struct device *dev , int idx );

like, that's the whole signature, no cap πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • dev β€” device pointer for the consumer device. this is the one doing the consuming, iykyk πŸ’–
  • idx β€” interconnect path index. literally just the index, bestie πŸ”’

✨ DESCRIPTION ✨

okay so picture this: this function goes looking for a path between two endpoints, and when it finds one β€” slay β€” it hands you back an icc_path handle. mission accomplished πŸ‘‘

when you're done with your constraints and don't need them anymore? use icc_put to release them. that's the cleanup era, don't skip it 🧹

now here's the fun part: if the interconnect API is disabled, this thing returns NULL and your consumer drivers will still build. iconic, honestly. lowkey it means drivers are free to handle that case specifically if they want to β€” but they don't have to. no pressure, main character energy 🌈


πŸ”₯ RETURN πŸ”₯

  • an icc_path pointer on success πŸŽ‰
  • ERR_PTR on error 😭
  • NULL when the API is disabled or when the "interconnects" DT property is missing πŸ‘€
fr fr, check for that NULL β€” it's not always an error, sometimes it's just vibe check failed 🫢

πŸ’œ SEE ALSO πŸ’œ

Kernel file ./drivers/interconnect/core.c, plus the whole squad:


aaand that's the page, bestie πŸ“ this one's filed under ./drivers/interconnect, dated October 2026, and it's literally called of_icc_get_by_index(9) β€” go forth and get those path handles πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from