SSAM_DEFINE...REQUEST_MD_W(9)
β¨ NAME β¨
okay so bestie, welcome to the SSAM_DEFINE...REQUEST_MD_W(9) page from the Kernel API Manual π
β this one is all about SSAM_DEFINE_SYNC_REQUEST_MD_W, which defines a synchronous multi-device SAM request function with an argument. no cap.
π SYNOPSIS π
SSAM_DEFINE_SYNC_REQUEST_MD_W (name , atype , spec... );
π¦ ARGUMENTS π¦
nameβ the name of the generated function, periodt.atypeβ the type of the requestβs argument.specβ the specification (struct ssam_request_spec_md) that defines the request. this is the blueprint, okay?
π DESCRIPTION π
So this macro defines a function that executes the synchronous SAM request specified by spec. The request takes an argument of type atype and has no return value. The device-specifying parameters are not hard-coded β instead they must be provided to the function. The generated function takes care of setting up the request struct, buffer allocation, as well as execution of the request itself, returning once the request has been fully completed. The required transport buffer will be allocated on the stack. slay.
The generated function is defined as:
static int name(struct ssam_controller *ctrl, u8 tid, u8 iid, const atype *arg)
It returns the status of the request: zero on success and negative on failure. The ctrl parameter is the controller via which the request is sent, tid is the target ID for the request, and iid is the instance ID. The request argument is specified via the arg pointer. iykyk.
For more details on the behavior of the generated function, refer to ssam_request_do_sync_onstack. π«
π SEE ALSO π
Kernel file ./include/linux/surface_aggregator/controller.h, plus these iconic references:
enum ssam_event_flags(9)struct ssam_event(9)enum ssam_request_flags(9)struct ssam_request(9)struct ssam_response(9)struct ssam_request_sync(9)ssam_request_sync_set_data(9)ssam_request_sync_set_resp(9)ssam_request_sync_wait(9)ssam_request_do_sync_onstack(9)__ssam_retry(9)ssam_retry(9)struct ssam_request_spec(9)struct ssam_request_spec_md(9)SSAM_DEFINE_SYNC_REQUEST_N(9)SSAM_DEFINE_SYNC_REQUEST_W(9)SSAM_DEFINE_SYNC_REQUEST_R(9)SSAM_DEFINE_SYNC_REQUEST_WR(9)SSAM_DEFINE_SYNC_REQUEST_MD_N(9)SSAM_DEFINE_SYNC_REQUEST_MD_R(9)SSAM_DEFINE_SYNC_REQUEST_MD_WR(9)enum ssam_notif_flags(9)struct ssam_notifier_block(9)ssam_notifier_from_errno(9)ssam_notifier_to_errno(9)struct ssam_event_registry(9)struct ssam_event_id(9)enum ssam_event_mask(9)SSAM_EVENT_REGISTRY(9)enum ssam_event_notifier_flags(9)struct ssam_event_notifier(9)ssam_notifier_unregister(9)
mwah π this page is from ./include/linux/surface_aggreg..., dated October 2026, and the manual name is SSAM_DEFINE...REQUEST_MD_W(9) β bye bestie π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms