STRUCT SMP2P_ENTRY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so this is struct smp2p_entry(9) from the Kernel API Manual, and it is literally about driver context matching one entry β€” one entry, one context, and we are obsessed 🫢✨


πŸŽ€ SYNOPSIS πŸŽ€

here's the exact struct, bestie β€” no cap, character for character:

       struct smp2p_entry {
           struct list_head node;
           struct qcom_smp2p *smp2p;
           const char *name;
           u32 *value;
           u32 last_value;
           struct irq_domain *domain;
           unsigned long irq_enabled[BITS_TO_LONGS( 32)];
           unsigned long irq_rising[BITS_TO_LONGS( 32)];
           unsigned long irq_falling[BITS_TO_LONGS( 32)];
           struct qcom_smem_state *state;
           spinlock_t lock;
        };

πŸ‘‘ Members πŸ‘‘

  • node β€” list entry to keep track of allocated entries. it's the list-link bestie that keeps tabs on what's been allocated 🌸
  • smp2p β€” reference to the device driver context. just a little reference back to the driver's whole situation, iykyk πŸ’…
  • name β€” name of the entry, to match against smp2p_smem_item. it's the name tag for the matching game, periodt ✨
  • value β€” pointer to smp2p_smem_item entry value. yes, literally that pointer πŸŽ€
  • last_value β€” last handled value. the previous value we already handled, got it.
  • domain β€” irq_domain for inbound entries. inbound IRQ business, slay ⭐
  • irq_enabled β€” bitmap to track enabled irq bits. it's giving "who's enabled" energy πŸ‘‘
  • irq_rising β€” bitmap to mark irq bits for rising detection. rising-edge detection bookkeeping, fr fr 🌈
  • irq_falling β€” bitmap to mark irq bits for falling detection. falling-edge detection bookkeeping, iconic πŸ¦‹
  • state β€” smem state handle. handle to the smem state, okay? πŸ’œ
  • lock β€” spinlock to protect read-modify-write of the value. this is the important one: lock it down while doing the read-modify-write dance πŸ”’

🌈 SEE ALSO 🌈

Kernel file ./drivers/soc/qcom/smp2p.c struct smp2p_smem_item(9), struct qcom_smp2p(9), qcom_smp2p_intr(9) β€” go read those too, bestie πŸ’–


this gem ships from ./drivers/soc/qcom, dated October 2026, and yes it's still struct smp2p_entry(9) at the bottom β€” mwah, periodt πŸ’‹πŸ’…

πŸ“¦ where this page comes from