drivers/media/rc/img-ir/img-ir.h
Source file repositories/reference/linux-study-clean/drivers/media/rc/img-ir/img-ir.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/media/rc/img-ir/img-ir.h- Extension
.h- Size
- 4780 bytes
- Lines
- 170
- 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/io.hlinux/spinlock.himg-ir-raw.himg-ir-hw.h
Detected Declarations
struct devicestruct clkstruct img_ir_privfunction img_ir_writefunction img_ir_read
Annotated Snippet
struct img_ir_priv {
struct device *dev;
int irq;
struct clk *clk;
struct clk *sys_clk;
void __iomem *reg_base;
spinlock_t lock;
struct img_ir_priv_raw raw;
struct img_ir_priv_hw hw;
};
/* Hardware access */
static inline void img_ir_write(struct img_ir_priv *priv,
unsigned int reg_offs, unsigned int data)
{
iowrite32(data, priv->reg_base + reg_offs);
}
static inline unsigned int img_ir_read(struct img_ir_priv *priv,
unsigned int reg_offs)
{
return ioread32(priv->reg_base + reg_offs);
}
#endif /* _IMG_IR_H_ */
Annotation
- Immediate include surface: `linux/io.h`, `linux/spinlock.h`, `img-ir-raw.h`, `img-ir-hw.h`.
- Detected declarations: `struct device`, `struct clk`, `struct img_ir_priv`, `function img_ir_write`, `function img_ir_read`.
- 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.