STRUCT CA8210_PRIV(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐Ÿ’– struct ca8210_priv(9) ๐Ÿ’–

okay so bestie, welcome to the Kernel API Manual โœจ โ€” this is the whole entire gossip page for struct ca8210_priv, the private data structure for the ca8210 driver. it's giving backstage-pass-only, iykyk ๐ŸŽ€


๐ŸŒธ SYNOPSIS ๐ŸŒธ

like, here's the whole struct in all its glory, no edits, no notes, exactly as it is:

struct ca8210_priv {
    struct spi_device *spi;
    struct ieee802154_hw *hw;
    bool hw_registered;
    spinlock_t lock;
    struct workqueue_struct *mlme_workqueue;
    struct workqueue_struct *irq_workqueue;
    struct sk_buff *tx_skb;
    u8 nextmsduhandle;
    struct clk *clk;
    int last_dsn;
    struct ca8210_test test;
    bool async_tx_pending;
    u8 *sync_command_response;
    struct completion ca8210_is_awake;
    int sync_down, sync_up;
    struct completion spi_transfer_complete, sync_exchange_complete;
    bool promiscuous;
    int retries;
 };

๐Ÿฆ‹ Members ๐Ÿฆ‹

kay so every single field, one by one, no skips, periodt:

  • spi โ€” pointer to the ca8210 spi device object ๐Ÿ’ซ
  • hw โ€” pointer to the ca8210 ieee802154_hw object ๐Ÿซถ
  • hw_registered โ€” true if hw has been registered with ieee802154 (like, the official "we're official" flag ๐Ÿ‘‘)
  • lock โ€” spinlock protecting the private data area ๐Ÿ”’
  • mlme_workqueue โ€” workqueue for triggering MLME Reset ๐Ÿ“‹
  • irq_workqueue โ€” workqueue for irq processing โšก
  • tx_skb โ€” current socket buffer to transmit ๐Ÿ“ฆ
  • nextmsduhandle โ€” the msdu handle to pass to the 15.4 MAC layer for the next transmission, no cap ๐ŸŽฏ
  • clk โ€” external clock provided by the ca8210 ๐Ÿ•ฐ๏ธ
  • last_dsn โ€” sequence number of the last data packet received, used for resend detection ๐Ÿ‘€
  • test โ€” test interface data section for this instance ๐Ÿงช
  • async_tx_pending โ€” true if an asynchronous transmission was started and is not complete (aka the "still cooking" bool ๐Ÿณ)
  • sync_command_response โ€” pointer to buffer to fill with sync response ๐Ÿ“
  • ca8210_is_awake โ€” nonzero if ca8210 is initialised, ready for comms โ˜€๏ธ
  • sync_down โ€” counts number of downstream synchronous commands ๐Ÿ”ฝ
  • sync_up โ€” counts number of upstream synchronous commands ๐Ÿ”ผ
  • spi_transfer_complete โ€” completion object for a single spi_transfer โœ…
  • sync_exchange_complete โ€” completion object for a complete synchronous API exchange ๐Ÿ”
  • promiscuous โ€” whether the ca8210 is in promiscuous mode or not ๐Ÿ™ˆ
  • retries โ€” records how many times the current pending spi transfer has been retried ๐Ÿ˜ฎโ€๐Ÿ’จ

โญ SEE ALSO โญ

the whole friend group fr fr, all of them, in order, zero omissions:

Kernel file ./drivers/net/ieee802154/ca8210.c: struct cas_control(9), struct ca8210_test(9), struct work_priv_container(9), struct ca8210_platform_data(9), struct fulladdr(9), union macaddr(9), struct secspec(9), link_to_linux_err(9), ca8210_test_int_driver_write(9), ca8210_reset_send(9), ca8210_mlme_reset_worker(9), ca8210_rx_done(9), ca8210_spi_transfer_complete(9), ca8210_spi_transfer(9), ca8210_spi_exchange(9), ca8210_interrupt_handler(9), tdme_setsfr_request_sync(9), tdme_chipinit(9), tdme_channelinit(9), tdme_checkpibattribute(9), tdme_settxpower(9), mcps_data_request(9), mlme_reset_request_sync(9), mlme_set_request_sync(9), hwme_set_request_sync(9), hwme_get_request_sync(9), ca8210_async_xmit_complete(9), ca8210_skb_rx(9), ca8210_net_rx(9), ca8210_skb_tx(9), ca8210_start(9), ca8210_stop(9), ca8210_xmit_async(9), ca8210_get_ed(9), ca8210_set_channel(9), ca8210_set_hw_addr_filt(9), ca8210_set_tx_power(9), ca8210_set_cca_mode(9), ca8210_set_cca_ed_level(9), ca8210_set_csma_params(9), ca8210_set_frame_retries(9), ca8210_test_int_open(9), ca8210_test_check_upstream(9), ca8210_test_int_user_write(9), ca8210_test_int_user_read(9), ca8210_test_int_ioctl(9), ca8210_test_int_poll(9), ca8210_get_platform_data(9), ca8210_config_extern_clk(9), ca8210_register_ext_clock(9), ca8210_unregister_ext_clock(9), ca8210_reset_init(9), ca8210_interrupt_init(9), ca8210_dev_com_init(9), ca8210_dev_com_clear(9), ca8210_hw_setup(9), ca8210_test_interface_init(9), ca8210_test_interface_clear(9), ca8210_remove(9), ca8210_probe(9)


bestie reminder: every one of those is literally spelled (9), they're all manual section 9 entries, don't @ me ๐Ÿ’…

and that's the whole page!! mwah ๐Ÿ’‹ this lil icon lives in ./drivers/net/ieee802154, dated October 2026 โ€” so like, mark your calendars, she's from the future ๐Ÿ”ฅ๐ŸŒบ see u in the next manpage, ily bye ๐Ÿซถโœจ

๐Ÿ“ฆ where this page comes from