SlideShare a Scribd company logo
From maintaining I2C to the big (embedded) picture
Wolfram Sang, Consultant / Renesas
24.09.2019, EmbeddedRecipes
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 1 / 26
Simple SoC Block Diagram
System Controller
Advanced Int. Ctrl.
Power Mgt. Ctrl.
PLL
Osc
RC Osc
Reset Ctrl.
Brownout Detect
Power On Reset
Prog. Int. Timer
Watchdog Timer
Real Time Timer
Debug Unit
PID Ctrl.
JTAG
Scan
Voltage
Regulator
Peripheral
Bridge
MemoryController
EBI
SRAM
Flash
Flash
Programmer
Peripheral
Data Controller
Application-Specific
Logic
CAN
USB
PWM
SD/MMC
Framebuffer/DisplayADC
I2C / TWI
SPI
UART
Ethernet
PIO
ARM
Processor
PIO
PIO
APB
ASB/
AHB
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 2 / 26
I2C: its simplicity is a problem
What could go wrong?
specs didn’t change much since 1982
definately not rocket science1
drivers are (relatively) simple
So, do an IP core, dump the driver, move on…
1
yet, gory details are everywhere
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 3 / 26
I2C: its simplicity is a problem
What could go wrong?
specs didn’t change much since 1982
definately not rocket science1
drivers are (relatively) simple
So, do an IP core, dump the driver, move on…
I2C is a good example
a Fly-by subsystem
mostly used by embedded
largely maintained in spare time
1
yet, gory details are everywhere
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 3 / 26
Growth of I2C bus master drivers
0
20
40
60
80
100
120
140
v3.0 v3.5 v3.10 v3.15 v4.0 v4.5 v4.10 v4.15 v4.20
2011 2012 2013 2014 2015 2016 2017 2018 2018
number of files in drivers/i2c/busses
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 4 / 26
Bad News
Insane fragmentation!
:(
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 5 / 26
Good News
Message was received:
People are sending patches!
o/
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 6 / 26
More Bad News
We now have a scaling problem:
Who reviews all these patches2?
2
especially in fly-by subsystems
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 7 / 26
Number of unprocessed patches
0
50
100
150
200
250
v3.0 v3.5 v3.10 v3.15 v4.0 v4.5
2011 2012 2013 2014 2015 2016
linux-i2c (72 commits in 4.8)
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 8 / 26
1st lesson learned
There will be backlog3
3
Relax and live with it…
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 9 / 26
2nd lesson learned
Do only stuff you are personally
interested in
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 10 / 26
Not maintaining the drivers anymore
commit 95df14f7937482a2a527814061eda9b534adb7eb
Author: Wolfram Sang <wsa@the-dreams.de>
Date: Tue Apr 10 21:49:13 2018 +0200
MAINTAINERS: remove me as maintainer for I2C host drivers
The number of I2C host controller drivers keeps increasing, and although
I had some success acquiring specific driver maintainers, my bandwidth
is by far not enough to act as a fallback for the rest of the drivers.
...
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 11 / 26
Group maintainership
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 12 / 26
Group maintainership
Which group???happy it works for DRM, but difficult for fly-bys
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 12 / 26
Group maintainership
Which group???happy it works for DRM, but difficult for fly-bys
Still, thanks a ton to the I2C mux and I2C ACPI submaintainers!
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 12 / 26
Not that I tried…
From: Wolfram Sang <wsa@the-dreams.de>
Subject: I2C delay due to maintainer illness
sadly, I have been tied to bed for a few days now, not in a condition to
really work on I2C...
I think it is annoying, sure, but no catastrophe. However, it shows that
I am the single-point-of-failure for I2C patches, what I don't like.
Like I said before, I am open to group maintainership. If you think you
are a reliable candidate, please get in touch with me.
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 13 / 26
Not that I tried…
From: Wolfram Sang <wsa@the-dreams.de>
Subject: I2C delay due to maintainer illness
sadly, I have been tied to bed for a few days now, not in a condition to
really work on I2C...
I think it is annoying, sure, but no catastrophe. However, it shows that
I am the single-point-of-failure for I2C patches, what I don't like.
Like I said before, I am open to group maintainership. If you think you
are a reliable candidate, please get in touch with me.
“Get well soon!”
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 13 / 26
3rd lesson learned
Divide & conquer
(to the extreme4)
4
i.e. to the driver level
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 14 / 26
Problem: new drivers
From: Khalil Blaiech <kblaiech@mellanox.com>
Subject: [PATCH v5 1/2] i2c: i2c-mlx: I2C SMBus driver for Mellanox BlueField
Added BlueField I2C driver to offer master and slave support for
Mellanox BlueField SoCs. The driver implements an SMBus adapter
and interfaces to multiple busses that can be probed using both
ACPI and Device Tree infrastructures.
Signed-off-by: Khalil Blaiech <kblaiech@mellanox.com>
---
drivers/i2c/busses/Kconfig | 13 +
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-mlx.c | 2513 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 2527 insertions(+)
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 15 / 26
4th lesson learned
Let escalateI don’t like it, but I don’t scale
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 16 / 26
See the plateaus?
0
20
40
60
80
100
120
140
v3.0 v3.5 v3.10 v3.15 v4.0 v4.5 v4.10 v4.15 v4.20
2011 2012 2013 2014 2015 2016 2017 2018 2018
number of files in drivers/i2c/busses
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 17 / 26
Something to get rid off
This picture5
is still around
“The overall picture … is one of a development process that continues to
function like a relatively well-tuned machine. The number of contributors
continues to increase, the patch flow is steady, and there do not appear to
be many process-scalability issues in sight.”
Disclaimer: LWN’s opinion has changed meanwhile to the best of my
knowledge.
5
LWN on May 11th, 2016
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 18 / 26
News from Linux Plumbers
Dmitry Vyukov gave a talk at LPC.
It sparked some discussions
tooling
workflow
documentation
All nice but…
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 19 / 26
For my situation: tip of the iceberg
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 20 / 26
Proposed solution I
Send out the new message
Next level reached
Old message arrived: Submit patches
New message: Take part in QA6
6
review other patches and maintain core code
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 21 / 26
Proposed solution II
Kernel Infrastructure Initiative?
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 22 / 26
Proposed solution III
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 23 / 26
Proposed solution III
Maintainers on strike!
:)
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 23 / 26
Disclaimer
My bias
embedded
fly-by
(mostly) voluntary
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 24 / 26
The End
Questions? Comments?
Questions?
Right here, right now…
At the conference
wsa@the-dreams.de
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 25 / 26
References
ArmSoC diagram from my previous talk “Maintainer’s Diary: We
have a scaling problem” at ELC Europe 2013 in Edinburgh (based on
this version from Wikimedia (by Cburnett))
Iceberg picture from Wikimedia (by Uwe Kils and Wiska Bodo)
List of unprocessed patches in I2C from my previous talk “I Still Think
We Have a Scaling Problem” at LinuxCon Europe 2016 in Berlin
Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 26 / 26

