Linus Torvalds has recently released the 3.18 version of the Linux kernel. As usual, LWN.net made an excellent coverage of the merge window: part 1, part 2 and part 3.
As of 3.18-rc6, LWN.net gathered some statistics about the 3.18 kernel contributions, and Bootlin is ranked as the 13th contributing company for this release in number of patches (see the statistics), right after MEV Limited and before Qualcomm.
A quick summary of our contributions:
- Improvements to the support of Atmel ARM processors: addition of a memory driver for the RAM controller (Alexandre Belloni), improvements to the irqchip driver to support the new SAMA5D4 processor (Alexandre Belloni), updates to the defconfigs (Alexandre Belloni), new clock driver for the SAMA5D4 processor (Alexandre Belloni), preparation work for multi-platform (Boris Brezillon), numerous fixes to clock drivers (Boris Brezillon), NAND driver improvements (Boris Brezillon), new reset and poweroff drivers and moved all the corresponding logic to a Device Tree based description (Maxime Ripard), refactoring of the clocksource driver and move to the proper
drivers/clocksource
directory (Maxime Ripard). - Improvements to the support of Marvell EBU ARM processors: XOR driver improvements (Ezequiel Garcia), pin-muxing description in Device Tree for more platforms (Ezequiel Garcia), support for the RTC on Armada 375 (Grégory Clement), support for the Spread Sprectrum Generator on Armada 370 (Grégory Clement), improvements to the support of the Armada 370 RD platform (Thomas Petazzoni), extensions to the cpufreq-dt driver to support platforms with independent clocks for each CPU, various fixes.
- Improvements to the support of Marvell Berlin ARM processors: add support for the Ethernet controller by re-using the existing pxa168_eth driver (Antoine Ténart).
- Improvements to the support of Allwinner ARM processors: addition of the support for a phase property to the Common Clock Framework, and usage in the context of the MMC clock on Allwinner processors (Maxime Ripard).
- Various small UBI improvements (Ezequiel Garcia).
- A number of trivial fixes: removal of IRQF_DISABLED, typo fixes, etc. (Michael Opdenacker).
The detailed list of the patches we have contributed:
- Alexandre Belloni (23):
- ARM: at91: Add new binding for sama5d3-ddramc
- memory: add a driver for atmel ram controllers
- ARM: at91: select ATMEL_SDRAMC when using OF
- clk: at91: remove the useless CLK_IGNORE_UNUSED flag
- ARM: at91/dt: sama5d3: define mpddr clock and ramc clocks
- ARM: at91/dt: at91sam9: use ddrck in ramc
- ARM: at91/dt: sam9x5: fix ADC compatible string
- ARM: at91: fix ramc standby function registration
- ARM: at91: at91_dt: update defconfig
- ARM: at91: at91sam9260_9g20: update defconfig
- ARM: at91: at91sam9261_9g10: update defconfig
- ARM: at91: at91sam9263: update defconfig
- ARM: at91: at91sam9g45: update defconfig
- ARM: at91: at91sam9rl: update defconfig
- ARM: at91: sama5: update defconfig
- irqchip: atmel-aic5: The sama5d3 has 48 IRQs
- irqchip: atmel-aic5: Add sama5d4 support
- ARM: at91/dt: sama5d3: add the nfc clock
- clk: at91: add a driver for the h32mx clock
- ARM: at91: add sama5d4 support to sama5_defconfig
- ARM: at91: document Atmel SMART compatibles
- drivers: video: fbdev: atmel_lcdfb.c: remove unnecessary header
- power: reset: at91-reset: fix power down register
- Antoine Ténart (16):
- pinctrl: berlin: fix the dt_free_map function
- usb: rename phy to usb_phy in HCD
- ahci: fix AHCI parameters not taken into account
- net: pxa168_eth: clean up
- net: pxa168_eth: add device tree support
- Documentation: bindings: net: add the Marvell PXA168 Ethernet controller
- net: pxa168_eth: fix Ethernet flow control status
- net: pxa168_eth: set the mac address on the Ethernet controller
- net: pxa168_eth: rework the MAC address setup
- net: pxa168_eth: allow Berlin SoCs to use the pxa168_eth driver
- net: pxa168_eth: allow to compile the pxa168_eth driver for tests
- ARM: dts: berlin: add the Ethernet node
- ARM: dts: berlin: enable the Ethernet port on the BG2Q DMP
- net: spider_net: do not read mac address again after setting it
- net: spider_net: avoid using signed char for bitops
- net: pxa168_eth: avoid using signed char for bitops
- Boris Brezillon (21):
- ARM: at91: introduce OLD_IRQ_AT91 Kconfig option
- ARM: at91: enclose at91_aic_xx calls in IS_ENABLED(CONFIG_OLD_IRQ_AT91) blocks
- ARM: at91: make use of the new AIC driver for dt enabled boards
- ARM: at91: remove old irq material
- ARM: at91/dt: describe rgmii ethernet phy connected to sama5d3xek boards
- ARM: at91: remove phy fixup for sama5d3xek boards
- clk: at91: fix PLL_MAX_COUNT macro definition
- clk: at91: rework PLL rate calculation
- clk: at91: fix recalc_rate implementation of PLL driver
- clk: at91: rework rm9200 USB clock to propagate set_rate to the parent clk
- clk: at91: fix div by zero in USB clock driver
- mtd: nand: atmel_nand: retrieve NFC clock
- ARM: at91/dt: declare sckc node on at91sam9g45
- mtd: nand: support ONFI timing mode retrieval for non-ONFI NANDs
- mtd: nand: add Hynix’s H27UCG8T2ATR-BC to nand_ids table
- mfd: syscon: Add Atmel GPBR DT bindings documention
- mfd: Inherit coherent_dma_mask from parent device
- ARM: at91/dt: sam9263: fix PLLB frequencies
- irqchip: atmel-aic: Fix irqdomain initialization
- clk: at91: usb: fix at91rm9200 round and set rate
- clk: at91: usb: fix at91sam9x5 recalc, round and set rate
- Ezequiel Garcia (16):
- dma: mv_xor: Add DMA API error checks
- dma: mv_xor: Remove unneeded mv_xor_clean_completed_slots() call
- dma: mv_xor: Remove all callers of mv_xor_slot_cleanup()
- dma: mv_xor: Rename __mv_xor_slot_cleanup() to mv_xor_slot_cleanup()
- ARM: mvebu: Add network pin mux configuration for the Armada 370 SoC
- ARM: mvebu: Add proper pin muxing on Globalscale Mirabox board
- ARM: mvebu: Add proper pin muxing on the Armada 370 DB board
- ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 102
- ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 104
- ARM: mvebu: Add proper pin muxing on Armada 370 RD board
- UBI: block: Fix block device size setting
- UBI: block: Add support for the UBI_VOLUME_UPDATED notification
- UBI: Dispatch update notification if the volume is updated
- dma: mv_xor: Replace printk with dev_info
- dma: mv_xor: Remove all interrupt magic numbers
- dma: mv_xor: Remove dead code
- Gregory CLEMENT (5):
- Maxime Ripard (48):
- power: reset: Add if statement instead of multiple depends on
- power: reset: Add AT91 reset driver
- power: reset: Add AT91 poweroff driver
- ARM: at91/dt: Declare a second ram controller when relevant
- ARM: at91/dt: sama5d3: Add shutdown controller
- ARM: at91: setup: Switch to pr_fmt
- ARM: at91: Rework ramc mapping code
- ARM: at91: Remove the old-style reset probing
- ARM: at91/soc: Introduce register_devices callback
- ARM: at91: Probe the reset driver
- ARM: at91: Call at91_register_devices in the board files
- ARM: at91: Remove reset code from the machine code
- ARM: at91: Remove poweroff DT probing
- ARM: at91: Register the poweroff driver
- ARM: at91: Remove poweroff code
- ARM: at91/pm: Remove show_reset_status function
- ARM: at91: Remove rstc and shdwnc global base addresses
- ARM: at91: Remove rstc and shdwc headers
- ARM: at91: PIT: Follow the general coding rules
- ARM: at91: generic.h: Add include safe guards
- ARM: at91: PIT: Use DIV_ROUND_CLOSEST to compute the cycles
- ARM: at91: PIT: Use of_have_populated_dt instead of CONFIG_OF
- ARM: at91: PIT: Rework probe functions
- ARM: at91: dt: Remove init_time definitions
- ARM: at91: PIT: Use consistent exit path in probe
- ARM: at91: PIT: Use pr_fmt
- ARM: at91: PIT: use request_irq instead of setup_irq
- ARM: at91: PIT: (Almost) remove the global variables
- ARM: at91: soc: Add init_time callback
- ARM: at91: Convert the boards to the init_time callback
- ARM: sun6i: Relicense the A31 DTSI under GPLv2/X11
- ARM: sun7i: Relicense the A20 DTSI under GPLv2/X11
- ARM: sun8i: Relicense the A23 DTSI under GPLv2/X11
- ARM: sunxi: Remove sun4i reboot code from mach directory
- ARM: at91: Give the PIT irq as an argument of at91sam926x_pit_init
- ARM: at91: PIT: Move the driver to drivers/clocksource
- regulator: axp20x: Use parent device as regulator configuration device
- mfd: axp209x: Drop the parent supplies field
- clk: Include of.h in clock-provider.h
- clk: Add a function to retrieve phase
- clk: sunxi: factors: Invert the probing logic
- clk: sunxi: Introduce mbus compatible
- ARM: sunxi: dt: Switch to the new mbus compatible
- clk: sunxi: Move mod0 clock to a file of its own
- clk: sunxi: Move mbus to mod0 file
- clk: sunxi: mod0: Introduce MMC proper phase handling
- dmaengine: sun6i: Fix memcpy operation
- clockevent: sun4i: Fix race condition in the probe code
- Michael Opdenacker (10):
- MIPS: ralink: remove deprecated IRQF_DISABLED
- block: hd: remove deprecated IRQF_DISABLED
- rsxx: Remove deprecated IRQF_DISABLED
- Documentation: fix broken v4l-utils URL
- score: remove deprecated IRQF_DISABLED
- m32r: remove deprecated IRQF_DISABLED
- frv: remove deprecated IRQF_DISABLED
- MAINTAINERS: orphan m32r
- MAINTAINERS: remove Chirag Kantharia, invalid e-mail
- atm: simplify lanai.c by using module_pci_driver
- Thomas Petazzoni (16):
- mtd: spi-nor: add support for Micron M25PX80
- ARM: mvebu: add gpio fan support to Armada 370 RD
- ARM: mvebu: add user LED support of Armada 370 RD
- ARM: mvebu: add LED class support built-in in mvebu_v7_defconfig
- ARM: mvebu: add gpio-fan to mvebu_v7_defconfig
- clk: mvebu: fix sscg node lookup
- Documentation: arm: add hardware datasheet reference for Marvell Armada XP
- ARM: mvebu: switch the Armada 370 RD board to internal registers at 0xf1000000
- PCI: mvebu: Fix uninitialized variable in mvebu_get_tgt_attr()
- cpufreq: allow driver-specific data
- cpufreq: cpufreq-dt: extend with platform_data
- cpufreq: cpufreq-dt: adjust message related to regulators
- ARM: 8180/1: mm: implement no-highmem fast path in kmap_atomic_pfn()
- ARM: mvebu: add missing of_node_put() call in coherency.c
- ASoC: cs42l51: re-hook of_match_table pointer
- ARM: 8222/1: mvebu: enable strex backoff delay