Linus Torvalds has just released the 3.14 version of the Linux kernel. As usual, it incorporates a large number of changes, for which a good summary is available on the KernelNewbies site.
This time around, Bootlin is the 19th company contributing to this kernel release, by number of patches, right between Cisco and Renesas. Six of our engineers have contributed to this release: Maxime Ripard, Alexandre Belloni, Ezequiel Garcia, Grégory Clement, Michael Opdenacker and Thomas Petazzoni. In total, they have contributed 121 patches to this kernel release.
- By far, the largest number of patches are related to the addition of NAND support for the Armada 370 and Armada XP processors. This required a significant effort, done by Ezequiel Garcia, to re-use the existing
pxa3xx_nand
driver and extend it to cover the specificities of the Armada 370/XP NAND controller. And these specificities were quite complicated, involving a large number of changes to the driver, which all had to also be validated on existing PXA3xx hardware to not introduce any regression. - Support for high speed timers on various Allwinner SOCs has been added by Maxime Ripard.
- Support for the Allwinner reset controller has been implemented by Maxime Ripard.
- SMP support for the Allwinner A31 SOC was added by Maxime Ripard.
- A number of small fixes and improvements were made to the AT91 pinctrl driver and the pinctrl subsystem by Alexandre Belloni.
- Michael Opdenacker continued his quest to finally get rid of the
IRQF_DISABLED
flag. - A number of fixes and improvements were made by Grégory Clement and Thomas Petazzoni on various Armada 370/XP drivers: fix for the I2C controller on certain early Armada XP revisions, fixes to make the Armada 370/XP network driver usable as a module, etc.
In detail, our contributions were:
- Alexandre Belloni (10):
- iio: mxs-lradc: compute temperature from channel 8 and 9
- pinctrl: at91: correct a few typos
- pinctrl: at91: initialize config parameter to 0
- pinctrl: pinconf: remove checks on ops->pin_config_get
- pinctrl: at91: implement at91_pinconf_dbg_show
- pinctrl: pinconf: remove warning: unused variable ‘ops’
- iio: mxs-lradc: convert is_divided to a bitmap
- mmc: atmel-mci: add vmmc-supply support
- iio: mxs-lradc: fix buffer overflow
- iio: mxs-lradc: remove useless scale_available files
- Ezequiel Garcia (56):
- ARM: mvebu: config: Add GPIO connected LEDs support to defconfig
- ARM: mvebu: Add support for NAND controller in Armada 370/XP
- ARM: mvebu: Enable NAND controller in Armada XP GP board
- ARM: mvebu: Enable NAND controller in Armada 370 Mirabox
- spi: spi-gpio: Use ‘cansleep’ variants to access GPIO
- bus: mvebu-mbus: Remove deprecated comment
- clk: mvebu: Add Core Divider clock
- clk: fixed-factor: Fix device-tree binding typo
- clocksource: armada-370-xp: Enable timer divider only when needed
- ARM: mvebu: Enable NAND controller in A370 Reference Design board
- ARM: mvebu: config: Enable NAND support
- dma: edma: Set debug level to debugging messages
- can: ti_hecc: Replace platform dependency with ARM dependency
- usb: musb: Rework USB and USB_GADGET dependency
- usb: musb: Remove usb_disable() check in module_init()
- mtd: nand: omap2: Fix OMAP_BCH option dependency
- mtd: nand: pxa3xx: devicetree binding update
- mtd: nand: pxa3xx: Add documentation about the controller
- mtd: nand: pxa3xx: Make config menu show supported platforms
- mtd: nand: pxa3xx: Prevent sub-page writes
- mtd: nand: pxa3xx: read_page() returns max_bitflips
- mtd: nand: pxa3xx: Early variant detection
- mtd: nand: pxa3xx: Use chip->cmdfunc instead of the internal
- mtd: nand: pxa3xx: Split FIFO size from to-be-read FIFO count
- mtd: nand: pxa3xx: Replace host->page_size by mtd->writesize
- mtd: nand: pxa3xx: Add a nice comment to pxa3xx_set_datasize()
- mtd: nand: pxa3xx: Use a completion to signal device ready
- mtd: nand: pxa3xx: Use waitfunc() to wait for the device to be ready
- mtd: nand: pxa3xx: Add bad block handling
- mtd: nand: pxa3xx: Add driver-specific ECC BCH support
- mtd: nand: pxa3xx: Clear cmd buffer #3 (NDCB3) on command start
- mtd: nand: pxa3xx: Add helper function to set page address
- mtd: nand: pxa3xx: Remove READ0 switch/case falltrough
- mtd: nand: pxa3xx: Split prepare_command_pool() in two stages
- mtd: nand: pxa3xx: Move the data buffer clean to prepare_start_command()
- mtd: nand: pxa3xx: Fix SEQIN column address set
- mtd: nand: pxa3xx: Add a read/write buffers markers
- mtd: nand: pxa3xx: Introduce multiple page I/O support
- mtd: nand: pxa3xx: Add multiple chunk write support
- mtd: nand: pxa3xx: Add ECC BCH correctable errors detection
- mtd: nand: refactor print messages
- MAINTAINERS: mtd: add PXA3xx NAND driver to MAINTAINERS
- mtd: nand: sh_flctl: Remove unneeded CONFIG_OF
- mtd: nand: pxa3xx: Clear need_wait flag when starting a command
- mtd: nand: pxa3xx: Use extended cmdfunc() only if needed
- mtd: nand: pxa3xx: Consolidate ECC initialization
- mtd: Hide CONFIG_MTD_BLKDEVS from the menu
- ARM: OMAP2+: Select USB PHY for AM335x SoC
- ARM: OMAP2+: gpmc: Move initialization outside the gpmc_t condition
- ARM: OMAP2+: gpmc: Introduce gpmc_set_legacy()
- ARM: OMAP2+: gpmc: Move legacy GPMC width setting
- mtd: nand: pxa3xx: Add “armada370-nand” compatible
- ARM: kirkwood: kirkwood_pm_init() should return void
- dma: omap: Set debug level to debugging messages
- ARM: 7930/1: Introduce atomic MMIO modify
- ata: sata_mv: Cleanup only the initialized ports
- Gregory CLEMENT (5):
- ARM: mvebu: Add support to get the ID and the revision of a SoC
- ARM: mvebu: Add quirk for i2c for the OpenBlocks AX3-4 board
- i2c: mv64xxx: Fix bus hang on A0 version of the Armada XP SoCs
- i2c: mv64xxx: Document the newly introduced Armada XP A0 compatible
- ARM: mvebu: Fix kernel hang in mvebu_soc_id_init() when of_iomap failed
- Maxime Ripard (24):
- reset: Add Allwinner SoCs Reset Controller Driver
- ARM: sunxi: Select ARCH_HAS_RESET_CONTROLLER
- ARM: sunxi: Register the A31 reset IP in init_time
- ARM: sun6i: Add the reset controller to the DTSI
- clockevent: sun4i: Fill the irq field in the clockevent structure
- clocksource: sun4i: Change CPU mask to cpu_possible_mask
- clocksource: sun4i: Increase a bit the clock event and sources rating
- clocksource: Add Allwinner SoCs HS timers driver
- ARM: sun5i: a10s: Add support for the High Speed Timers
- ARM: sun5i: a13: Add support for the High Speed Timers
- ARM: sun7i: a20: Add support for the High Speed Timers
- ARM: sun6i: dt: Add IP needed to bring up the additional cores
- ARM: sun6i: Add SMP support for the Allwinner A31
- ARM: sun4i: dt: Move the aliases to the DTSI
- ARM: sun4i: dt: Remove chosen nodes
- ARM: sunxi: Select RESET_CONTROLLER
- MAINTAINERS: Update Allwinner sunXi maintainer files
- net: ethernet: sunxi: Add new compatibles
- net: phy: sunxi: Add new compatibles
- ARM: sunxi: dt: Convert to the new net compatibles
- ARM: sun7i: dt: Fix interrupt trigger types
- ARM: sunxi: dt: Change the touchscreen compatibles
- misc: eeprom: sunxi: Add new compatibles
- ARM: sunxi: dt: Convert to the new SID compatibles
- Michael Opdenacker (15):
- NVMe: remove deprecated IRQF_DISABLED
- arm: plat-orion: remove deprecated IRQF_DISABLED
- ARM: ep93xx: remove deprecated IRQF_DISABLED
- drivers/cdrom/gdrom.c: remove deprecated IRQF_DISABLED
- clocksource: misc drivers: Remove deprecated IRQF_DISABLED
- clocksource: tegra: Remove deprecated IRQF_DISABLED
- clocksource: vt8500: Remove deprecated IRQF_DISABLED
- ARM: SAMSUNG: remove unused SAMSUNG_GPIOLIB_4BIT Kconfig parameter
- ARM: SAMSUNG: remove IRQF_DISABLED
- ARM: pxa: remove IRQF_DISABLED
- powerpc: Remove unused REDBOOT Kconfig parameter
- cris: remove deprecated IRQF_DISABLED
- xtensa: remove unused XTENSA_ISS_NETWORK Kconfig parameter
- ipmi: remove deprecated IRQF_DISABLED
- MAINTAINERS: blackfin: add git repository
- Thomas Petazzoni (11):
- ARM: kirkwood: enable HIGHMEM in defconfig
- ARM: mvebu: move ARMADA_XP_MAX_CPUS to armada-370-xp.h
- ARM: mvebu: fix register length for Armada XP PMSU
- ARM: mvebu: remove prototypes of non-existing functions from common.h
- ARM: mvebu: move Armada 370/XP specific definitions to armada-370-xp.h
- PCI: mvebu: Call pci_ioremap_io() at startup instead of dynamically
- net: ethernet: update dependency and help text of mvneta
- ARM: 7980/1: kernel: improve error message when LPAE config doesn’t match CPU
- net: mvneta: rename MVNETA_GMAC2_PSC_ENABLE to MVNETA_GMAC2_PCS_ENABLE
- net: mvneta: fix usage as a module on RGMII configurations
- net: mvneta: use devm_ioremap_resource() instead of of_iomap()