More Related Content

PDF
Embedded Recipes 2019 - Herd your socs become a matchmaker
PDF
Embedded Recipes 2019 - Making embedded graphics less special
PDF
Embedded Recipes 2019 - LLVM / Clang integration
PDF
Embedded Recipes 2019 - RT is about to make it to mainline. Now what?
PDF
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
PDF
Kernel Recipes 2019 - Driving the industry toward upstream first
PDF
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
PPTX
Static partitioning virtualization on RISC-V
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - RT is about to make it to mainline. Now what?
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - Driving the industry toward upstream first
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Static partitioning virtualization on RISC-V

What's hot (20)

PDF
Kernel Recipes 2013 - Overview display in the Linux kernel
PDF
RISC-V 30908 patra
PDF
Andes andes clarity for risc-v vector processor
PDF
RISC-V Zce Extension
PPTX
Closing the RISC-V compliance gap via fuzzing
PDF
SemiDynamics new family of High Bandwidth Vector-capable Cores
PPTX
Reverse Engineering of Rocket Chip
PDF
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
PDF
Tech talk with lampro mellon an open source solution for accelerating verific...
PPTX
RISC-V NOEL-V - A new high performance RISC-V Processor Family
PDF
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
PDF
Semi dynamics high bandwidth vector capable RISC-V cores
PDF
Andes RISC-V processor solutions
PDF
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans Verkuil
PDF
System Design on Zynq using SDSoC
PDF
LAS16-TR03: Upstreaming 201
PPTX
LAS16-106: GNU Toolchain Development Lifecycle
PDF
Kernel Recipes 2014 - NDIV: a low overhead network traffic diverter
PDF
Andes enhancing verification coverage for risc v vector extension using riscv-dv
PDF
Klessydra-T: Designing Configurable Vector Co-Processors for Multi-Threaded E...
Kernel Recipes 2013 - Overview display in the Linux kernel
RISC-V 30908 patra
Andes andes clarity for risc-v vector processor
RISC-V Zce Extension
Closing the RISC-V compliance gap via fuzzing
SemiDynamics new family of High Bandwidth Vector-capable Cores
Reverse Engineering of Rocket Chip
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Tech talk with lampro mellon an open source solution for accelerating verific...
RISC-V NOEL-V - A new high performance RISC-V Processor Family
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
Semi dynamics high bandwidth vector capable RISC-V cores
Andes RISC-V processor solutions
Kernel Recipes 2017 - HDMI CEC: Status Report - Hans Verkuil
System Design on Zynq using SDSoC
LAS16-TR03: Upstreaming 201
LAS16-106: GNU Toolchain Development Lifecycle
Kernel Recipes 2014 - NDIV: a low overhead network traffic diverter
Andes enhancing verification coverage for risc v vector extension using riscv-dv
Klessydra-T: Designing Configurable Vector Co-Processors for Multi-Threaded E...
Ad

