drivers/net/wireless/ralink/rt2x00/rt2x00.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ralink/rt2x00/rt2x00.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ralink/rt2x00/rt2x00.h- Extension
.h- Size
- 38205 bytes
- Lines
- 1511
- Domain
- Driver Families
- Bucket
- drivers/net
- 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.
- 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/bitops.hlinux/interrupt.hlinux/skbuff.hlinux/workqueue.hlinux/firmware.hlinux/leds.hlinux/mutex.hlinux/etherdevice.hlinux/kfifo.hlinux/hrtimer.hlinux/average.hlinux/usb.hlinux/clk.hnet/mac80211.hrt2x00debug.hrt2x00dump.hrt2x00leds.hrt2x00reg.hrt2x00queue.h
Detected Declarations
struct rt2x00_chipstruct rf_channelstruct rt2x00_chan_surveystruct channel_infostruct antenna_setupstruct link_qualstruct link_antstruct linkstruct rt2x00_intfstruct hw_mode_specstruct rt2x00lib_confstruct rt2x00lib_erpstruct rt2x00lib_cryptostruct rt2x00intf_confstruct rt2x00_stastruct rt2x00lib_opsstruct rt2x00_opsstruct rt2x00_devstruct rt2x00_bar_list_entryenum rt2x00_chip_intfenum rt2x00_delayed_flagsenum rt2x00_state_flagsenum rt2x00_capability_flagsfunction vif_to_intffunction sta_to_rt2x00_stafunction rt2x00_rf_readfunction rt2x00_rf_writefunction rt2x00_eeprom_readfunction rt2x00_eeprom_writefunction rt2x00_eeprom_bytefunction rt2x00_set_chipfunction rt2x00_set_rtfunction rt2x00_set_rffunction rt2x00_rtfunction rt2x00_rffunction rt2x00_revfunction rt2x00_rt_revfunction rt2x00_rt_rev_ltfunction rt2x00_rt_rev_gtefunction rt2x00_set_chip_intffunction rt2x00_intffunction rt2x00_is_pcifunction rt2x00_is_pciefunction rt2x00_is_usbfunction rt2x00_is_socfunction rt2x00_has_cap_flagfunction rt2x00_has_cap_hw_cryptofunction rt2x00_has_cap_power_limit
Annotated Snippet
struct rt2x00_chip {
u16 rt;
#define RT2460 0x2460
#define RT2560 0x2560
#define RT2570 0x2570
#define RT2661 0x2661
#define RT2573 0x2573
#define RT2860 0x2860 /* 2.4GHz */
#define RT2872 0x2872 /* WSOC */
#define RT2883 0x2883 /* WSOC */
#define RT3070 0x3070
#define RT3071 0x3071
#define RT3090 0x3090 /* 2.4GHz PCIe */
#define RT3290 0x3290
#define RT3352 0x3352 /* WSOC */
#define RT3390 0x3390
#define RT3572 0x3572
#define RT3593 0x3593
#define RT3883 0x3883 /* WSOC */
#define RT5350 0x5350 /* WSOC 2.4GHz */
#define RT5390 0x5390 /* 2.4GHz */
#define RT5392 0x5392 /* 2.4GHz */
#define RT5592 0x5592
#define RT6352 0x6352 /* WSOC 2.4GHz */
u16 rf;
u16 rev;
enum rt2x00_chip_intf intf;
};
/*
* RF register values that belong to a particular channel.
*/
struct rf_channel {
int channel;
u32 rf1;
u32 rf2;
u32 rf3;
u32 rf4;
};
/*
* Information structure for channel survey.
*/
struct rt2x00_chan_survey {
u64 time_idle;
u64 time_busy;
u64 time_ext_busy;
};
/*
* Channel information structure
*/
struct channel_info {
unsigned int flags;
#define GEOGRAPHY_ALLOWED 0x00000001
short max_power;
short default_power1;
short default_power2;
short default_power3;
};
/*
* Antenna setup values.
*/
struct antenna_setup {
enum antenna rx;
enum antenna tx;
u8 rx_chain_num;
u8 tx_chain_num;
};
/*
* Quality statistics about the currently active link.
*/
struct link_qual {
/*
* Statistics required for Link tuning by driver
* The rssi value is provided by rt2x00lib during the
* link_tuner() callback function.
* The false_cca field is filled during the link_stats()
* callback function and could be used during the
* link_tuner() callback function.
*/
int rssi;
int false_cca;
/*
Annotation
- Immediate include surface: `linux/bitops.h`, `linux/interrupt.h`, `linux/skbuff.h`, `linux/workqueue.h`, `linux/firmware.h`, `linux/leds.h`, `linux/mutex.h`, `linux/etherdevice.h`.
- Detected declarations: `struct rt2x00_chip`, `struct rf_channel`, `struct rt2x00_chan_survey`, `struct channel_info`, `struct antenna_setup`, `struct link_qual`, `struct link_ant`, `struct link`, `struct rt2x00_intf`, `struct hw_mode_spec`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source 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.