We started our preparation to KernelDevDay (KDD) with a warmup afternoon on the preceding Friday. First, we introduced ourselves and our group, following with a brief overview about the Linux kernel and its subsystems, the maintainers who care for code and community, the community review flow, and an overview of the kernel development workflow. Finally, we jumped into helping attendees to build up their development environment which included: repository cloning, mailing list subscribing, kernel compiling, and git configuration.

At KernelDevDay (18/05) we started receiving attendees at eight o’clock for the event subscription. From 8:00 to 8:40 attendees received an identification badge, FLUSP tee, stickers, and keychains. At 8:45 we had KDD official opening with a talk about our FLOSS students group, our history, values, goals, and achievements. We also brought some statistics about the Linux kernel, it’s comprehensiveness and importance to other great projects, giving attendees some motivation to contribute. To end up our intro talk, we presented our sponsors’ promotional videos highlighting that they also believe Linux is a great project that is only possible because of sensible developers like those present on that day.

Following our event intro, we also presented an introduction to the IIO subsystem explaining why it exists, what are the devices it supports, how IIO device drivers interact with hardware, what are the correlated kernel interfaces, the most important driver structures and functions. Then we finished our technical intro giving some guidelines on how to contribute to a driver, which usually include studying the current code and code of similar drivers, reading the IIO documentation, reading the device datasheet, looking at other patches sent to the driver.

At nearly 9:30 we divided the nineteen attended developers into eight teams to work on previously selected issues. Our main goal was to contribute to IIO staging drivers in an effort to make them more compliant with the new IIO API and, hopefully, move them from staging to mainline. Since it was a single day event, we focused on documentation and smaller contributions. Then, after choosing their issues, we set up a kanban to track development flow. Afterward, we spent the rest of the morning working on the issues each team had chosen, updating the kanban accordingly.

At midday, we had a break for lunch with some subway bread, peanut candies, many flavors of juice, and a carrot cake. People scatter to exchange some ideas, talk about related things such as devicetree, other kernel subsystems, FLOSS projects, etc. We also had a photo with all the people who wanted to appear celebrating at KDD.

We kept developing throughout the afternoon having a thirty-minute coffee break at 3 pm. During both morning and afternoon, attendees had at least two coaches at disposal for helping them with their issues and anything related to kernel and patch preparation. Internal reviews were provided to all patches submitted to FLUSP mailing list. Moreover, after 5 pm, we intensified the review process to improve the patches’ quality thus increasing their chances of being accepted when submitted to the IIO mailing list. At this period we got to have four coaches reviewing patches! For our surprise, at seven pm most teams were still compromised to enhance and submit their patches so we extended the KernelDevDay until 8 pm, one hour after the estimated closing time.

We closed the KernelDevDay accounting the patches submitted to IIO mailing list, 15 on the day, and congratulating those who stayed with us at that contributions day. 19 out of 21 developers had their patches submitted to IIO mailing list. Encouragement to continue development was given to those who still had patches to be submitted as well as the coaches compromised themselves to review subsequent patches submitted to FLUSP mailing list. It was a pretty fun colaborathon. =)

Acheived Goals:

With this event, we were able to motivate other local developers to contribute to the Linux kernel. Even more, we encouraged them to keep studying the Linux kernel to make more contributions to the community. If not on the IIO, on any other kernel subsystem. After closing the event, we let the attendees write down some feedback for the organization from which we selected three of them:

“The atmosphere of the event was always very light and pleasant. The mentors were always willing to help; at no time did I feel intimidated to ask questions. Thank you very much for the initiative! I look forward to the next :)”
Anonymous attendee

“You created a very comfortable atmosphere in this event, I was not afraid to ask anything. It might be good to do an event with a wider range of contribution options, but I understand it’s tricky, since it’s too complex for so little time. Anyway, the event was very good, thank you.”
Anonymous attendee

“The event was excellent! For a “beginner” like me, it was possible to experience for a day, the modus operandi of Linux kernel developers. ^^”
Anonymous attendee

What patches were developed?

Patch Title Link Status
staging: iio: adis16240: add device to module device table https://patchwork.kernel.org/patch/10949199/ [APPLIED]
dt-bindings: iio: accel: adxl372: switch to YAML bindings https://patchwork.kernel.org/patch/10949201/ Under review/reworking
staging: iio: ad9834: add of_device_id table https://patchwork.kernel.org/patch/10949225/ [APPLIED]
dt-bindings: iio: ad7949: switch binding to yaml https://patchwork.kernel.org/patch/10949209/ Under review/reworking
dt-bindings: iio: adc: add adi,ad7780.yaml binding https://patchwork.kernel.org/patch/10949211/ Under review/reworking
staging:iio:ad7150: fix threshold mode config bit https://patchwork.kernel.org/patch/10949247/ [APPLIED]
staging: iio: ad2s1210: Destroy mutex at remove https://patchwork.kernel.org/patch/10949203/ Under review/reworking
staging: iio: ad2s1210: Add devicetree yaml doc https://patchwork.kernel.org/patch/10949205/ Under review/reworking
staging: iio: ad9832: Add device tree support https://patchwork.kernel.org/patch/10949085/ Under review/reworking
staging: iio: ad7746: add device tree support https://patchwork.kernel.org/patch/10949207/ [APPLIED]
staging: iio: adt7316: create of_device_id array https://patchwork.kernel.org/patch/10949221/ [APPLIED]
staging: iio: ad7192: create of_device_id array https://patchwork.kernel.org/patch/10949223/ Under review/reworking
staging: iio: cdc: ad7150: create macro for capacitance channels https://patchwork.kernel.org/patch/10949217/ [APPLIED]
staging: iio: cdc: ad7150: create of_device_id array https://patchwork.kernel.org/patch/10949193/ Under review/reworking
staging: iio: adis16203: Add of_device_id table https://patchwork.kernel.org/patch/10949219/ [APPLIED]
dt-bindings: iio: ad5933: switch to YAML bindings no link (not submitted yet)
staging: iio: adis16240: add of_match_table entry https://patchwork.kernel.org/patch/10959065/ [APPLIED]

What we have accomplished:

As a direct result of our work at May 18th, sixteen patches were submitted to the IIO mailing list, eight of those were applied and will be merged into the Greg Linux kernel tree soon. With this, twelve developers had their names committed to the Linux kernel, seven of them where newcomers. We also had great reviews from the IIO community, meaning that our contributions were welcome. Many hints were given on how to make our contributions better, so most patches that weren’t applied yet may be reworked to get applied in the future.

Finally, we present some statistics about the KernelDevDay.

KernelDevDay statistics

  • 21 developers arranged in 9 teams
  • 15 patches submitted to IIO during KDD
  • 7 patches directly accepted
  • 21 IIO community responses in the following two days
  • 12 developers had their names committed to the Linux kernel
  • 7 of which were newcomers
  • 8 patches developed at KDD accepted so far

Special Thanks

We know that KernelDevDay wouldn’t have been such a great experience for attendees if we hadn’t had help from many people outside FLUSP. We would like to thank:

USPCodeLab group
Edina Arouca
Nelson Lago
Alfredo Goldman vel Lejbman
Alexandru Ardelean
Jonathan Cameron

Contact:

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

Sponsors: