include/linux/firewire.h
Source file repositories/reference/linux-study-clean/include/linux/firewire.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/firewire.h- Extension
.h- Size
- 19667 bytes
- Lines
- 626
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: operation-table or driver-model contract
- Status
- pattern 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 an operation table; this is where Linux turns generic core objects into subsystem-specific behavior.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/completion.hlinux/device.hlinux/dma-mapping.hlinux/kernel.hlinux/kref.hlinux/list.hlinux/mutex.hlinux/spinlock.hlinux/sysfs.hlinux/timer.hlinux/types.hlinux/workqueue.hlinux/atomic.hasm/byteorder.h
Detected Declarations
struct fw_csr_iteratorstruct fw_card_driverstruct fw_nodestruct fw_cardstruct fw_attribute_groupstruct fw_devicestruct fw_unitstruct ieee1394_device_idstruct fw_driverstruct fw_packetstruct fw_requeststruct fw_packetstruct fw_transactionstruct fw_address_handlerstruct fw_address_regionstruct fw_descriptorstruct fw_iso_packetstruct fw_iso_bufferstruct fw_iso_contextstruct fw_iso_contextenum fw_device_quirkenum fw_device_stateenum fw_iso_context_flagfunction fw_card_putfunction fw_device_is_shutdownfunction fw_unit_putfunction fw_send_requestfunction fw_send_request_with_tstampfunction fw_stream_packet_destination_idfunction fw_iso_context_schedule_flush_completions
Annotated Snippet
extern const struct bus_type fw_bus_type;
struct fw_card_driver;
struct fw_node;
struct fw_card {
const struct fw_card_driver *driver;
struct device *device;
struct kref kref;
struct completion done;
int node_id;
int generation;
u64 reset_jiffies;
struct {
int current_tlabel;
u64 tlabel_mask;
struct list_head list;
spinlock_t lock;
} transactions;
struct {
u32 hi;
u32 lo;
unsigned int cycles;
unsigned int jiffies;
spinlock_t lock;
} split_timeout;
unsigned long long guid;
unsigned max_receive;
int link_speed;
int config_rom_generation;
spinlock_t lock;
struct fw_node *local_node;
struct fw_node *root_node;
struct fw_node *irm_node;
u8 color; /* must be u8 to match the definition in struct fw_node */
int gap_count;
bool beta_repeaters_present;
int index;
struct list_head link;
struct delayed_work br_work; /* bus reset job */
bool br_short;
struct delayed_work bm_work; /* bus manager job */
int bm_retries;
int bm_generation;
int bm_node_id;
bool bm_abdicate;
bool priority_budget_implemented; /* controller feature */
bool broadcast_channel_auto_allocated; /* controller feature */
bool broadcast_channel_allocated;
u32 broadcast_channel;
struct {
__be32 buffer[(CSR_TOPOLOGY_MAP_END - CSR_TOPOLOGY_MAP) / 4];
spinlock_t lock;
} topology_map;
__be32 maint_utility_register;
struct workqueue_struct *isoc_wq;
struct workqueue_struct *async_wq;
};
static inline struct fw_card *fw_card_get(struct fw_card *card)
{
kref_get(&card->kref);
return card;
}
void fw_card_release(struct kref *kref);
static inline void fw_card_put(struct fw_card *card)
{
kref_put(&card->kref, fw_card_release);
}
int fw_card_read_cycle_time(struct fw_card *card, u32 *cycle_time);
struct fw_attribute_group {
Annotation
- Immediate include surface: `linux/completion.h`, `linux/device.h`, `linux/dma-mapping.h`, `linux/kernel.h`, `linux/kref.h`, `linux/list.h`, `linux/mutex.h`, `linux/spinlock.h`.
- Detected declarations: `struct fw_csr_iterator`, `struct fw_card_driver`, `struct fw_node`, `struct fw_card`, `struct fw_attribute_group`, `struct fw_device`, `struct fw_unit`, `struct ieee1394_device_id`, `struct fw_driver`, `struct fw_packet`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: pattern implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
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.