octep_probe(9)
π octep_probe(9) β like, the Octeon PCI device probe handler, bestie π
okay so real talk, this one lives in the kernel API manual (octep_probe(9)) and it's the moment a brand-new Octeon PCI device gets its whole life together. buckle up π
β¨ NAME β¨
octep_probe β the Octeon PCI device probe handler, no cap. it's the literal main character that shows up when a device gets detected π
πΈ SYNOPSIS πΈ
int octep_probe (struct pci_dev *pdev , const struct pci_device_id *ent );
likeβ¦ it returns an int, that's the vibe check right there β
π¦ ARGUMENTS π¦
pdevβ the PCI device structure itself. literally the device, the whole device, nothing but the device π«Άentβ an entry in the Octeon PCI device ID table. it's the little name tag telling everyone which device this is iykyk
π₯ DESCRIPTION π₯
so what does it actually do? glad you asked π
It initializes and enables the Octeon PCI device for network operations. that's the whole point, that's the assignment, and it ate. β¨
It also initializes the Octeon private data structure (gotta have somewhere to keep your stuff π) and registers a network device. so by the end of it, the device is out here living its best network-interface life. periodt.
π SEE ALSO π
okay this is the part where I list literally every single one because I'm not about to do you dirty and skip some π the kernel file is here:
Kernel file ./drivers/net/ethernet/marvell/octeon_ep/octep_main.c
and then, in order, the whole friend group, no one left behind π«Ά
octep_alloc_ioq_vectors(9)octep_free_ioq_vectors(9)octep_enable_msix_range(9)octep_disable_msix(9)octep_mbox_intr_handler(9)octep_oei_intr_handler(9)octep_ire_intr_handler(9)octep_ore_intr_handler(9)octep_vfire_intr_handler(9)octep_vfore_intr_handler(9)octep_dma_intr_handler(9)octep_dma_vf_intr_handler(9)octep_pp_vf_intr_handler(9)octep_misc_intr_handler(9)octep_rsvd_intr_handler(9)octep_ioq_intr_handler(9)octep_request_irqs(9)octep_free_irqs(9)octep_setup_irqs(9)octep_clean_irqs(9)octep_update_pkt(9)octep_enable_ioq_irq(9)octep_napi_poll(9)octep_napi_add(9)octep_napi_delete(9)octep_napi_enable(9)octep_napi_disable(9)octep_open(9)octep_stop(9)octep_iq_full_check(9)octep_start_xmit(9)octep_get_stats64(9)octep_tx_timeout_task(9)octep_tx_timeout(9)octep_intr_poll_task(9)octep_hb_timeout_task(9)octep_ctrl_mbox_task(9)octep_device_setup(9)octep_device_cleanup(9)octep_remove(9)octep_init_module(9)octep_exit_module(9)
like, that's forty-two functions. forty-two!! the way this driver has so many handlers. obsessed. π₯
π friendly reminder bestie: this page is about octep_probe specifically β I'm not out here inventing behavior, just telling you what the manual says. if you need the details of any of those friends up there, go read their pages. iykyk π
and that's the whole page!! π this one came from ./drivers/net/ethernet/marvell... (that's the truncated source/version line, they really said "β¦" and dipped π) and it's dated October 2026. thanks for reading my little kernel TED talk, ily, go probe something πβ¨π¦
π¦ 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