Similar to Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture (20)

PPTX
IOT Firmware: Best Pratices
PPTX
Zvika Rozenshein,General Manager, EngineeringIQ
PPT
17 october embedded seminar
PDF
Linux+sensor+device-tree+shell=IoT !
PDF
Automatic solar LED street light automation by using RTC and I2C protocols d...
PDF
Raspberry Pi - best friend for all your GPIO needs
PDF
Using ARM Dev.Board in physical experimental instruments
PPTX
Embedded Systems Overview
PDF
DEF CON 27 - PHILIPPE LAULHERET - introduction to hardware hacking extended v...
PDF
Choose your dev platform
PDF
Ins and Outs of GPIO Programming
 
PDF
Basics of Embedded System
PDF
labour force
 
PDF
Major project report
PDF
Embo++2022 Unembedding Embedded Systems with TDD Benefits of going beyond the...
PPTX
Introduction To Embedded System and its Design.pptx
PDF
JS Fest 2018. Володимир Шиманський. Запуск двіжка JS на мікроконтролері
PPTX
How to use an Arduino
PPTX
Intel Edison: Beyond the Breadboard
PDF
Iot Bootcamp - abridged - part 1
IOT Firmware: Best Pratices
Zvika Rozenshein,General Manager, EngineeringIQ
17 october embedded seminar
Linux+sensor+device-tree+shell=IoT !
Automatic solar LED street light automation by using RTC and I2C protocols d...
Raspberry Pi - best friend for all your GPIO needs
Using ARM Dev.Board in physical experimental instruments
Embedded Systems Overview
DEF CON 27 - PHILIPPE LAULHERET - introduction to hardware hacking extended v...
Choose your dev platform
Ins and Outs of GPIO Programming
 
Basics of Embedded System
labour force
 
Major project report
Embo++2022 Unembedding Embedded Systems with TDD Benefits of going beyond the...
Introduction To Embedded System and its Design.pptx
JS Fest 2018. Володимир Шиманський. Запуск двіжка JS на мікроконтролері
How to use an Arduino
Intel Edison: Beyond the Breadboard
Iot Bootcamp - abridged - part 1
Ad

More from Anne Nicolas (20)

PDF
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
PDF
Kernel Recipes 2019 - Metrics are money
PDF
Kernel Recipes 2019 - Kernel documentation: past, present, and future
PDF
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
PDF
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
PDF
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
PDF
Embedded Recipes 2019 - Testing firmware the devops way
PDF
Embedded Recipes 2019 - Herd your socs become a matchmaker
PDF
Embedded Recipes 2019 - Introduction to JTAG debugging
PDF
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
PDF
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
PDF
Kernel Recipes 2019 - Suricata and XDP
PDF
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
PDF
Kernel Recipes 2019 - Formal modeling made easy
PDF
Kernel Recipes 2019 - CVEs are dead, long live the CVE!
PDF
Kernel Recipes 2019 - XDP closer integration with network stack
PDF
Kernel Recipes 2019 - Kernel hacking behind closed doors
PDF
Kernel Recipes 2019 - Faster IO through io_uring
PDF
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
PDF
Kernel Recipes 2019 - pidfds: Process file descriptors on Linux
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Formal modeling made easy
Kernel Recipes 2019 - CVEs are dead, long live the CVE!
Kernel Recipes 2019 - XDP closer integration with network stack
Kernel Recipes 2019 - Kernel hacking behind closed doors
Kernel Recipes 2019 - Faster IO through io_uring
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - pidfds: Process file descriptors on Linux

