ipr_show_fw_version(9)
π NAME
okay so bestie, this is ipr_show_fw_version(9) β yes the (9) is the section, that's the Kernel API Manual vibe β and its whole entire job is showing the firmware version. that's it. that's the function. she's an icon, she does one thing, and she slays it β¨
π SYNOPSIS
ssize_t ipr_show_fw_version (struct device *dev , struct
device_attribute *attr , char *buf );
like, literally that's the whole signature π keep it exactly like that, no cap.
π¦ ARGUMENTS
devβ a class device struct. the class device struct, actually. she's the main character here πattrβ the device attribute... which is unused π«Ά so yeah, she's just here for the vibes, she shows up and does nothing and honestly? relatable πbufβ the buffer. the place where the printing happens. no thoughts, just buffer π
πΈ DESCRIPTION
the return value is: the number of bytes printed to buffer π« that's the whole description bestie, she's a short queen and she's not gonna waste your time. iykyk.
π SEE ALSO
also go look at the Kernel file ./drivers/scsi/ipr.c β that's where the actual code lives, go be nosy π
and because this page has the biggest friend group you've ever seen, here's everyone she's tagging in the group chat (all (9) pages, all day):
ipr_trc_hook, ipr_lock_and_done, ipr_reinit_ipr_cmnd, ipr_init_ipr_cmnd, __ipr_get_free_ipr_cmnd, ipr_get_free_ipr_cmnd, ipr_mask_and_clear_interrupts, ipr_save_pcix_cmd_reg, ipr_set_pcix_cmd_reg, __ipr_scsi_eh_done, ipr_scsi_eh_done, ipr_fail_all_ops, ipr_send_command, ipr_do_req, ipr_internal_cmd_done, ipr_init_ioadl, ipr_send_blocking_cmd, ipr_send_hcam, ipr_init_res_entry, ipr_is_same_device, __ipr_format_res_path, ipr_format_res_path, ipr_update_res_entry, ipr_clear_res_target, ipr_handle_config_change, ipr_process_ccn, strip_whitespace, ipr_log_vpd_compact, ipr_log_vpd, ipr_log_ext_vpd_compact, ipr_log_ext_vpd, ipr_log_enhanced_cache_error, ipr_log_cache_error, ipr_log_enhanced_config_error, ipr_log_sis64_config_error, ipr_log_config_error, ipr_log_enhanced_array_error, ipr_log_array_error, ipr_log_hex_data, ipr_log_enhanced_dual_ioa_error π
ipr_log_dual_ioa_error, ipr_log_fabric_path, ipr_log64_fabric_path, ipr_log_path_elem, ipr_log64_path_elem, ipr_log_fabric_error, ipr_log_sis64_array_error, ipr_log_sis64_fabric_error, ipr_log_sis64_service_required_error, ipr_log_generic_error, ipr_log_sis64_device_error, ipr_get_error, ipr_handle_log_data, ipr_process_error, ipr_timeout, ipr_oper_timeout, ipr_find_ses_entry, ipr_get_max_scsi_speed, ipr_wait_iodbg_ack, ipr_get_sis64_dump_data_section, ipr_get_ldump_data_section, ipr_sdt_copy, ipr_init_dump_entry_hdr, ipr_dump_ioa_type_data, ipr_dump_version_data, ipr_dump_trace_data, ipr_dump_location_data, ipr_get_ioa_dump, ipr_release_dump, ipr_worker_thread, ipr_read_trace, ipr_show_log_level, ipr_store_log_level, ipr_store_diagnostics, ipr_show_adapter_state, ipr_store_adapter_state, ipr_store_reset_adapter, ipr_store_iopoll_weight, ipr_alloc_ucode_buffer, ipr_free_ucode_buffer β¨
ipr_copy_ucode_buffer, ipr_build_ucode_ioadl64, ipr_build_ucode_ioadl, ipr_update_ioa_ucode, ipr_store_update_fw, ipr_show_fw_type, ipr_read_dump, ipr_alloc_dump, ipr_free_dump, ipr_write_dump, ipr_change_queue_depth, ipr_show_adapter_handle, ipr_show_resource_path, ipr_show_device_id, ipr_show_resource_type, ipr_show_raw_mode, ipr_store_raw_mode, ipr_biosparam, ipr_find_starget, ipr_target_destroy, ipr_find_sdev, ipr_sdev_destroy, ipr_sdev_configure, ipr_sdev_init, ipr_match_lun, ipr_cmnd_is_free, ipr_wait_for_ops, ipr_device_reset, __ipr_eh_dev_reset, ipr_bus_reset_done, ipr_abort_timeout, ipr_cancel_op, ipr_scan_finished, ipr_eh_abort, ipr_handle_other_interrupt, ipr_isr_eh, ipr_isr, ipr_isr_mhrrq, ipr_build_ioadl64, ipr_build_ioadl π¦
__ipr_erp_done, ipr_erp_done, ipr_reinit_ipr_cmnd_for_erp, __ipr_erp_request_sense, ipr_erp_request_sense, ipr_erp_cancel_all, ipr_dump_ioasa, ipr_gen_sense, ipr_get_autosense, ipr_erp_start, ipr_scsi_done, ipr_queuecommand, ipr_ioa_info, ipr_ioa_bringdown_done, ipr_ioa_reset_done, ipr_set_sup_dev_dflt, ipr_set_supported_devs, ipr_get_mode_page, ipr_check_term_power, ipr_scsi_bus_speed_limit, ipr_modify_ioafp_mode_page_28, ipr_build_mode_select, ipr_ioafp_mode_select_page28, ipr_build_mode_sense, ipr_reset_cmd_failed, ipr_reset_mode_sense_failed, ipr_ioafp_mode_sense_page28, ipr_ioafp_mode_select_page24, ipr_reset_mode_sense_page24_failed, ipr_ioafp_mode_sense_page24, ipr_init_res_table, ipr_ioafp_query_ioa_cfg, ipr_ioafp_set_caching_parameters, ipr_ioafp_inquiry, ipr_inquiry_page_supported, ipr_ioafp_pageC4_inquiry, ipr_ioafp_cap_inquiry, ipr_ioafp_page3_inquiry, ipr_ioafp_page0_inquiry, ipr_ioafp_std_inquiry π
ipr_ioafp_identify_hrrq, ipr_reset_timer_done, ipr_reset_start_timer, ipr_init_ioa_mem, ipr_reset_next_stage, ipr_reset_enable_ioa, ipr_reset_wait_for_dump, ipr_unit_check_no_data, ipr_get_unit_check_buffer, ipr_reset_get_unit_check_job, ipr_set_affinity_nobalance, ipr_reset_restore_cfg_space, ipr_reset_bist_done, ipr_reset_start_bist, ipr_reset_slot_reset_done, ipr_reset_reset_work, ipr_reset_slot_reset, ipr_reset_block_config_access_wait, ipr_reset_block_config_access, ipr_reset_allowed, ipr_reset_wait_to_start_bist, ipr_reset_alert, ipr_reset_quiesce_done, ipr_reset_cancel_hcam_done, ipr_reset_cancel_hcam, ipr_reset_ucode_download_done, ipr_reset_ucode_download, ipr_reset_shutdown_ioa, ipr_reset_ioa_job, _ipr_initiate_ioa_reset, ipr_initiate_ioa_reset, ipr_reset_freeze, ipr_pci_mmio_enabled, ipr_pci_frozen, ipr_pci_slot_reset, ipr_pci_perm_failure, ipr_pci_error_detected, ipr_probe_ioa_part2, ipr_free_cmd_blks, ipr_free_mem π
ipr_free_irqs, ipr_free_all_resources, ipr_alloc_cmd_blks, ipr_alloc_mem, ipr_initialize_bus_attr, ipr_init_regs, ipr_init_ioa_cfg, ipr_get_chip_info, ipr_wait_for_pci_err_recovery, ipr_test_intr, ipr_test_msi, ipr_initiate_ioa_bringdown, __ipr_remove, ipr_remove, ipr_probe, ipr_shutdown, ipr_halt_done, ipr_halt, ipr_init, ipr_exit π₯
that's the whole squad. all of them. every single one. don't skip a single tag, bestie, the group chat notices π
and that's the page!! mwah π this little gem lives over in ./drivers/scsi and the manual itself is dated October 2026 β go off, October 2026, absolutely iconic of you ππ«Ά
π¦ 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