include/linux/wm97xx.h
Source file repositories/reference/linux-study-clean/include/linux/wm97xx.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/wm97xx.h- Extension
.h- Size
- 10687 bytes
- Lines
- 334
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
sound/core.hsound/pcm.hsound/ac97_codec.hsound/initval.hlinux/types.hlinux/list.hlinux/input.hlinux/platform_device.h
Detected Declarations
struct wm97xx_datastruct wm97xxstruct wm97xx_codec_drvstruct wm97xx_mach_opsstruct wm97xxstruct wm97xx_batt_pdatastruct wm97xx_pdataenum wm97xx_gpio_statusenum wm97xx_gpio_direnum wm97xx_gpio_polenum wm97xx_gpio_stickyenum wm97xx_gpio_wake
Annotated Snippet
struct wm97xx_data {
int x;
int y;
int p;
};
/*
* Codec GPIO status
*/
enum wm97xx_gpio_status {
WM97XX_GPIO_HIGH,
WM97XX_GPIO_LOW
};
/*
* Codec GPIO direction
*/
enum wm97xx_gpio_dir {
WM97XX_GPIO_IN,
WM97XX_GPIO_OUT
};
/*
* Codec GPIO polarity
*/
enum wm97xx_gpio_pol {
WM97XX_GPIO_POL_HIGH,
WM97XX_GPIO_POL_LOW
};
/*
* Codec GPIO sticky
*/
enum wm97xx_gpio_sticky {
WM97XX_GPIO_STICKY,
WM97XX_GPIO_NOTSTICKY
};
/*
* Codec GPIO wake
*/
enum wm97xx_gpio_wake {
WM97XX_GPIO_WAKE,
WM97XX_GPIO_NOWAKE
};
/*
* Digitiser ioctl commands
*/
#define WM97XX_DIG_START 0x1
#define WM97XX_DIG_STOP 0x2
#define WM97XX_PHY_INIT 0x3
#define WM97XX_AUX_PREPARE 0x4
#define WM97XX_DIG_RESTORE 0x5
struct wm97xx;
extern struct wm97xx_codec_drv wm9705_codec;
extern struct wm97xx_codec_drv wm9712_codec;
extern struct wm97xx_codec_drv wm9713_codec;
/*
* Codec driver interface - allows mapping to WM9705/12/13 and newer codecs
*/
struct wm97xx_codec_drv {
u16 id;
char *name;
/* read 1 sample */
int (*poll_sample) (struct wm97xx *, int adcsel, int *sample);
/* read X,Y,[P] in poll */
int (*poll_touch) (struct wm97xx *, struct wm97xx_data *);
int (*acc_enable) (struct wm97xx *, int enable);
void (*phy_init) (struct wm97xx *);
void (*dig_enable) (struct wm97xx *, int enable);
void (*dig_restore) (struct wm97xx *);
void (*aux_prepare) (struct wm97xx *);
};
/* Machine specific and accelerated touch operations */
struct wm97xx_mach_ops {
/* accelerated touch readback - coords are transmited on AC97 link */
int acc_enabled;
void (*acc_pen_up) (struct wm97xx *);
int (*acc_pen_down) (struct wm97xx *);
int (*acc_startup) (struct wm97xx *);
Annotation
- Immediate include surface: `sound/core.h`, `sound/pcm.h`, `sound/ac97_codec.h`, `sound/initval.h`, `linux/types.h`, `linux/list.h`, `linux/input.h`, `linux/platform_device.h`.
- Detected declarations: `struct wm97xx_data`, `struct wm97xx`, `struct wm97xx_codec_drv`, `struct wm97xx_mach_ops`, `struct wm97xx`, `struct wm97xx_batt_pdata`, `struct wm97xx_pdata`, `enum wm97xx_gpio_status`, `enum wm97xx_gpio_dir`, `enum wm97xx_gpio_pol`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.