SlideShare a Scribd company logo
Samsung Open Source Group 1
API and kABI Documentation and
Improvements
Mauro Carvalho Chehab
Samsung Open Source Group
Linux Kernel Summit
Seoul, South Korea: Oct.26-28, 2015
Samsung Open Source Group 2
API Documentation Status
● Documentation is at:
– Documentation/DocBook/media_api.tmpl; and
– Documentation/DocBook/media/*
● Broken into 4 parts:
– Part I: The V4L2 API
● Status: documentation is comprehensive – OK
– Part II: The Linux DVB API
● Status: Frontend/Net – OK, DVR/demux/CA – Outdated
– Part III: The Remote Controller API
● Status: documentation is simple, but OK
– Part IV: The Media Controller API
● Status: documentation is simple, but OK
(Need updates for MC next gen)
● Efforts are needed to make the Doc style coherent
Samsung Open Source Group 3
Kernel device-drivers.tmpl
● Most subsystems use DocBook/device-drivers.tmpl
– Documentation generated via kernel-doc nano format;
– Generates man-pages and have other interesting usages
<chapter id="mediadev">
<title>Media Devices</title>
<sect1><title>Video2Linux devices</title>
!Iinclude/media/tuner.h
!Iinclude/media/tuner-types.h
!Iinclude/media/tveeprom.h
!Iinclude/media/v4l2-async.h
!Iinclude/media/v4l2-ctrls.h
!Iinclude/media/v4l2-dv-timings.h
!Iinclude/media/v4l2-event.h
!Iinclude/media/v4l2-flash-led-class.h
!Iinclude/media/v4l2-mediabus.h
!Iinclude/media/v4l2-mem2mem.h
!Iinclude/media/v4l2-of.h
!Iinclude/media/v4l2-subdev.h
!Iinclude/media/videobuf2-core.h
!Iinclude/media/videobuf2-v4l2.h
!Iinclude/media/videobuf2-memops.h
..
Samsung Open Source Group 4
kABI Documentation Status
● Documentation is at:
– Documentation/{video4linux,dvb},
– Documentation/media-framework.txt
– Documentation/DocBook/device-drivers.tmpl
●
Also broken into 5 parts
● Patches sent for 4.3 and 4.4
●
Several headers from include/media are missing docs:
– some v4l2-*.h, part of VB2, VB1; non-core headers; soc_camera*.h,
some things like i2c_addr.h, ir-kbd-i2c.h, etc.
● Open question:
– What should be moved from Documentation/{video4linux,dvb} to the
DocBook?
● v4l2-controls.txt, v4l2-framework.txt and media-framework.txt seem to
be good canditates.
Samsung Open Source Group 5
kABI Documentation Status
● Media chapter at device-drivers has also 4 parts:
– Part I: The V4L2 API
● Status: not all core struct/functions are documented;
– Part II: The Linux DVB API
● Status: Demux and CA – OK, Remaining stuff incomplete;
– Part III: The Remote Controller API
● Status: not all core struct/functions are documented;
– Part IV: The Media Controller API
● Status: not all core struct/functions are documented;
● I did some effort to improve it at MC next gen
● All parts need review and improvements
– I didn't care a lot to review, as an outdated/incomplete documentation
is better than no documentation at all
Samsung Open Source Group 6
Thank You!
Samsung Open Source Group 6
Thank You!

More Related Content

ODP
Digital TV Kernel Pipelines via Media Controller API
PPS
DACHSview++features
PDF
LAS16-108: JerryScript and other scripting languages for IoT
PDF
BKK16-106 ODP Project Update
PPTX
Embedded c c++ programming fundamentals master
PDF
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
PDF
Synthesizing HDL using LeonardoSpectrum
PDF
Communication Protocols (UART, SPI,I2C)
Digital TV Kernel Pipelines via Media Controller API
DACHSview++features
LAS16-108: JerryScript and other scripting languages for IoT
BKK16-106 ODP Project Update
Embedded c c++ programming fundamentals master
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
Synthesizing HDL using LeonardoSpectrum
Communication Protocols (UART, SPI,I2C)

What's hot (7)

PDF
Sprache als Werkzeug: DSLs mit Kotlin (JAX 2020)
PDF
Las16 309 - lua jit arm64 port - status
PDF
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
PPTX
OpenFlow
PDF
LAS16-109: LAS16-109: The status quo and the future of 96Boards
PDF
2013 Hello GCC:The Theory, History and Future of System Linkers
PDF
Onos summit roadmap dec 9
Sprache als Werkzeug: DSLs mit Kotlin (JAX 2020)
Las16 309 - lua jit arm64 port - status
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
OpenFlow
LAS16-109: LAS16-109: The status quo and the future of 96Boards
2013 Hello GCC:The Theory, History and Future of System Linkers
Onos summit roadmap dec 9
Ad

Similar to API and kABI Documentation and Improvements (20)

PDF
LinuxKit Deep Dive
PDF
Kernel bug hunting
PDF
Bringing Tizen to a Raspberry Pi 2 Near You
PDF
Monkey Server
PDF
Embedded Linux primer
PDF
Introduction and course Details of Embedded Linux Platform Developer Training
PDF
LAS16-209: Finished and Upcoming Projects in LMG
PPTX
Using the New Apache Flink Kubernetes Operator in a Production Deployment
PDF
HKG15-104: What is Linaro working on - core development lightning talks
PDF
HKG15-100: What is Linaro working on - core development lightning talks
ODP
Managing Plone Projects with Perl and Subversion
PPTX
Open MPI SC'15 State of the Union BOF
ODP
Os Grossupdated
PDF
The RULE project: efficient computing for all GNU/Linux users
PDF
CI/CD with Github Actions
DOC
CLV_Viswanath_K
PDF
從u-boot 移植 NDS32 談 嵌入式系統開放原始碼開發的 一些經驗
PDF
Practical virtual network functions with Snabb (8th SDN Workshop)
PDF
MIPI DevCon 2016: Accelerating Software Development for MIPI CSI-2 Cameras
DOCX
Wonho Park_20151209
LinuxKit Deep Dive
Kernel bug hunting
Bringing Tizen to a Raspberry Pi 2 Near You
Monkey Server
Embedded Linux primer
Introduction and course Details of Embedded Linux Platform Developer Training
LAS16-209: Finished and Upcoming Projects in LMG
Using the New Apache Flink Kubernetes Operator in a Production Deployment
HKG15-104: What is Linaro working on - core development lightning talks
HKG15-100: What is Linaro working on - core development lightning talks
Managing Plone Projects with Perl and Subversion
Open MPI SC'15 State of the Union BOF
Os Grossupdated
The RULE project: efficient computing for all GNU/Linux users
CI/CD with Github Actions
CLV_Viswanath_K
從u-boot 移植 NDS32 談 嵌入式系統開放原始碼開發的 一些經驗
Practical virtual network functions with Snabb (8th SDN Workshop)
MIPI DevCon 2016: Accelerating Software Development for MIPI CSI-2 Cameras
Wonho Park_20151209
Ad

More from Samsung Open Source Group (20)

PDF
The Complex IoT Equation (and FLOSS solutions)
PDF
Easy IoT with JavaScript
PDF
Spawny: A New Approach to Logins
PDF
Rapid SPi Device Driver Development over USB
PDF
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
PDF
IoTivity: Smart Home to Automotive and Beyond
PDF
IoTivity for Automotive: meta-ocf-automotive tutorial
PDF
GENIVI + OCF Cooperation
PDF
Framework for IoT Interoperability
PDF
Open Source Metrics to Inform Corporate Strategy
PDF
IoTivity for Automotive IoT Interoperability
PDF
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
PDF
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
PDF
IoTivity: From Devices to the Cloud
PDF
SOSCON 2016 JerryScript
PDF
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
PDF
Run Your Own 6LoWPAN Based IoT Network
PDF
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
PDF
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
PDF
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
The Complex IoT Equation (and FLOSS solutions)
Easy IoT with JavaScript
Spawny: A New Approach to Logins
Rapid SPi Device Driver Development over USB
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
IoTivity: Smart Home to Automotive and Beyond
IoTivity for Automotive: meta-ocf-automotive tutorial
GENIVI + OCF Cooperation
Framework for IoT Interoperability
Open Source Metrics to Inform Corporate Strategy
IoTivity for Automotive IoT Interoperability
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
IoTivity: From Devices to the Cloud
SOSCON 2016 JerryScript
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
Run Your Own 6LoWPAN Based IoT Network
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things

Recently uploaded (20)

PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
PDF
Designing Intelligence for the Shop Floor.pdf
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
assetexplorer- product-overview - presentation
PPTX
Patient Appointment Booking in Odoo with online payment
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
PDF
Download FL Studio Crack Latest version 2025 ?
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PDF
Cost to Outsource Software Development in 2025
PDF
Nekopoi APK 2025 free lastest update
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
Why Generative AI is the Future of Content, Code & Creativity?
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
Designing Intelligence for the Shop Floor.pdf
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
17 Powerful Integrations Your Next-Gen MLM Software Needs
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Reimagine Home Health with the Power of Agentic AI​
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
assetexplorer- product-overview - presentation
Patient Appointment Booking in Odoo with online payment
iTop VPN Free 5.6.0.5262 Crack latest version 2025
CapCut Video Editor 6.8.1 Crack for PC Latest Download (Fully Activated) 2025
Download FL Studio Crack Latest version 2025 ?
Operating system designcfffgfgggggggvggggggggg
Oracle Fusion HCM Cloud Demo for Beginners
Cost to Outsource Software Development in 2025
Nekopoi APK 2025 free lastest update
wealthsignaloriginal-com-DS-text-... (1).pdf

API and kABI Documentation and Improvements

  • 1. Samsung Open Source Group 1 API and kABI Documentation and Improvements Mauro Carvalho Chehab Samsung Open Source Group Linux Kernel Summit Seoul, South Korea: Oct.26-28, 2015
  • 2. Samsung Open Source Group 2 API Documentation Status ● Documentation is at: – Documentation/DocBook/media_api.tmpl; and – Documentation/DocBook/media/* ● Broken into 4 parts: – Part I: The V4L2 API ● Status: documentation is comprehensive – OK – Part II: The Linux DVB API ● Status: Frontend/Net – OK, DVR/demux/CA – Outdated – Part III: The Remote Controller API ● Status: documentation is simple, but OK – Part IV: The Media Controller API ● Status: documentation is simple, but OK (Need updates for MC next gen) ● Efforts are needed to make the Doc style coherent
  • 3. Samsung Open Source Group 3 Kernel device-drivers.tmpl ● Most subsystems use DocBook/device-drivers.tmpl – Documentation generated via kernel-doc nano format; – Generates man-pages and have other interesting usages <chapter id="mediadev"> <title>Media Devices</title> <sect1><title>Video2Linux devices</title> !Iinclude/media/tuner.h !Iinclude/media/tuner-types.h !Iinclude/media/tveeprom.h !Iinclude/media/v4l2-async.h !Iinclude/media/v4l2-ctrls.h !Iinclude/media/v4l2-dv-timings.h !Iinclude/media/v4l2-event.h !Iinclude/media/v4l2-flash-led-class.h !Iinclude/media/v4l2-mediabus.h !Iinclude/media/v4l2-mem2mem.h !Iinclude/media/v4l2-of.h !Iinclude/media/v4l2-subdev.h !Iinclude/media/videobuf2-core.h !Iinclude/media/videobuf2-v4l2.h !Iinclude/media/videobuf2-memops.h ..
  • 4. Samsung Open Source Group 4 kABI Documentation Status ● Documentation is at: – Documentation/{video4linux,dvb}, – Documentation/media-framework.txt – Documentation/DocBook/device-drivers.tmpl ● Also broken into 5 parts ● Patches sent for 4.3 and 4.4 ● Several headers from include/media are missing docs: – some v4l2-*.h, part of VB2, VB1; non-core headers; soc_camera*.h, some things like i2c_addr.h, ir-kbd-i2c.h, etc. ● Open question: – What should be moved from Documentation/{video4linux,dvb} to the DocBook? ● v4l2-controls.txt, v4l2-framework.txt and media-framework.txt seem to be good canditates.
  • 5. Samsung Open Source Group 5 kABI Documentation Status ● Media chapter at device-drivers has also 4 parts: – Part I: The V4L2 API ● Status: not all core struct/functions are documented; – Part II: The Linux DVB API ● Status: Demux and CA – OK, Remaining stuff incomplete; – Part III: The Remote Controller API ● Status: not all core struct/functions are documented; – Part IV: The Media Controller API ● Status: not all core struct/functions are documented; ● I did some effort to improve it at MC next gen ● All parts need review and improvements – I didn't care a lot to review, as an outdated/incomplete documentation is better than no documentation at all
  • 6. Samsung Open Source Group 6 Thank You!
  • 7. Samsung Open Source Group 6 Thank You!