STRUCT EEPROM_93CX6(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct eeprom_93cx6(9) β€” like, the control struct era πŸ’…

okay so bestie, welcome to the Kernel API Manual page for struct eeprom_93cx6 β€” literally the control structure you use for setting the commands when you're reading eeprom data. yes, that's the whole vibe. let's get into it ✨


✨ NAME ✨

struct eeprom_93cx6 β€” the control structure for setting the commands for reading the eeprom data. that's it, that's the gig πŸŽ€


🌸 SYNOPSIS 🌸

lowkey just look at it. it's giving gorgeous little struct:

struct eeprom_93cx6 {
    void *data;
    void (*register_read)(struct eeprom_93cx6 *eeprom);
    void (*register_write)(struct eeprom_93cx6 *eeprom);
    int width;
    unsigned int quirks;
  #define PCI_EEPROM_QUIRK_EXTRA_READ_CYCLE       BIT(0);
    char drive_data;
    char reg_data_in;
    char reg_data_out;
    char reg_data_clock;
    char reg_chip_select;
 };

not the #define just vibing in the middle of the struct 😭 iconic honestly. copy it exactly, no cap.


🫢 Members 🫢

  • data β€” your private pointer for the driver. she's yours, nobody else touches her πŸ’–
  • register_read β€” the handler that reads the eeprom register. important: this function should set all the reg_* fields. all of them. every single one. don't leave a girl hanging πŸ’…
  • register_write β€” the handler that writes to the eeprom register, using all the reg_* fields. yeah, the same crew. she uses all of them 🌈
  • width β€” the eeprom width. should be one of the PCI_EEPROM_WIDTH_* defines. should being the operative word here πŸ‘€
  • quirks β€” eeprom or controller quirks. everybody's got their little quirks, right? πŸ¦‹
  • drive_data β€” set if we're driving the data line. main character energy for the data line ⭐
  • reg_data_in β€” register field to indicate data input πŸ“
  • reg_data_out β€” register field to indicate data output 🧚
  • reg_data_clock β€” register field to set the data clock. tick tock ⭐
  • reg_chip_select β€” register field to set the chip select πŸ‘‘

πŸ’œ Description πŸ’œ

so the way that this works: this structure is used for the communication between the driver and the eeprom_93cx6 handlers for reading the eeprom. like, it's the group chat between your driver and the handler, and everybody knows their role. no chaos, just vibes 🌸


πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./include/linux/eeprom_93cx6.h β€” go read it, iykyk πŸ’€

and that's the page bestie, no cap, fr fr πŸŽ€ this little masterpiece lives in ./include/linux and it's dated October 2026 β€” the version is struct eeprom_93cx6(9) if you were wondering, which you were. slay πŸ’…βœ¨

πŸ“¦ where this page comes from