ctucan_probe_common(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

ctucan_probe_common β€” the device-type-independent registration call, bestie. Like, it does not care what kind of device you brought to the party; it handles the registration vibe anyway. ✨

🌸 SYNOPSIS 🌸

int ctucan_probe_common (struct device *dev , void __iomem *addr , int
irq , unsigned int ntxbufs , unsigned long can_clk_rate , int
pm_enable_call , void (*set_drvdata_fnc)(struct device *dev, struct
net_device *ndev) );

πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” handle to the generic device structure. It’s the main-character device handle, periodt. πŸ‘‘
  • addr β€” base address of the CTU CAN FD core address. Yes, that exact phrase; it’s the core’s address home base. 🏠
  • irq β€” the interrupt number. The literal β€œhey bestie, something happened” number. πŸ””
  • ntxbufs β€” number of implemented Tx buffers. Count those Tx buffers, don’t guess. πŸ”₯
  • can_clk_rate β€” clock rate. If it’s 0, then the clock is taken from the device node. No cap, that’s the rule. πŸ•°οΈ
  • pm_enable_call β€” whether pm_runtime_enable should be called. So it’s basically a yes/no vibe check for that call. βœ…
  • set_drvdata_fnc β€” function to set network driver data for the physical device. It’s giving β€œyou provide the setter, I’ll handle the rest” energy. 🫢

πŸ¦‹ DESCRIPTION πŸ¦‹

This function does all the memory allocation and registration for the CAN device. Like, all of it β€” the allocation and the registration, together, slay. πŸ’…

⭐ RETURN ⭐

0 on success, and a failure value on error. So, success is the iconic 0; anything else is the error vibe telling you something went sideways. 😭

🌈 SEE ALSO 🌈

Kernel file ./drivers/net/can/ctucanfd/ctucanfd.h β€” go look, iykyk. πŸ“š


Source/version cuteness: this page lives under ./drivers/net/can/ctucanfd, and the date on it is October 2026. Stay hydrated, read your headers, and mwah πŸ’‹πŸ§šβ€β™€οΈ

πŸ“¦ where this page comes from