STRUCT QCOM_QMP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct qcom_qmp(9) πŸ’…

okay bestie, welcome to the Kernel API Manual β€” yes, we're reading a manpage together, this is our bonding time now 🫢 and today's main character is struct qcom_qmp, no cap.


✨ NAME ✨

struct qcom_qmp β€” the structure holding QMP phy block attributes πŸ‘‘ like, it's literally the vibe-holder for the whole QMP PHY block.


🌸 SYNOPSIS 🌸

struct qcom_qmp {
    struct device *dev;
    struct clk_bulk_data *clks;
    struct reset_control_bulk_data *resets;
    struct regulator_bulk_data *vregs;
    struct qmp_phy **phys;
    struct mutex phy_mutex;
    int init_count;
 };

look at her. gorgeous. immaculate field ordering. we stan πŸŽ€


πŸ¦‹ Members πŸ¦‹

okay so let's go field by field, because every single one of these is iconic in her own way:

  • dev β€” device ✨ like, the actual device, the whole reason she exists.
  • clks β€” array of clocks required by phy ⏰ the clock squad, all of them, in bulk.
  • resets β€” array of resets required by phy πŸ”„ the reset crew, also in bulk.
  • vregs β€” regulator supplies bulk data ⚑ the power girlies, bundled up as bulk data.
  • phys β€” array of per-lane phy descriptors 🌈 one per lane, each lane living her own life.
  • phy_mutex β€” mutex lock for PHY common block initialization πŸ”’ the lock that keeps the common block init from getting messy β€” mutual exclusion, mutual respect.
  • init_count β€” phy common block initialization count πŸ”’ literally just counting how many times the common block got initialized. she's keeping score.
fr fr do not skip the mutex. the mutex is the whole personality. πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

  • Kernel file ./drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996.c β€” go read the source bestie, it's giving lore
  • struct qmp_phy(9) β€” her sibling, her costar, the per-lane legend 🧚

and that's the page!! πŸ’– sourced straight from ./drivers/phy/qualcomm, dated October 2026, sitting pretty in the Kernel API Manual as struct qcom_qmp(9) β€” slay, periodt, go init some phy common blocks responsibly 🌟

πŸ“¦ where this page comes from