drivers/irqchip/irq-ast2700.h

Source file repositories/reference/linux-study-clean/drivers/irqchip/irq-ast2700.h

File Facts

System
Linux kernel
Corpus path
drivers/irqchip/irq-ast2700.h
Extension
.h
Size
1246 bytes
Lines
49
Domain
Driver Families
Bucket
drivers/irqchip
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.

Dependency Surface

Detected Declarations

Annotated Snippet

struct aspeed_intc_interrupt_range {
	u32               start;
	u32               count;
	struct irq_fwspec upstream;
	struct irq_domain *domain;
};

struct aspeed_intc_interrupt_ranges {
	struct aspeed_intc_interrupt_range *ranges;
	unsigned int                       nranges;
};

struct aspeed_intc0 {
	struct device				*dev;
	void __iomem				*base;
	raw_spinlock_t				intc_lock;
	struct irq_domain			*local;
	struct device_node			*parent;
	struct aspeed_intc_interrupt_ranges	ranges;
};

int aspeed_intc_populate_ranges(struct device *dev,
				struct aspeed_intc_interrupt_ranges *ranges);

int aspeed_intc0_resolve_route(const struct irq_domain *c0domain,
			       size_t nc1outs,
			       const u32 *c1outs,
			       size_t nc1ranges,
			       const struct aspeed_intc_interrupt_range *c1ranges,
			       struct aspeed_intc_interrupt_range *resolved);

#endif

Annotation

Implementation Notes