of_qcom_ice_get(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ of_qcom_ice_get(9) ✨

okay so bestie, we're in the Kernel API Manual today and the main character is of_qcom_ice_get β€” she's the one who goes and fetches you an ICE instance straight out of a DT node. πŸ’…


🌸 NAME 🌸

of_qcom_ice_get β€” get an ICE instance from a DT node 🧚


πŸŽ€ SYNOPSIS πŸŽ€

struct qcom_ice * of_qcom_ice_get (struct device *dev );

πŸ’– ARGUMENTS πŸ’–

  • dev β€” device pointer for the consumer device. that's the device that wants the ICE, she's the consumer, she's the one asking nicely 🫢

πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the vibe: this function hands you an ICE instance, and there are literally two ways that can go down. πŸ‘‘

Route one β€” it just creates one for the consumer device, but only if that device's DT node provides the 'ice' reg range and the 'ice' clock. That's the legacy DT style, iykyk. ✨

Route two β€” if the consumer instead provides a phandle via the 'qcom,ice' property pointing at an ICE DT, then the ICE instance is already created, so this function doesn't build anything, it just returns that one. no cap. πŸ’…


πŸ”₯ RETURN πŸ”₯

  • ICE pointer on success πŸŽ‰
  • NULL if there is no ICE data provided by the consumer πŸ™ˆ
  • ERR_PTR on error πŸ’€
fr fr check what you got back before you start dereferencing it, okay? NULL and ERR_PTR are not the same thing and they are not a valid ICE pointer. πŸ‘€

🌈 SEE ALSO 🌈

Kernel file ./drivers/soc/qcom/ice.c, plus the whole squad:


and that's the whole page bestie, mwah πŸ’‹ this little gem lives down in ./drivers/soc/qcom, stamped October 2026, so go be iconic with it β­πŸ“

πŸ“¦ where this page comes from