Written by Rafael Tsuha

KernelDevDay is a coding event organized by FLUSP (FLOSS@USP - IME-USP Extension Group) in which participating teams are going to spend approximately 10 hours contributing to some Linux kernel subsystem. In this first edition of the event, we aim to contribute to some drivers from the sensors subsystem (Industrial Input/Output - IIO) that are currently not ready to be merged into the Linux Kernel main tree due to technical issues.


We have a simple and clear mission: we want to encourage the Linux kernel community of developers in Brazil. Given FLUSP’s experience with contributing to multiple FLOSS communities, we believe we can act as a catalyzer to the process of bringing new developers to the kernel project.

Everyone who has their code accepted into the kernel project has their names registered in its contribution log (the famous git log). In other words, contributing to the Linux kernel is a great opportunity to work with a complex, high-impact software project. In short, your name will be immortalized in one of the biggest and most famous FLOSS projects of the last three decades.

The Industrial Input/Output (IIO) subsystem:

Nowadays our interaction with sensors is increasingly common through smartphones or through Internet of Things (IoT) devices. In this context, Linux has a set of programs that define how the interaction between the operating system and these devices shall happen: the IIO subsystem. Among the many assignments of this subsystem, we highlight the manipulation of accelerometers, gyroscopes, and temperature, light, and pressure sensors.

For more information on the IIO subsystem, refer to its documentation: IIO documentation

What we will do:

Our goal is making all of the code written during the KernelDevDay be merged into the Linux kernel main repository. With this in mind, we will focus our efforts on an intermediate development tree called the Staging tree. This repository aggregates drivers that aren’t up to the kernel’s quality standards for several technical reasons and therefore can not be moved into the main project tree.

During the event we will work on a pre-selected set of 3 to 5 drivers. We plan to send relevant patches to move these drivers out of staging and enable them to be merged into the main kernel tree.

What is a patch?

In software development, a patch is a set of changes made to a program to fix or improve the current version of its code. Patches may contain (but are not limited to):


In order for the event to be productive, attendees must be familiar with the following topics:

Non-technical requirements:


Warmup (May 17h):

We will follow this material (PT-BT) in the warmup section. If you are unable to attend the warmup, it is highly recommended that you follow the material and make the listed tutorials by yourself. If you have any questions in the process, do not exist to ask us! See how to contact us here.

KernelDevDay (May 18th):

Application form

The application is closed :( But you are welcome to join us here to know more about our future events!

Access to the venue:

The event is going to take place in the auditorium of the University of São Paulo’s FLOSS Competence Center (CCSL). (Address: 1171, Av. Prof. Luciano Gualberto, São Paulo). You can find more detailed information on how to reach the venue by public transport or by car on CCSL’s official website.

To ensure that everyone can access the University of São Paulo (USP) campus during the day of the event, it is necessary that attendees carry their IDs or USP affiliation card.


You can also check for updates on the event and many other FLUSP activities on our Telegram group and our official web page

For more information, feel free to send us an e-mail: flusp@googlegroups.com


comments powered by Disqus