Recently uploaded (20)

PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
top salesforce developer skills in 2025.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
history of c programming in notes for students .pptx
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Navsoft: AI-Powered Business Solutions & Custom Software Development
ManageIQ - Sprint 268 Review - Slide Deck
2025 Textile ERP Trends: SAP, Odoo & Oracle
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Odoo POS Development Services by CandidRoot Solutions
CHAPTER 2 - PM Management and IT Context
How to Choose the Right IT Partner for Your Business in Malaysia
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
top salesforce developer skills in 2025.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Which alternative to Crystal Reports is best for small or large businesses.pdf
history of c programming in notes for students .pptx
Softaken Excel to vCard Converter Software.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Upgrade and Innovation Strategies for SAP ERP Customers
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Odoo Companies in India – Driving Business Transformation.pdf
ISO 45001 Occupational Health and Safety Management System
Wondershare Filmora 15 Crack With Activation Key [2025
Internet Downloader Manager (IDM) Crack 6.42 Build 41

Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture

  • 1. From maintaining I2C to the big (embedded) picture Wolfram Sang, Consultant / Renesas 24.09.2019, EmbeddedRecipes Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 1 / 26
  • 2. Simple SoC Block Diagram System Controller Advanced Int. Ctrl. Power Mgt. Ctrl. PLL Osc RC Osc Reset Ctrl. Brownout Detect Power On Reset Prog. Int. Timer Watchdog Timer Real Time Timer Debug Unit PID Ctrl. JTAG Scan Voltage Regulator Peripheral Bridge MemoryController EBI SRAM Flash Flash Programmer Peripheral Data Controller Application-Specific Logic CAN USB PWM SD/MMC Framebuffer/DisplayADC I2C / TWI SPI UART Ethernet PIO ARM Processor PIO PIO APB ASB/ AHB Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 2 / 26
  • 3. I2C: its simplicity is a problem What could go wrong? specs didn’t change much since 1982 definately not rocket science1 drivers are (relatively) simple So, do an IP core, dump the driver, move on… 1 yet, gory details are everywhere Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 3 / 26
  • 4. I2C: its simplicity is a problem What could go wrong? specs didn’t change much since 1982 definately not rocket science1 drivers are (relatively) simple So, do an IP core, dump the driver, move on… I2C is a good example a Fly-by subsystem mostly used by embedded largely maintained in spare time 1 yet, gory details are everywhere Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 3 / 26
  • 5. Growth of I2C bus master drivers 0 20 40 60 80 100 120 140 v3.0 v3.5 v3.10 v3.15 v4.0 v4.5 v4.10 v4.15 v4.20 2011 2012 2013 2014 2015 2016 2017 2018 2018 number of files in drivers/i2c/busses Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 4 / 26
  • 6. Bad News Insane fragmentation! :( Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 5 / 26
  • 7. Good News Message was received: People are sending patches! o/ Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 6 / 26
  • 8. More Bad News We now have a scaling problem: Who reviews all these patches2? 2 especially in fly-by subsystems Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 7 / 26
  • 9. Number of unprocessed patches 0 50 100 150 200 250 v3.0 v3.5 v3.10 v3.15 v4.0 v4.5 2011 2012 2013 2014 2015 2016 linux-i2c (72 commits in 4.8) Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 8 / 26
  • 10. 1st lesson learned There will be backlog3 3 Relax and live with it… Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 9 / 26
  • 11. 2nd lesson learned Do only stuff you are personally interested in Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 10 / 26
  • 12. Not maintaining the drivers anymore commit 95df14f7937482a2a527814061eda9b534adb7eb Author: Wolfram Sang <wsa@the-dreams.de> Date: Tue Apr 10 21:49:13 2018 +0200 MAINTAINERS: remove me as maintainer for I2C host drivers The number of I2C host controller drivers keeps increasing, and although I had some success acquiring specific driver maintainers, my bandwidth is by far not enough to act as a fallback for the rest of the drivers. ... Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 11 / 26
  • 13. Group maintainership Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 12 / 26
  • 14. Group maintainership Which group???happy it works for DRM, but difficult for fly-bys Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 12 / 26
  • 15. Group maintainership Which group???happy it works for DRM, but difficult for fly-bys Still, thanks a ton to the I2C mux and I2C ACPI submaintainers! Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 12 / 26
  • 16. Not that I tried… From: Wolfram Sang <wsa@the-dreams.de> Subject: I2C delay due to maintainer illness sadly, I have been tied to bed for a few days now, not in a condition to really work on I2C... I think it is annoying, sure, but no catastrophe. However, it shows that I am the single-point-of-failure for I2C patches, what I don't like. Like I said before, I am open to group maintainership. If you think you are a reliable candidate, please get in touch with me. Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 13 / 26
  • 17. Not that I tried… From: Wolfram Sang <wsa@the-dreams.de> Subject: I2C delay due to maintainer illness sadly, I have been tied to bed for a few days now, not in a condition to really work on I2C... I think it is annoying, sure, but no catastrophe. However, it shows that I am the single-point-of-failure for I2C patches, what I don't like. Like I said before, I am open to group maintainership. If you think you are a reliable candidate, please get in touch with me. “Get well soon!” Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 13 / 26
  • 18. 3rd lesson learned Divide & conquer (to the extreme4) 4 i.e. to the driver level Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 14 / 26
  • 19. Problem: new drivers From: Khalil Blaiech <kblaiech@mellanox.com> Subject: [PATCH v5 1/2] i2c: i2c-mlx: I2C SMBus driver for Mellanox BlueField Added BlueField I2C driver to offer master and slave support for Mellanox BlueField SoCs. The driver implements an SMBus adapter and interfaces to multiple busses that can be probed using both ACPI and Device Tree infrastructures. Signed-off-by: Khalil Blaiech <kblaiech@mellanox.com> --- drivers/i2c/busses/Kconfig | 13 + drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-mlx.c | 2513 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 2527 insertions(+) Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 15 / 26
  • 20. 4th lesson learned Let escalateI don’t like it, but I don’t scale Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 16 / 26
  • 21. See the plateaus? 0 20 40 60 80 100 120 140 v3.0 v3.5 v3.10 v3.15 v4.0 v4.5 v4.10 v4.15 v4.20 2011 2012 2013 2014 2015 2016 2017 2018 2018 number of files in drivers/i2c/busses Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 17 / 26
  • 22. Something to get rid off This picture5 is still around “The overall picture … is one of a development process that continues to function like a relatively well-tuned machine. The number of contributors continues to increase, the patch flow is steady, and there do not appear to be many process-scalability issues in sight.” Disclaimer: LWN’s opinion has changed meanwhile to the best of my knowledge. 5 LWN on May 11th, 2016 Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 18 / 26
  • 23. News from Linux Plumbers Dmitry Vyukov gave a talk at LPC. It sparked some discussions tooling workflow documentation All nice but… Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 19 / 26
  • 24. For my situation: tip of the iceberg Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 20 / 26
  • 25. Proposed solution I Send out the new message Next level reached Old message arrived: Submit patches New message: Take part in QA6 6 review other patches and maintain core code Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 21 / 26
  • 26. Proposed solution II Kernel Infrastructure Initiative? Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 22 / 26
  • 27. Proposed solution III Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 23 / 26
  • 28. Proposed solution III Maintainers on strike! :) Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 23 / 26
  • 29. Disclaimer My bias embedded fly-by (mostly) voluntary Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 24 / 26
  • 30. The End Questions? Comments? Questions? Right here, right now… At the conference wsa@the-dreams.de Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 25 / 26
  • 31. References ArmSoC diagram from my previous talk “Maintainer’s Diary: We have a scaling problem” at ELC Europe 2013 in Edinburgh (based on this version from Wikimedia (by Cburnett)) Iceberg picture from Wikimedia (by Uwe Kils and Wiska Bodo) List of unprocessed patches in I2C from my previous talk “I Still Think We Have a Scaling Problem” at LinuxCon Europe 2016 in Berlin Wolfram Sang, Consultant / Renesas From I2C to the big picture 24.09.2019, EmbeddedRecipes 26 / 26