A few months ago, we published a blog post showing our contributions to the 3.8 Linux kernel. With 128 commits merged in 3.8, Bootlin was ranked as the 17th company in terms of kernel contributions.
The 3.9 kernel has been released a few weeks ago, with again a significant number of contributions from Bootlin. According to these statistics, Bootlin contributed 92 patches during the 3.9 cycle, making the company the 26th most important contributor to the Linux kernel for this release, and this time, five engineers from Bootlin contributed patches.
Among the contributions that we made:
- Added a basic infrastructure for irqchip drivers in the
drivers/irqchip
directory. This directory is now used to store the drivers for the IRQ controllers of various processors. - Made a number of improvements to the Marvell SDIO driver, including the addition of a Device Tree binding for it, and enabled its usage on Marvell Armada 370 and Armada XP platforms, as well as converting the Marvell Kirkwood platforms to use Device Tree probing instead of legacy probing for their SDIO interface.
- Contributed a number of improvements to support Crystalfontz i.MX28 based modules, including the Device Tree for the CFA10037 expansion board, various improvements for the CFA10049 expansion boards, and a driver for the Himax HX8357B LCD controller.
- A large number of improvements to the support of the Allwinner ARM SoCs, most notably a pinctrl driver for those SoCs, which allows to configure the muxing of I/O pins, and a gpio driver, to use the pins as general-purpose I/Os. We also contributed the support for the Miniand Hackberry platform, based on an Allwinner SoC. This work is all done by our engineer Maxime Ripard, who is the maintainer of the Allwinner SoC support in the Linux kernel.
- Improvements to the PCA953x driver (for I2C GPIO expanders) in order to support the PCA9505 chip, that has 40 GPIOs. This required quite some work, as the PCA953x was originally limited to chips having at most 32 GPIOs. This improvement was done in order to support the GPIO expander box provided by Globalscale for the Armada 370-based Mirabox platform.
- We added support for the Real Time Clock on Armada 370 and Armada XP based platforms, added support for local timers on Armada XP, added support for the new Armada XP GP evaluation board.
- We enabled support for the SPI controllers and the USB controllers on Armada 370 and Armada XP based platforms.
Our high rate of contributions is going to continue, as we already have 95 patches merged for the upcoming 3.10 kernel and have already submitted a number of patches for the 3.11 kernel.
Here are details about our contributions to the 3.9 kernel:
- Alexandre Belloni (1):
- Ezequiel Garcia (13):
- ARM: OMAP2+: gpmc: Remove unneeded of_node_put()
- mtd: omap-onenand: pass device_node in platform data
- ARM: OMAP2+: gpmc-onenand: drop __init annotation
- ARM: OMAP2+: gpmc: add DT bindings for OneNAND
- spi/orion: Use module_platform_driver()
- mtd: physmap_of: Convert device allocation to managed devm_kzalloc()
- arm: mvebu: Update defconfig to select USB support
- ARM: mvebu: Update defconfig to select SPI support
- ARM: mvebu: Update defconfig to select SPI flash and MTD support
- arm: mvebu: Add support for USB host controllers in Armada 370/XP
- arm: mvebu: Enable USB controllers on Armada 370/XP boards
- arm: mvebu: Add support for SPI controller in Armada 370/XP
- arm: mvebu: Add SPI flash on Armada XP-GP board
- Gregory CLEMENT (20):
- arm: mvebu: i2c come back in defconfig
- gpio: pca953x: make the register access by GPIO bank
- gpio: pca953x: add support for pca9505
- gpio: pca953x: use simple irqdomain
- rtc: Add support of rtc-mv for MVEBU SoCs
- arm: mvebu: add RTC support for Armada 370 and Armada XP
- arm: mvebu: Update defconfig with Marvell RTC support
- arm: mvebu: Improve the SMP support of the interrupt controller
- arm: mvebu: Add support for local interrupt
- clocksource: time-armada-370-xp: add local timer support
- arm: mvebu: update defconfig with local timer support
- arm: mvebu: support for the new Armada XP development board(DB-MV784MP-GP)
- arm: mvebu: update defconfig with ATAG support when using DT
- arm: mvebu: Add RTC support for Armada 370 and Armada XP
- arm: mvebu: update DT to support local timers
- clocksource: update and move armada-370-xp-timer documentation to timer directory
- arm: mvebu: Add SPI flash on Armada XP-DB board
- arm: mvebu: Add SPI flash on Armada 370 DB board
- arm: mvebu: Use local interrupt only for the timer 0
- arm: mvebu: Fix the irq map function in SMP mode
- Maxime Ripard (28):
- ARM: dts: cfa10049: Add PCA9555 GPIO expander to the device tree
- ARM: sunxi: Add device tree for Miniand Hackberry
- pinctrl: pinconf-generic: add drive strength parameter
- ARM: sunxi: Add pinctrl driver for Allwinner SoCs
- ARM: pinctrl: sunxi: Add the pinctrl pin set for sun5i
- ARM: sunxi: Add pinctrl node to the device tree
- ARM: sunxi: Add uart1 pinctrl groups
- ARM: sunxi: olinuxino: Add muxing for the uart
- ARM: mxs: dt: Add Crystalfontz CFA-10037 device tree support
- spi: spi-gpio: Add checks for the dt properties
- ARM: dts: cfa10049: Change the SPI3 bus to spi-gpio
- ARM: dts: mxs: Add muxing options for the third PWM
- ARM: dts: mxs: Add the LCD to the 10049 board
- ARM: sunxi: gpio: Add Allwinner SoCs GPIO drivers
- spi: spi-gpio: fix compilation warning on 64 bits systems
- ARM: mxs: dts: Add gpio-keys for the rotary to the CFA-10049
- ARM: mxs: dts: Add rotary encoder to the CFA-10049
- ARM: sunxi: Increase the number of GPIOs available
- pinctrl: sunxi: Document sun5i pins functions
- ARM: pinctrl: sunxi: Add the pinctrl pin set for Allwinner A10
- ARM: sunxi: Add the sun4i pinctrl and gpio nodes
- ARM: sunxi: Add the pin groups for UART0 and UART1 on sun4i
- pinctrl: sunxi: add of_xlate function
- sunxi: Cleanup the reset code and add meaningful registers defines
- sunxi: a13-olinuxino: Add user LED to the device tree
- fb: backlight: add the Himax HX-8357B LCD controller
- ARM: mxs: cfa10049: Fix fb initialisation function
- ARM: multiplatform: Sort the max gpio numbers.
- Thomas Petazzoni (30):
- arm: kirkwood: dockstar: remove useless include of SDIO header
- irqchip: add to the directories part of the IRQ subsystem in MAINTAINERS
- irqchip: add basic infrastructure
- arm: add set_handle_irq() to register the parent IRQ controller handler function
- mmc: mvsdio: use slot-gpio infrastructure for write protect gpio
- mmc: mvsdio: use slot-gpio for card detect gpio
- mmc: mvsdio: implement a Device Tree binding
- mmc: mvsdio: use slot-gpio infrastructure for write protect gpio
- mmc: mvsdio: use slot-gpio for card detect gpio
- mmc: mvsdio: implement a Device Tree binding
- mmc: mvsdio: add pinctrl integration
- arm: mvebu: enable SDIO support in mvebu_defconfig
- arm: mvebu: enable mwifiex driver in mvebu_defconfig
- arm: mvebu: enable btmrvl driver in mvebu_defconfig
- arm: mvebu: add LEDs support to defconfig file
- arm: mvebu: add DT information for the SDIO interface of Armada 370/XP
- arm: mvebu: add pin muxing options for the SDIO interface on Armada 370
- arm: mvebu: add pin muxing options for the SDIO interface on Armada XP
- arm: mvebu: enable the SD card slot on Armada XP DB board
- arm: mvebu: enable the SD card slot on Armada 370 DB board
- arm: mvebu: enable the SDIO interface on the Globalscale Mirabox
- arm: kirkwood: add Device Tree informations for the SDIO controller
- arm: kirkwood: dreamplug: use Device Tree to probe SDIO
- arm: kirkwood: mplcec4: use Device Tree to probe SDIO
- arm: kirkwood: add pinmux option for the SDIO interface on 88F6282
- arm: mvebu: add button for OpenBlocks AX3-4
- arm: plat-orion: fix address decoding when > 4GB is used
- arm: mvebu: fix address-cells in mpic DT node
- arm: mach-orion5x: fix typo in compatible string of a .dts file
- net: mvmdio: add select PHYLIB