STRUCT FM801(9)
π NAME π
okay so bestie, this is the struct fm801(9) page from the Kernel API Manual β it's literally the struct that describes the FM801 chip. Main character struct energy, no cap. π
β¨ SYNOPSIS β¨
here's the whole shape of it, copied exactly because we do not mess with code:
struct fm801 {
struct device *dev;
int irq;
unsigned long port;
unsigned int multichannel: 1, secondary: 1;
unsigned char secondary_addr;
unsigned int tea575x_tuner;
unsigned short ply_ctrl;
unsigned short cap_ctrl;
unsigned long ply_buffer;
unsigned int ply_buf;
unsigned int ply_count;
unsigned int ply_size;
unsigned int ply_pos;
unsigned long cap_buffer;
unsigned int cap_buf;
unsigned int cap_count;
unsigned int cap_size;
unsigned int cap_pos;
struct snd_ac97_bus *ac97_bus;
struct snd_ac97 *ac97;
struct snd_ac97 *ac97_sec;
struct snd_card *card;
struct snd_pcm *pcm;
struct snd_rawmidi *rmidi;
struct snd_pcm_substream *playback_substream;
struct snd_pcm_substream *capture_substream;
unsigned int p_dma_size;
unsigned int c_dma_size;
spinlock_t reg_lock;
struct snd_info_entry *proc_entry;
#ifdef CONFIG_SND_FM801_TEA575X_BOOL;
struct v4l2_device v4l2_dev;
struct snd_tea575x tea;
#endif;
u16 saved_regs[0x20];
};
π Members π
every member, in order, zero skips β we're doing the full tour, bestie π«Ά
devβ thedevicefor thischio(the page sayschio, and we are being faithful to it π)irqβ the irq numberportβ the I/O port numbermultichannelβ multichannel supportsecondaryβ secondary codecsecondary_addrβ address of the secondary codectea575x_tunerβ tuner access method & flagsply_ctrlβ playback controlcap_ctrlβ capture controlply_bufferβ playback bufferply_bufβ playback buffer indexply_countβ playback buffer countply_sizeβ playback buffer sizeply_posβ playback positioncap_bufferβ capture buffercap_bufβ capture buffer indexcap_countβ capture buffer countcap_sizeβ capture buffer sizecap_posβ capture positionac97_busβ ac97 bus handleac97β ac97 handleac97_secβ ac97 secondary handlecardβ ALSA cardpcmβ PCM devicesrmidiβ rmidi deviceplayback_substreamβ substream for playbackcapture_substreamβ substream for capturep_dma_sizeβ playback DMA sizec_dma_sizeβ capture DMA sizereg_lockβ lockproc_entryβ/procentryv4l2_devβ v4l2 deviceteaβ tea575a structuresaved_regsβ context saved during suspend
π SEE ALSO π
- Kernel file
./sound/pci/fm801.c
and that's the whole vibe, bestie π«Ά β this page comes from source path ./sound/pci, it's dated October 2026, and it's the struct fm801(9) manual page. Slay and read your kernel docs πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms