How aum47/kernel_motorola_sm7750 works
This is an Android Common Kernel: a Linux kernel tree with architecture support, device drivers, core services, and filesystems. The sampled runtime components represent several independent kernel workflows rather than one end-to-end application: USB Power Delivery negotiates port behavior; USB mass storage exposes file-backed media; DMA clients request asynchronous transfers through a hardware-neutral API; and other subsystems provide crypto, graphics, SPI, BPF storage, and RomFS services. The README describes patch contribution, not additional runtime features. Source excerpts are partial, so the graph omits uncertain internal wiring.
Main entry points: dmaengine.c DMA core · dmaengine.h DMA API · policy_engine.c PD policy · f_mass_storage.c USB mass storage
Components 16
DMA services
USB services
- PD policy
drivers/usb/pd/policy_engine.c - USB mass storage
drivers/usb/gadget/function/f_mass_storage.c
Kernel subsystems
- Crypto engine
crypto/crypto_engine.c - SPI engine
drivers/spi/spi-axi-spi-engine.c - GPU engines
drivers/gpu/drm/i915/gt/intel_engine_cs.c - BPF local storage
kernel/bpf/bpf_local_storage.c
Storage
- RomFS storage
fs/romfs/storage.c
Other components
- Kernel clients
- PD partner
- USB host
- Backing media
Connections 10
- Kernel clients → DMA API: request transfers
- DMA API → DMA core: requests channels
- DMA core → CCP DMA: dispatches transfers
- DMA core → PT DMA: dispatches transfers
- PCM DMA → DMA API: uses interface
- PD partner → PD policy: exchanges messages
- PD policy → PD partner: sends messages
- USB host → USB mass storage: issues commands
- USB mass storage → Backing media: reads and writes
- RomFS storage → Backing media: reads image