Linux 3.17 has been released a few days ago. One can read the coverage of the 3.17 merge window by LWN (part 1 and part 2) to get some details about the new features brought by this kernel release.
As usual, Bootlin has continued to contribute a significant number of patches to this kernel release, even though with 147 patches, our contribution has been less important than for the 3.16 release for which we contributed 388 patches. With 147 patches merged, Bootlin is the 14th contributing company by the number of patches, according to the statistics.
Our contributions remain mainly focused on support for various families of ARM processors:
- For the Atmel processors
- Switched to use the generic PWM framework instead of custom PWM drivers. This allowed to remove three obsolete drivers (a backlight driver, a LED driver and a misc driver). This work was done by Alexandre Belloni.
- Continue the migration to the common clock framework, by adding clock information to a large number of Atmel boards. Done by Alexandre Belloni.
- Migration of the interrupt controller driver from
arch/arm/mach-at91
todrivers/irqchip
. Done by Boris Brezillon.
- For the Marvell EBU processors (Armada 370, 375, 38x, XP)
- Addition of the
mvpp2
network driver, which is used on the Armada 375 SoC. This work was done by Marcin Wojtas from Semihalf, with a lot of review, help and debugging done by Ezequiel Garcia. - Addition of cpuidle support for Armada 370 and Armada 38x. This work was done by Grégory Clement and Thomas Petazzoni.
- Preparation work to enable cpufreq on Armada XP was merged. However the feature cannot be enabled yet due to missing features in the cpufreq-cpu0 driver. Done by Thomas Petazzoni.
- Addition of the
- For Marvell Berlin processors
- SMP support has been added. Done by Antoine Ténart.
- Description of the I2C controller has been added to the Device Tree. Done by Antoine Ténart.
- Support for AHCI has been added. Also done by Antoine Ténart.
- For Allwinner processors
- New DMA controller driver for the DMA engine of the Allwinner A31 SoC. Done by Maxime Ripard.
- A number of fixes and improvements to the pin-muxing driver for Allwinner platforms. Done by Maxime Ripard.
- Support for the Merrii A31 Hummingbird board has been added. Done by Maxime Ripard.
- Other changes
- Addition of a helper function to convert an ONFI timing mode into the according NAND timings. Done by Boris Brezillon.
- Addition of a driver for the Foxlink FL500WVR00-A0T panel. Done by Boris Brezillon.
The detailed list of our contributions:
- Alexandre Belloni (59):
- clk: at91: main: warn when the main crystal frequency is not set
- ARM: at91: at91sam9g45: switch to generic PWM framework
- ARM: at91: sam9m10g45ek: use generic leds_pwm driver
- ARM: at91: at91sam9263: switch to generic PWM framework
- ARM: at91: sam9263ek: use generic leds_pwm driver
- ARM: at91: at91sam9rl: switch to generic PWM framework
- ARM: at91: remove useless at91_pwm_leds()
- PWM: atmel: allow building for AVR32
- avr32/at32ap: switch to the generic PWM framework
- avr32: MRMT: use generic leds_pwm driver
- avr32: merisc: use generic leds_pwm driver
- avr32: favr-32: use generic pwm_bl driver
- avr32: update defconfig to use the generic PWM framework
- backlight: atmel-pwm-bl: remove obsolete driver
- leds: atmel-pwm: remove obsolete driver
- misc: atmel_pwm: remove obsolete driver
- ARM: at91/dt: sam9261 crystals under the clocks node
- ARM: at91/dt: sam9n12 crystals under the clocks node
- ARM: at91/dt: sam9rl crystals under the clocks node
- ARM: at91/dt: sam9x5 crystals under the clocks node
- ARM: at91/dt: sama5d3 crystals under the clocks node
- Documentation: dt: document all the atmel pmc compatibles
- ARM: at91/dt: ariag25: define crystals frequencies
- ARM: at91: prepare common clk transition for rm9200
- ARM: at91/dt: rm9200: define clocks
- ARM: at91: move at91rm9200 SoC to the CCF
- ARM: at91/dt: at91rm9200ek: define crystals frequencies
- ARM: at91: prepare common clk transition for sam9260
- ARM: at91/dt: sam9260: define clocks
- ARM: at91/dt: sam9g20: define clocks
- ARM: at91: move at91sam9260 SoCs to the CCF
- ARM: at91/dt: at91sam9g20ek: define crystals frequencies
- ARM: at91/dt: foxg20: define crystals frequencies
- ARM: at91/dt: usb_a9260: define crystals frequencies
- ARM: at91/dt: tny_a9260: define crystals frequencies
- ARM: at91/dt: qil_a9260: define crystals frequencies
- ARM: at91/dt: mpa1600: define crytals frequencies
- ARM: at91/dt: ge863-pro3: define main crystal frequency
- ARM: at91/dt: aks-cdu: define slow crytal frequency
- ARM: at91/dt: evk-pro3: define slow crytal frequency
- ARM: at91/dt: ethernut5: define crystals frequencies
- ARM: at91/dt: animeo_ip: define crystals frequencies
- ARM: at91/dt: kizbox: define main crystal frequency
- ARM: at91: prepare common clk transition for sam9g45
- ARM: at91/dt: sam9g45: define clocks
- ARM: at91: move at91sam9g45 SoC to the CCF
- ARM: at91/dt: sam9m10g45ek: define crystals frequencies
- ARM: at91/dt: pm9g45: crystals frequencies
- ARM: at91/dt: cosino define crystals frequencies
- ARM: at91: prepare common clk transition for sam9263
- ARM: at91/dt: sam9263: define clocks
- ARM: at91: move at91sam9263 SoC to the CCF
- ARM: at91/dt: sam9263ek: define crystals frequencies
- ARM: at91/dt: tny_a9263: define crystals frequencies
- ARM: at91/dt: usb_a9263: define crystals frequencies
- ARM: dt: imx28-cfa10036: introduce a regulator for mmc0
- dma: at_hdmac: fix invalid remaining bytes detection
- ARM: at91: rm9200: fix clock registration
- ARM: at91/dt: rm9200: fix usb clock definition
- Antoine Ténart (13):
- ARM: dts: berlin: add I2C nodes for BG2Q
- ARM: berlin: add SMP support
- ARM: dts: berlin: enable i2c0 and i2c2
- Documentation: bindings: add the Berlin CPU control doc
- Documentation: bindings: add the marvell,berlin-smp CPU enable method
- ARM: dts: berlin: add SMP related nodes and properties for BG2
- ARM: dts: berlin: add SMP related nodes and properties for BG2Q
- phy: add a driver for the Berlin SATA PHY
- Documentation: bindings: add the Berlin SATA PHY
- ata: libahci_platform: move port_map parameters into the AHCI structure
- ata: libahci: allow to use multiple PHYs
- ata: ahci_platform: add a generic AHCI compatible
- Documentation: bindings: document the sub-nodes AHCI bindings
- Boris BREZILLON (11):
- drm/panel: add support for Foxlink FL500WVR00-A0T panel
- genirq: generic chip: Export irq_map_generic_chip function
- irqchip: atmel-aic: Move binding doc to interrupt-controller directory
- irqchip: atmel-aic: Add atmel AIC/AIC5 drivers
- irqchip: atmel-aic: Add irq fixup infrastructure
- irqchip: atmel-aic: Implement RTC irq fixup
- irqchip: atmel-aic: Define irq fixups for atmel SoCs
- mtd: nand: define struct nand_timings
- mtd: nand: add ONFI timing mode to nand_timings converter
- mtd: nand: fix DocBook warnings on nand_sdr_timings doc
- clk: at91: fix num_parents test in at91sam9260 slow clk implementation
- Ezequiel Garcia (13):
- ARM: mvebu: Don’t apply the thermal quirk if the SoC revision is unknown
- mtd: Add sysfs attributes to expose the ECC stats fields
- mtd: Introduce mtd_block_isreserved()
- mtd: Account for BBT blocks when a partition is being allocated
- ARM: pxa: Move iotable mapping inside vmalloc region
- ARM: mvebu: Add support for the network controller in Armada 375 SoC
- ARM: mvebu: Enable the network controller in Armada 375 DB board
- net: mvpp2: Fix a typo in the license
- net: mvpp2: Fix the BM pool buffer release check
- net: mvpp2: Simplify BM pool buffers freeing
- ARM: mvebu: Add missing MDIO clock in Armada 375
- UBI: block: Make ubiblock_resize return something
- UBI: block: Set disk_capacity out of the mutex
- Gregory CLEMENT (16):
- ARM: mvebu: Use the a standard errno in mvebu_get_soc_id
- ARM: mvebu: Use system controller to get the soc id when possible
- ARM: mvebu: defconfig: enable cpuidle support in mvebu_v7_defconfig
- ARM: mvebu: add CA9 MPcore SoC Controller node
- ARM: mvebu: split again armada_370_xp_pmsu_idle_enter() in PMSU code
- ARM: mvebu: sort the #include of pmsu.c in alphabetic order
- ARM: mvebu: add a common function for the boot address work around
- ARM: mvebu: use the common function for Armada 375 SMP workaround
- ARM: mvebu: rename the armada_370_xp symbols to mvebu_v7 in pmsu.c
- ARM: mvebu: make the cpuidle initialization more generic
- ARM: mvebu: use a local variable to store the resume address
- ARM: mvebu: make the snoop disabling optional in mvebu_v7_pmsu_idle_prepare()
- ARM: mvebu: export the SCU address
- cpuidle: mvebu: rename the driver from armada-370-xp to mvebu-v7
- ARM: mvebu: add cpuidle support for Armada 370
- ARM: mvebu: add cpuidle support for Armada 38x
- Maxime Ripard (14):
- pinctrl: sunxi: Remove irq_mask_ack and use irq_ack instead
- pinctrl: sunxi: Add macro definition for pinctrl with more than one interrupt
- pinctrl: sunxi: Declare the number of interrupt banks in the descriptor
- pinctrl: sunxi: Declare the interrupt function for the A31
- pinctrl: sunxi: Implement multiple interrupt banks support
- pinctrl: sunxi: Remove PINCTRL_SUNXI
- ARM: dts: sun6i: Add Merrii A31 Hummingbird support
- Documentation: dt: Add Allwinner A31 DMA controller bindings
- dmaengine: sun6i: Add driver for the Allwinner A31 DMA controller
- dmaengine: sun6i: Remove switch statement from buswidth convertion routine
- dmaengine: sun6i: Free the interrupt before killing the tasklet
- dmaengine: sun6i: Fix memory leaks
- wdt: sunxi: Move restart code to the watchdog driver
- dmaengine: sun6i: depends on RESET_CONTROLLER
- Michael Opdenacker (1):
- Thomas Petazzoni (20):
- ARM: mvebu: mark armada_370_xp_pmsu_idle_prepare() as static
- ARM: mvebu: remove stub implementation of CPU hotplug on Armada 375/38x
- ARM: mvebu: slightly refactor/rename PMSU idle related functions
- ARM: mvebu: export PMSU idle enter/exit functions
- ARM: mvebu: implement CPU hotplug support for Armada XP
- Documentation: arm: add URLs to public datasheets for the Marvell Armada 370 SoC
- ARM: mvebu: add appended DTB support in mvebu_v5_defconfig
- ARM: mvebu: add devtmpfs to mvebu_v5_defconfig
- ARM: mvebu: update mvebu_v7_defconfig with cpufreq support
- ARM: mvebu: update Armada XP DT for dynamic frequency scaling
- ARM: mvebu: ensure CPU clocks are enabled
- ARM: mvebu: extend PMSU code to support dynamic frequency scaling
- clk: mvebu: extend clk-cpu for dynamic frequency scaling
- cpuidle: mvebu: add Armada 370 support
- cpuidle: mvebu: add Armada 38x support
- Documentation: arm: add URLs to public datasheets for the Marvell Armada XP SoC
- Documentation: arm: misc updates to Marvell EBU SoC status
- spi: orion: fix incorrect handling of cell-index DT property
- net: mvpp2: fix 10 Mbit/s usage
- net: mvpp2: implement ioctl() operation for PHY ioctls