msi_setup_device_data(9)
π MSI device data setup, but make it Kernel API Manual π
okay so bestie, welcome to the Kernel API Manual page for msi_setup_device_data(9) β yes, the whole page is about setting up MSI device data, and itβs lowkey iconic. π
β¨ NAME β¨
msi_setup_device_data β Setup MSI device data.
πΈ SYNOPSIS πΈ
int msi_setup_device_data (struct device *dev );
π§ ARGUMENTS π§
devβ Device for which MSI device data should be set up.
π RETURN π
0 on success, appropriate error code otherwise.
π¦ DESCRIPTION π¦
okay so hereβs the vibe: this can be called more than once for dev. No cap, if the MSI device data is already allocated, the call succeeds β so itβs not gonna be dramatic about it.
The allocated memory is automatically released when the device is destroyed. the way that cleanup is automatic? obsessed. no leak drama, fr fr. πβ¨
π SEE ALSO π
the whole friend group of MSI references, iykyk:
- Kernel file
./kernel/irq/msi.c struct msi_device_data(9)struct msi_ctrl(9)msi_alloc_desc(9)msi_domain_insert_msi_desc(9)msi_domain_free_msi_descs_range(9)msi_domain_add_simple_msi_descs(9)__msi_lock_descs(9)__msi_unlock_descs(9)msi_domain_first_desc(9)msi_next_desc(9)msi_domain_get_virq(9)msi_device_populate_sysfs(9)msi_device_destroy_sysfs(9)msi_domain_set_affinity(9)msi_create_irq_domain(9)msi_create_parent_irq_domain(9)msi_parent_init_dev_msi_info(9)msi_create_device_irq_domain(9)msi_remove_device_irq_domain(9)msi_match_device_irq_domain(9)msi_domain_alloc_irqs_range_locked(9)msi_domain_alloc_irqs_range(9)msi_domain_alloc_irqs_all_locked(9)msi_domain_alloc_irq_at(9)msi_device_domain_alloc_wired(9)msi_domain_free_irqs_range_locked(9)msi_domain_free_irqs_range(9)msi_domain_free_irqs_all_locked(9)msi_domain_free_irqs_all(9)msi_device_domain_free_wired(9)msi_get_domain_info(9)msi_device_has_isolated_msi(9)
bye bestie! this pageβs source/version is ./kernel/irq, dated October 2026 β mwah πβ¨
π¦ 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