vio_cmo_bus_probe(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… vio_cmo_bus_probe(9) πŸ’…

okay bestie so this is a page straight out of the Kernel API Manual, and it's all about vio_cmo_bus_probe β€” the little function that handles all the CMO-specific bus probe activities. yes she's niche. yes she's iconic. let's get into it 🫢


✨ NAME ✨

vio_cmo_bus_probe β€” handles the CMO specific bus probe activities, no cap 🌸


πŸ¦‹ SYNOPSIS πŸ¦‹

int vio_cmo_bus_probe (struct vio_dev *viodev );

that's it. that's the whole vibe. one function, one argument, main character energy only πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • viodev β€” okay so the manpage literally just says -- undescribed -- for this one 😭 but don't panic, the description below has the tea: it's a pointer to struct vio_dev for the device.

πŸ‘‘ DESCRIPTION πŸ‘‘

So viodev is a pointer to struct vio_dev for the device. Cool cool cool.

What this function actually does: it determines the device's IO memory entitlement needs, and here's the strategy β€” it tries to satisfy the system minimum entitlement first, then it schedules a balance operation to take care of the rest at a later time. literally "handle the urgent stuff now, circle back for the rest" and honestly that's such a mood ⭐


πŸ”₯ RETURN πŸ”₯

  • 0 β€” success, slay, we ate πŸ’–
  • -EINVAL β€” returned when the device doesn't support CMO, so sorry bestie πŸ™ˆ
  • -ENOMEM β€” returned when entitlement is not available for the device or for the device entry πŸ’€

🌈 SEE ALSO 🌈

Kernel file ./arch/powerpc/platforms/pseries/vio.c, and the whole friend group:


and that's the whole page, bestie!! πŸ’œ biggest kiss to the ./arch/powerpc/platforms/pseries girlies, this one's dated October 2026, and it's still serving vio_cmo_bus_probe(9) realness βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from