scmi_transport_supplier_put(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… scmi_transport_supplier_put(9) β€” a Kernel API manual page bestie πŸ’…

okay so bestie, welcome to the scmi_transport_supplier_put(9) page, straight outta the Kernel API Manual ✨ grab a lil snack, we're learning how to dispose of a supplier 🫢


🌸 NAME 🌸

scmi_transport_supplier_put β€” a lil helper whose entire job is to dispose of a supplier πŸ’… lowkey iconic of it


✨ SYNOPSIS ✨

int scmi_transport_supplier_put (const struct scmi_transport_handle *th
, struct device *supplier );

that's it, that's the whole vibe check πŸ”₯


πŸŽ€ ARGUMENTS πŸŽ€

  • th β€” a reference to the transport handle you wanna use. no drama, just vibes ✨
  • supplier β€” a reference to the device supplier you're managing. and listen, this one is strict: it cannot be NULL or ERR_PTR. like, it literally cannot πŸ’€ don't try it.

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the tea πŸ“: putting a supplier does different things depending on the current state of scmi_transport_supplier.available, and honestly? it's giving state machine realness πŸ‘‘

  • NOT_READY/BUSY β€” the supplier gets set as the new available device. yes queen, this is your moment: you can use this to make available a supplier OR to stop using one. dual purpose icon 🌈
  • AVAILABLE β€” if the supplier you're disposing of matches the one currently available, we roll back to the NOT_READY state. and any other attempt to override an available supplier with a new one? rejected πŸ™ˆ which effectively enforces one single supplier. one supplier only, no cap, periodt πŸ’…

⭐ RETURN ⭐

0 on Success, errno otherwise. simple as that bestie πŸ’–


πŸ”₯ SEE ALSO πŸ”₯

go check out the kernel file ./drivers/firmware/arm_scmi/common.h and these absolute legends, iykyk:

  • pack_scmi_header(9)
  • unpack_scmi_header(9)
  • struct scmi_chan_info(9)
  • struct scmi_transport_ops(9)
  • struct scmi_desc(9)
  • struct scmi_debug_info(9)
  • struct scmi_shmem_io_ops(9)
  • struct scmi_shared_mem_operations(9)
  • struct scmi_message_operations(9)
  • struct scmi_transport_core_operations(9)
  • struct scmi_transport_handle(9)
  • struct scmi_transport(9)
  • struct scmi_transport_supplier(9)
  • scmi_transport_supplier_get(9)

and that's the whole page bestie, you ate that 🫢 this one lives in ./drivers/firmware/arm_scmi, dated October 2026, and it's the scmi_transport_supplier_put(9) page β€” go forth and dispose of your suppliers responsibly πŸ§šπŸ’œ

πŸ“¦ where this page comes from