How lineageos/android_kernel_xiaomi_sm6150 works
This is the Linux kernel: a hardware-facing runtime that boots on supported platforms and provides device, storage, and kernel services. The sampled files expose several distinct paths—USB power negotiation and mass storage, SPI and audio DMA, crypto acceleration, socket-local BPF storage, ROMFS reads, and GPU engine support—rather than one end-to-end application flow. Edges are limited to relationships evidenced by the excerpts; broader boot and subsystem wiring is not inferred from the file tree alone.
Main entry points: policy_engine.c USB PD policy · pcm_dmaengine.c PCM DMA adapter · dmaengine.h DMA engine API · dmaengine.c DMA channel core
Components 26
Platform startup
- Alpha boot
arch/alpha/boot/main.c - ARM decompressor
arch/arm/boot/compressed/decompress.c - Alpha setup
arch/alpha/kernel/setup.c - ARM setup
arch/arm/kernel/setup.c
Device services
- USB PD policy
drivers/usb/pd/policy_engine.c - USB mass storage
drivers/usb/gadget/function/f_mass_storage.c - SPI controller
drivers/spi/spi-axi-spi-engine.c - i915 engine support
drivers/gpu/drm/i915/intel_engine_cs.c
Async engines
- PCM DMA adapter
sound/core/pcm_dmaengine.c - DMA engine API
include/linux/dmaengine.h - DMA channel core
drivers/dma/dmaengine.c - CCP DMA provider
drivers/crypto/ccp/ccp-dmaengine.c - Crypto engine
crypto/crypto_engine.c
Kernel services
- Socket BPF storage
net/core/bpf_sk_storage.c - BPF local storage
kernel/bpf/bpf_local_storage.c
Storage and observability
- ROMFS reader
fs/romfs/storage.c
Other components
- Platform firmware
- USB-C partner
- USB host
- SPI client
- PCM client
- Crypto request
- Socket user
- VFS
- Block or MTD image
- GPU workload
Connections 16
- Platform firmware → Alpha boot: starts boot
- Platform firmware → ARM decompressor: starts boot
- USB-C partner → USB PD policy: exchanges PD messages
- USB PD policy → USB-C partner: negotiates power
- USB host → USB mass storage: sends USB requests
- SPI client → SPI controller: submits messages
- PCM client → PCM DMA adapter: requests PCM DMA
- PCM DMA adapter → DMA engine API: requests channels
- DMA engine API → DMA channel core: uses channel services
- DMA channel core → CCP DMA provider: dispatches transfers
- Crypto request → Crypto engine: queues requests
- Socket user → Socket BPF storage: accesses map by fd
- Socket BPF storage → BPF local storage: looks up and updates
- VFS → ROMFS reader: reads image data
- ROMFS reader → Block or MTD image: reads image
- GPU workload → i915 engine support: uses engine support