ssam_register_clients(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– ssam_register_clients(9) β€” Kernel API Manual ✨

okay so bestie, we're in the Kernel API Manual today, and the star of the show is ssam_register_clients(9) πŸ’…


🌸 NAME 🌸

ssam_register_clients β€” registers literally all the client devices that are defined under the parent device you hand it 🫢


✨ SYNOPSIS ✨

int ssam_register_clients (struct device *dev , struct ssam_controller
*ctrl );

no cap, that's the whole signature. two args, one int back. slay.


πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” the parent device, like, the main character device that all the clients live under. this is where they get registered 🏠
  • ctrl β€” the controller that the client gets registered with. it's the one doing the registering, iykyk ✨

πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the vibe: this function registers all the clients that were already defined via firmware nodes as children of the given (parent) dev. those firmware nodes are the blueprint, bestie β€” the respective child firmware nodes get associated with the correspondingly created child devices. one-to-one, no cap πŸ’―

The controller you passed in as ctrl is what gets used to instantiate those new devices, so like, it's doing the actual heavy lifting. if you wanna know the details, go peek at ssam_device_add β€” it's all in there πŸ‘€


πŸ’€ RETURN πŸ’€

Returns zero on success, nonzero on failure. that's it. that's the return value. simple as πŸ“


🌈 SEE ALSO 🌈

Ok this list is long but we're listing every single one because I would never do you dirty like that πŸ™ˆ

Kernel file ./include/linux/surface_aggregator/device.h enum ssam_device_domain(9), enum ssam_virtual_tc(9), struct ssam_device_uid(9), SSAM_DEVICE(9), SSAM_VDEV(9), SSAM_SDEV(9), struct ssam_device(9), struct ssam_device_driver(9), is_ssam_device(9), to_ssam_device(9), to_ssam_device_driver(9), ssam_device_mark_hot_removed(9), ssam_device_is_hot_removed(9), ssam_device_get(9), ssam_device_put(9), ssam_device_get_drvdata(9), ssam_device_set_drvdata(9), ssam_device_driver_register(9), module_ssam_device_driver(9), ssam_device_register_clients(9), SSAM_DEFINE_SYNC_REQUEST_CL_N(9), SSAM_DEFINE_SYNC_REQUEST_CL_W(9), SSAM_DEFINE_SYNC_REQUEST_CL_R(9), SSAM_DEFINE_SYNC_REQUEST_CL_WR(9), ssam_device_notifier_register(9), ssam_device_notifier_unregister(9)

like, go read all of them. or don't. I'm not your mom πŸ’œ


and that's the page!! this one's sourced from ./include/linux/surface_aggreg... and dated October 2026 β€” mwah, big kiss, bye bestie πŸ˜­πŸ’–πŸ§š

πŸ“¦ where this page comes from