es58x_init_es58x_dev(9)
β¨ es58x_init_es58x_dev(9) β¨
okay so bestie, welcome to the Kernel API Manual π β yes we're literally in the kernel docs rn, put your hair up, it's giving main character energy π. Today's episode: es58x_init_es58x_dev, the function that sets up an ES58X device from scratch. No cap, it's the glow-up ritual before anything else happens π.
πΈ NAME πΈ
es58x_init_es58x_dev β Initialize the ES58X device. That's it, that's the whole vibe β¨ (it initializes the device, bestie, it's right there in the name π
).
π¦ SYNOPSIS π¦
struct es58x_device * es58x_init_es58x_dev (struct usb_interface *intf ,
kernel_ulong_t driver_info );
like, you hand it a USB interface and some driver quirks, and it hands you back a shiny new struct es58x_device * π«Ά. iconic behavior fr fr.
π ARGUMENTS π
intfβ the USB interface. that's the whole thing, she's just a USB interface πdriver_infoβ the quirks of the device π. every device has her little quirks, and this is where they live. slay.
β RETURN β
You get a pointer to an ES58X device on success π₯³ β but if any error occurs, you get an error pointer instead π. so like, always check before you start celebrating, iykyk π.
ngl this is the classic "pointer or error pointer" situation β do not just dereference and hope for the best, bestie π.
π₯ SEE ALSO π₯
First up, the kernel file, in all her glory:
./drivers/net/can/usb/etas_es58x/es58x_core.c β that's the source, go read it, she's gorgeous π
And now the whole friend group π«Ά β every single one of these icons appears in the SEE ALSO list, so here's the full roll call, no skips, no cuts, periodt:
es58x_calculate_crc(9)es58x_get_crc(9)es58x_set_crc(9)es58x_check_crc(9)es58x_timestamp_to_ns(9)es58x_set_skb_timestamp(9)es58x_rx_timestamp(9)es58x_set_realtime_diff_ns(9)es58x_is_can_state_active(9)es58x_is_echo_skb_threshold_reached(9)es58x_can_free_echo_skb_tail(9)es58x_can_get_echo_skb_recovery(9)es58x_can_get_echo_skb(9)es58x_can_reset_echo_fifo(9)es58x_flush_pending_tx_msg(9)es58x_tx_ack_msg(9)es58x_rx_can_msg(9)es58x_rx_err_msg(9)es58x_cmd_ret_desc(9)es58x_rx_cmd_ret_u8(9)es58x_rx_cmd_ret_u32(9)es58x_increment_rx_errors(9)es58x_handle_urb_cmd(9)es58x_check_rx_urb(9)es58x_copy_to_cmd_buf(9)es58x_split_urb_try_recovery(9)es58x_handle_incomplete_cmd(9)es58x_split_urb(9)es58x_read_bulk_callback(9)es58x_write_bulk_callback(9)es58x_alloc_urb(9)es58x_get_tx_urb(9)es58x_submit_urb(9)es58x_send_msg(9)es58x_alloc_rx_urbs(9)es58x_free_urbs(9)es58x_open(9)es58x_stop(9)es58x_xmit_commit(9)es58x_xmit_more(9)es58x_start_xmit(9)es58x_set_mode(9)es58x_init_priv(9)es58x_init_netdev(9)es58x_free_netdevs(9)es58x_probe(9)es58x_disconnect(9)
that's forty-seven functions, bestie, and every one of them ate π π₯.
and that's the page!! π¦ mwah π
cute little sign-off before you go: this one lives in ./drivers/net/can/usb/etas_es58x and the date on it is October 2026 β β so like, technically future vibe, keep that in mind π§. bye bestie, go initialize 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