include/linux/ssb/ssb_driver_extif.h
Source file repositories/reference/linux-study-clean/include/linux/ssb/ssb_driver_extif.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/ssb/ssb_driver_extif.h- Extension
.h- Size
- 8328 bytes
- Lines
- 259
- 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
- No C-style include directives detected by the generator.
Detected Declarations
struct ssb_extifstruct ssb_extiffunction ssb_extif_availablefunction ssb_extif_availablefunction ssb_extif_get_clockcontrolfunction ssb_extif_gpio_infunction ssb_extif_gpio_outfunction ssb_extif_gpio_outenfunction ssb_extif_gpio_polarityfunction ssb_extif_gpio_intmaskfunction ssb_extif_serial_init
Annotated Snippet
struct ssb_extif {
struct ssb_device *dev;
spinlock_t gpio_lock;
};
static inline bool ssb_extif_available(struct ssb_extif *extif)
{
return (extif->dev != NULL);
}
extern void ssb_extif_get_clockcontrol(struct ssb_extif *extif,
u32 *plltype, u32 *n, u32 *m);
extern void ssb_extif_timing_init(struct ssb_extif *extif,
unsigned long ns);
extern u32 ssb_extif_watchdog_timer_set(struct ssb_extif *extif, u32 ticks);
/* Extif GPIO pin access */
u32 ssb_extif_gpio_in(struct ssb_extif *extif, u32 mask);
u32 ssb_extif_gpio_out(struct ssb_extif *extif, u32 mask, u32 value);
u32 ssb_extif_gpio_outen(struct ssb_extif *extif, u32 mask, u32 value);
u32 ssb_extif_gpio_polarity(struct ssb_extif *extif, u32 mask, u32 value);
u32 ssb_extif_gpio_intmask(struct ssb_extif *extif, u32 mask, u32 value);
#ifdef CONFIG_SSB_SERIAL
extern int ssb_extif_serial_init(struct ssb_extif *extif,
struct ssb_serial_port *ports);
#endif /* CONFIG_SSB_SERIAL */
#else /* CONFIG_SSB_DRIVER_EXTIF */
/* extif disabled */
struct ssb_extif {
};
static inline bool ssb_extif_available(struct ssb_extif *extif)
{
return false;
}
static inline
void ssb_extif_get_clockcontrol(struct ssb_extif *extif,
u32 *plltype, u32 *n, u32 *m)
{
}
static inline
void ssb_extif_timing_init(struct ssb_extif *extif, unsigned long ns)
{
}
static inline
u32 ssb_extif_watchdog_timer_set(struct ssb_extif *extif, u32 ticks)
{
return 0;
}
static inline u32 ssb_extif_gpio_in(struct ssb_extif *extif, u32 mask)
{
return 0;
}
static inline u32 ssb_extif_gpio_out(struct ssb_extif *extif, u32 mask,
u32 value)
{
return 0;
}
static inline u32 ssb_extif_gpio_outen(struct ssb_extif *extif, u32 mask,
u32 value)
{
return 0;
}
static inline u32 ssb_extif_gpio_polarity(struct ssb_extif *extif, u32 mask,
u32 value)
{
return 0;
}
static inline u32 ssb_extif_gpio_intmask(struct ssb_extif *extif, u32 mask,
u32 value)
{
return 0;
}
#ifdef CONFIG_SSB_SERIAL
static inline int ssb_extif_serial_init(struct ssb_extif *extif,
Annotation
- Detected declarations: `struct ssb_extif`, `struct ssb_extif`, `function ssb_extif_available`, `function ssb_extif_available`, `function ssb_extif_get_clockcontrol`, `function ssb_extif_gpio_in`, `function ssb_extif_gpio_out`, `function ssb_extif_gpio_outen`, `function ssb_extif_gpio_polarity`, `function ssb_extif_gpio_intmask`.
- 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.