drivers/staging/most/Documentation/driver_usage.txt
Source file repositories/reference/linux-study-clean/drivers/staging/most/Documentation/driver_usage.txt
File Facts
- System
- Linux kernel
- Corpus path
drivers/staging/most/Documentation/driver_usage.txt- Extension
.txt- Size
- 10057 bytes
- Lines
- 238
- Domain
- Driver Families
- Bucket
- drivers/staging
- Inferred role
- Driver Families: documentation
- Status
- atlas-only
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.
- 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
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
Section 1 Overview
The Media Oriented Systems Transport (MOST) driver gives Linux applications
access a MOST network: The Automotive Information Backbone and the de-facto
standard for high-bandwidth automotive multimedia networking.
MOST defines the protocol, hardware and software layers necessary to allow
for the efficient and low-cost transport of control, real-time and packet
data using a single medium (physical layer). Media currently in use are
fiber optics, unshielded twisted pair cables (UTP) and coax cables. MOST
also supports various speed grades up to 150 Mbps.
For more information on MOST, visit the MOST Cooperation website:
www.mostcooperation.com.
Cars continue to evolve into sophisticated consumer electronics platforms,
increasing the demand for reliable and simple solutions to support audio,
video and data communications. MOST can be used to connect multiple
consumer devices via optical or electrical physical layers directly to one
another or in a network configuration. As a synchronous network, MOST
provides excellent Quality of Service and seamless connectivity for
audio/video streaming. Therefore, the driver perfectly fits to the mission
of Automotive Grade Linux to create open source software solutions for
automotive applications.
The MOST driver uses module stacking to divide the associated modules into
three layers. From bottom up these layers are: the adapter layer, the core
layer and the application layer. The core layer implements the MOST
subsystem and consists basically of the module core.c and its API. It
registers the MOST bus with the kernel's device model, handles the data
routing through all three layers, the configuration of the driver, the
representation of the configuration interface in sysfs and the buffer
management.
For each of the other two layers a set of modules is provided. Those can be
arbitrarily combined with the core to meet the connectivity of the desired
system architecture.
A module of the adapter layer is basically a device driver for a different
subsystem. It is registered with the core to connect the MOST subsystem to
the attached network interface controller hardware. Hence, a given module
of this layer is designed to handle exactly one of the peripheral
interfaces (e.g. USB, MediaLB, I2C) the hardware provides.
A module of the application layer is referred to as a core component,
which kind of extends the core by providing connectivity to the user space.
Applications, then, can access a MOST network via character devices, an
ALSA soundcard, a Network adapter or a V4L2 capture device.
To physically access MOST, an Intelligent Network Interface Controller
(INIC) is needed. For more information on available controllers visit:
www.microchip.com
Section 1.1 Adapter Layer
The adapter layer contains a pool of device drivers. For each peripheral
interface the hardware supports there is one suitable module that handles
the interface. Adapter drivers encapsulate the peripheral interface
specific knowledge of the MOST driver stack and provide an easy way of
extending the number of supported interfaces. Currently the following
interfaces are available:
1) MediaLB (DIM2)
Host wants to communicate with hardware via MediaLB.
2) I2C
Host wants to communicate with the hardware via I2C.
3) USB
Annotation
- Atlas domain: Driver Families / drivers/staging.
- Implementation status: atlas-only.
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.