arch/sh/include/asm/push-switch.h
Source file repositories/reference/linux-study-clean/arch/sh/include/asm/push-switch.h
File Facts
- System
- Linux kernel
- Corpus path
arch/sh/include/asm/push-switch.h- Extension
.h- Size
- 755 bytes
- Lines
- 33
- Domain
- Architecture Layer
- Bucket
- arch/sh
- Inferred role
- Architecture Layer: implementation source
- Status
- source implementation candidate
Why This File Exists
CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/timer.hlinux/interrupt.hlinux/workqueue.hlinux/platform_device.h
Detected Declarations
struct push_switchstruct push_switch_platform_info
Annotated Snippet
struct push_switch {
/* switch state */
unsigned int state:1;
/* debounce timer */
struct timer_list debounce;
/* workqueue */
struct work_struct work;
/* platform device, for workqueue handler */
struct platform_device *pdev;
};
struct push_switch_platform_info {
/* IRQ handler */
irqreturn_t (*irq_handler)(int irq, void *data);
/* Special IRQ flags */
unsigned int irq_flags;
/* Bit location of switch */
unsigned int bit;
/* Symbolic switch name */
const char *name;
};
#endif /* __ASM_SH_PUSH_SWITCH_H */
Annotation
- Immediate include surface: `linux/timer.h`, `linux/interrupt.h`, `linux/workqueue.h`, `linux/platform_device.h`.
- Detected declarations: `struct push_switch`, `struct push_switch_platform_info`.
- Atlas domain: Architecture Layer / arch/sh.
- Implementation status: source implementation candidate.
- IRQ or DMA behavior appears here, which is relevant to the selected PCIe/NVMe device path.
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.