Hi all,
I wanted to provide an update of what the kernel team accomplished at Linaro Connect last week for those who were unable to attend.
The team was split into two main groups, the first being led by Grant Likely and focusing on continuing the work on enabling Device Tree support on ARM platforms. In addition to Linaro members, David Brown and Nicolas Ferre also worked on DT support for their platforms and all together the team got much accomplished in 5 days there with a number of patches ready for the 3.2 merge windows:
* Several device drivers for the Freescale iMX were converted to use DT-base discovery.
* Code was written to bridge between the Device Tree model and TI OMAP's HWMOD.
* Initial support for DT was added to the Samsung Exynos, Qualcomm MSM86, and Atmel AT91 by Nicolas Ferre
* DT skeleton code was written for the ARM Versatile and ST-E platforms.
The rest of the team primarilly focused on code cleanup and development to work towards a multi-SOC zImage. Nicolas posted and original email with info at http://bit.ly/oVQRQm and folks took individual bits to work on. Russel King was also in attendance and there was good discussion around some of these topics. What we discovered is that many of these issues are multi-layered and as we start cleaning up one bit of code, we need to fix other areas to make them work consistently. The areas we looked into were:
* Replacing low level IO accessor macros with runtime selected functions based on platform type.
* Replacing the global NR_IRQS constant with per-board information
* Removing duplicated low-level serial output functions. Currently the code to print "Uncompressing kernel..." and the code for low-level in-kernel serial output are completely different but could be made to be the same. At the end of the day, the method we're looking at using is providing a special node in the DT that contains the physical mapping of the debug serial registers in place.
* Removing CLOCK_TICK_RATE from the kernel
* Replace CONSISTENT_DMA_SIZE with a runtime variable
* Removing arch_idle() and moving to using the run time selected pm_idle hooks. Similar work to be done with arch_reset()
* Getting rid of VMALLOC_END. Russel and Nicolas agreed that we'll just use a static VMALLOC_END for everyone and insert static I/O mappings in there.
In addition the the above work, KWG members also were involved in discussions about continuous integration and testing of the upstream kernels on ARM platforms, kernel development process at Linaro and how to better stay in sync with upstream, -stable patches for ARM platforms, Android development, and flash storage roadmap to name a few. Overall, the team had an extremely productive week of hacking on existing projects and on coming up with more detailed plans on what other items on which we need to focus.
I want to thank everone on the team for their hard work last week and also the non-Linaro developers David Brown, Will Deacon, Nicolas Ferre, and Marc Zyngier for taking time to join us in hacking and planning.
All together connect was a great technically focused event and I highly encourage folks to join us in Orlando in November. You can register now at http://connect.linaro.org/events/event/linaro-connect-q411/.
Thanks, ~Deepak