STRUCT ES2_AP_DEV(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, welcome to the struct es2_ap_dev(9) page from the Kernel API Manual πŸ’– this is the ES2 USB Bridge to AP structure, and we're gonna go through every single member like it's a group chat recap β€” no cap, nothing skipped ✨


🌸 NAME 🌸

struct es2_ap_dev β€” ES2 USB Bridge to AP structure πŸ¦‹


✨ SYNOPSIS ✨

struct es2_ap_dev {
    struct usb_device *usb_dev;
    struct usb_interface *usb_intf;
    struct gb_host_device *hd;
    struct es2_cport_in cport_in;
    __u8 cport_out_endpoint;
    struct urb *cport_out_urb[NUM_CPORT_OUT_URB];
    bool cport_out_urb_busy[NUM_CPORT_OUT_URB];
    bool cport_out_urb_cancelled[NUM_CPORT_OUT_URB];
    spinlock_t cport_out_urb_lock;
    bool cdsi1_in_use;
    struct task_struct *apb_log_task;
    struct dentry *apb_log_dentry;
    struct dentry *apb_log_enable_dentry;
    char *apb_log_fifo;
    __u8 arpc_endpoint_in;
    struct urb *arpc_urb[NUM_ARPC_IN_URB];
    u8 *arpc_buffer[NUM_ARPC_IN_URB];
    int arpc_id_cycle;
    spinlock_t arpc_lock;
    struct list_head arpcs;
};

🫢 Members 🫢

  • usb_dev β€” pointer to the USB device we are. literally us, main character energy πŸ’…
  • usb_intf β€” pointer to the USB interface we are bound to.
  • hd β€” pointer to our gb_host_device structure.
  • cport_in β€” endpoint, urbs and buffer for cport in messages.
  • cport_out_endpoint β€” endpoint for cport out messages.
  • cport_out_urb β€” array of urbs for the CPort out messages.
  • cport_out_urb_busy β€” array of flags to see if the cport_out_urb is busy or not.
  • cport_out_urb_cancelled β€” array of flags indicating whether the corresponding cport_out_urb is being cancelled.
  • cport_out_urb_lock β€” locks the cport_out_urb_busy "list".
  • cdsi1_in_use β€” true if cport CDSI1 is in use.
  • apb_log_task β€” task pointer for logging thread.
  • apb_log_dentry β€” file system entry for the log file interface.
  • apb_log_enable_dentry β€” file system entry for enabling logging.
  • apb_log_fifo β€” kernel FIFO to carry logged data.
  • arpc_endpoint_in β€” bulk in endpoint for APBridgeA RPC.
  • arpc_urb β€” array of urbs for the ARPC in messages.
  • arpc_buffer β€” array of buffers for the arpc_urb urbs.
  • arpc_id_cycle β€” gives an unique id to ARPC. iykyk πŸ‘‘
  • arpc_lock β€” locks ARPC list.
  • arpcs β€” list of in progress ARPCs.

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/greybus/es2.c β€” go read it, bestie, it's giving source-of-truth energy πŸ”₯


mwah πŸ’‹ this lil page comes from ./drivers/greybus, dated October 2026, and it's all about struct es2_ap_dev(9) β€” bye bestie, slay your kernel adventures! πŸŽ€βœ¨

πŸ“¦ where this page comes from