drivers/media/pci/zoran/zoran.h
Source file repositories/reference/linux-study-clean/drivers/media/pci/zoran/zoran.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/pci/zoran/zoran.h- Extension
.h- Size
- 8346 bytes
- Lines
- 323
- Domain
- Driver Families
- Bucket
- drivers/media
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/debugfs.hlinux/pci.hlinux/i2c-algo-bit.hmedia/v4l2-device.hmedia/v4l2-ctrls.hmedia/videobuf2-core.hmedia/videobuf2-v4l2.hmedia/videobuf2-dma-contig.hzr36057.h
Detected Declarations
struct zr_bufferstruct zoran_formatstruct zoran_v4l_settingsstruct zoran_jpg_settingsstruct zoranstruct card_infostruct inputstruct zoranenum card_typeenum zoran_codec_modeenum zoran_map_modeenum gpio_typeenum gpcs_type
Annotated Snippet
struct zr_buffer {
/* common v4l buffer stuff -- must be first */
struct vb2_v4l2_buffer vbuf;
struct list_head queue;
};
static inline struct zr_buffer *vb2_to_zr_buffer(struct vb2_buffer *vb)
{
struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb);
return container_of(vbuf, struct zr_buffer, vbuf);
}
#define ZORAN_NAME "ZORAN" /* name of the device */
#define ZR_DEVNAME(zr) ((zr)->name)
#define BUZ_MAX_WIDTH (zr->timing->wa)
#define BUZ_MAX_HEIGHT (zr->timing->ha)
#define BUZ_MIN_WIDTH 32 /* never display less than 32 pixels */
#define BUZ_MIN_HEIGHT 24 /* never display less than 24 rows */
#define BUZ_NUM_STAT_COM 4
#define BUZ_MASK_STAT_COM 3
#define BUZ_MAX_INPUT 16
#include "zr36057.h"
enum card_type {
UNKNOWN = -1,
/* Pinnacle/Miro */
DC10_OLD, /* DC30 like */
DC10_NEW, /* DC10_PLUS like */
DC10_PLUS,
DC30,
DC30_PLUS,
/* Linux Media Labs */
LML33,
LML33R10,
/* Iomega */
BUZ,
/* AverMedia */
AVS6EYES,
/* total number of cards */
NUM_CARDS
};
enum zoran_codec_mode {
BUZ_MODE_IDLE, /* nothing going on */
BUZ_MODE_MOTION_COMPRESS, /* grabbing frames */
BUZ_MODE_MOTION_DECOMPRESS, /* playing frames */
BUZ_MODE_STILL_COMPRESS, /* still frame conversion */
BUZ_MODE_STILL_DECOMPRESS /* still frame conversion */
};
enum zoran_map_mode {
ZORAN_MAP_MODE_NONE,
ZORAN_MAP_MODE_RAW,
ZORAN_MAP_MODE_JPG_REC,
ZORAN_MAP_MODE_JPG_PLAY,
};
enum gpio_type {
ZR_GPIO_JPEG_SLEEP = 0,
ZR_GPIO_JPEG_RESET,
ZR_GPIO_JPEG_FRAME,
ZR_GPIO_VID_DIR,
ZR_GPIO_VID_EN,
ZR_GPIO_VID_RESET,
ZR_GPIO_CLK_SEL1,
ZR_GPIO_CLK_SEL2,
ZR_GPIO_MAX,
};
enum gpcs_type {
GPCS_JPEG_RESET = 0,
GPCS_JPEG_START,
GPCS_MAX,
};
struct zoran_format {
char *name;
__u32 fourcc;
int colorspace;
Annotation
- Immediate include surface: `linux/debugfs.h`, `linux/pci.h`, `linux/i2c-algo-bit.h`, `media/v4l2-device.h`, `media/v4l2-ctrls.h`, `media/videobuf2-core.h`, `media/videobuf2-v4l2.h`, `media/videobuf2-dma-contig.h`.
- Detected declarations: `struct zr_buffer`, `struct zoran_format`, `struct zoran_v4l_settings`, `struct zoran_jpg_settings`, `struct zoran`, `struct card_info`, `struct input`, `struct zoran`, `enum card_type`, `enum zoran_codec_mode`.
- Atlas domain: Driver Families / drivers/media.
- 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.