30 May, 2012

13 commits

  • Pull MIPS updates from Ralf Baechle:
    "The whole series has been sitting in -next for quite a while with no
    complaints. The last change to the series was before the weekend the
    removal of an SPI patch which Grant - even though previously acked by
    himself - appeared to raise objections. So I removed it until the
    situation is clarified. Other than that all the patches have the acks
    from their respective maintainers, all MIPS and x86 defconfigs are
    building fine and I'm not aware of any problems introduced by this
    series.

    Among the key features for this patch series is a sizable patchset for
    Lantiq which among other things introduces support for Lantiq's
    flagship product, the FALCON SOC. It also means that the opensource
    developers behind this patchset have overtaken Lantiq's competing
    inhouse development team that was working behind closed doors.

    Less noteworthy the ath79 patchset which adds support for a few more
    chip variants, cleanups and fixes. Finally the usual dose of tweaking
    of generic code."

    Fix up trivial conflicts in arch/mips/lantiq/xway/gpio_{ebu,stp}.c where
    printk spelling fixes clashed with file move and eventual removal of the
    printk.

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (81 commits)
    MIPS: lantiq: remove orphaned code
    MIPS: Remove all -Wall and almost all -Werror usage from arch/mips.
    MIPS: lantiq: implement support for FALCON soc
    MTD: MIPS: lantiq: verify that the NOR interface is available on falcon soc
    MTD: MIPS: lantiq: implement OF support
    watchdog: MIPS: lantiq: implement OF support and minor fixes
    SERIAL: MIPS: lantiq: implement OF support
    GPIO: MIPS: lantiq: convert gpio-stp-xway to OF
    GPIO: MIPS: lantiq: convert gpio-mm-lantiq to OF and of_mm_gpio
    GPIO: MIPS: lantiq: move gpio-stp and gpio-ebu to the subsystem folder
    MIPS: pci: convert lantiq driver to OF
    MIPS: lantiq: convert dma to platform driver
    MIPS: lantiq: implement support for clkdev api
    MIPS: lantiq: drop ltq_gpio_request() and gpio_to_irq()
    OF: MIPS: lantiq: implement irq_domain support
    OF: MIPS: lantiq: implement OF support
    MIPS: lantiq: drop mips_machine support
    OF: PCI: const usage needed by MIPS
    MIPS: Cavium: Remove smp_reserve_lock.
    MIPS: Move cache setup to setup_arch().
    ...

    Linus Torvalds
     
  • Adds device tree support for rtc-lpc32xx.c

    Signed-off-by: Roland Stigge
    Acked-by: Rob Herring
    Acked-by: Arnd Bergmann
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roland Stigge
     
  • SPEAr platforms now support DT and so must convert all drivers support DT.
    This patch adds DT probing support for rtc and updates its documentation
    too.

    Signed-off-by: Viresh Kumar
    Cc: Stefan Roese
    Cc: Arnd Bergmann
    Cc: Alessandro Zummo
    Cc: Rajeev Kumar
    Cc: Rob Herring
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Viresh Kumar
     
  • Add sub-driver for the LEDs on National Semiconductor / TI LM3533 lighting
    power chips.

    The chip provides 256 brightness levels, hardware accelerated blinking as
    well as ambient-light-sensor and pwm input control.

    Signed-off-by: Johan Hovold
    Cc: Richard Purdie
    Cc: Rob Landley
    Cc: Samuel Ortiz
    Cc: Jonathan Cameron
    Cc: Greg Kroah-Hartman
    Cc: Florian Tobias Schandinat
    Cc: Arnd Bergmann
    Cc: Mark Brown
    Cc: Bryan Wu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johan Hovold
     
  • The leds timer trigger does not currently have an interface to activate a
    one shot timer. The current support allows for setting two timers, one
    for specifying how long a state to be on, and the second for how long the
    state to be off. The delay_on value specifies the time period an LED
    should stay in on state, followed by a delay_off value that specifies how
    long the LED should stay in off state. The on and off cycle repeats until
    the trigger gets deactivated. There is no provision for one time
    activation to implement features that require an on or off state to be
    held just once and then stay in the original state forever.

    Without one shot timer interface, user space can still use timer trigger
    to set a timer to hold a state, however when user space application
    crashes or goes away without deactivating the timer, the hardware will be
    left in that state permanently.

    As a specific example of this use-case, let's look at vibrate feature on
    phones. Vibrate function on phones is implemented using PWM pins on SoC
    or PMIC. There is a need to activate one shot timer to control the
    vibrate feature, to prevent user space crashes leaving the phone in
    vibrate mode permanently causing the battery to drain.

    This trigger exports three properties, activate, state, and duration When
    transient trigger is activated these properties are set to default values.

    - duration allows setting timer value in msecs. The initial value is 0.
    - activate allows activating and deactivating the timer specified by
    duration as needed. The initial and default value is 0. This will allow
    duration to be set after trigger activation.
    - state allows user to specify a transient state to be held for the specified
    duration.

    Signed-off-by: Shuah Khan
    Cc: Jonas Bonn
    Cc: Richard Purdie
    Cc: NeilBrown
    Cc: Bryan Wu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shuah Khan
     
  • Add sub-driver for the backlights on National Semiconductor / TI LM3533
    lighting power chips.

    The chip provides 256 brightness levels and ambient-light-sensor and pwm
    input control.

    [akpm@linux-foundation.org: fix warning]
    [akpm@linux-foundation.org: fix the type of `mode']
    Signed-off-by: Johan Hovold
    Cc: Richard Purdie
    Cc: Rob Landley
    Cc: Samuel Ortiz
    Cc: Jonathan Cameron
    Cc: Greg Kroah-Hartman
    Cc: Florian Tobias Schandinat
    Cc: Arnd Bergmann
    Cc: Mark Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johan Hovold
     
  • Presently, at removal of cgroup, ->pre_destroy() is called and moves
    charges to the parent cgroup. A major reason for returning -EBUSY from
    ->pre_destroy() is that the 'moving' hits the parent's resource
    limitation. It happens only when use_hierarchy=0.

    Considering use_hierarchy=0, all cgroups should be flat. So, no one
    cannot justify moving charges to parent...parent and children are in flat
    configuration, not hierarchical.

    This patch modifes the code to move charges to the root cgroup at
    rmdir/force_empty if use_hierarchy==0. This will much simplify rmdir()
    and reduce error in ->pre_destroy.

    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Aneesh Kumar K.V
    Cc: Michal Hocko
    Cc: Johannes Weiner
    Cc: Frederic Weisbecker
    Cc: Ying Han
    Cc: Glauber Costa
    Reviewed-by: Tejun Heo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • When killing a res_counter which is a child of other counter, we need to
    do

    res_counter_uncharge(child, xxx)
    res_counter_charge(parent, xxx)

    This is not atomic and wastes CPU. This patch adds
    res_counter_uncharge_until(). This function's uncharge propagates to
    ancestors until specified res_counter.

    res_counter_uncharge_until(child, parent, xxx)

    Now the operation is atomic and efficient.

    Signed-off-by: Frederic Weisbecker
    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Aneesh Kumar K.V
    Cc: Michal Hocko
    Cc: Johannes Weiner
    Cc: Ying Han
    Cc: Glauber Costa
    Reviewed-by: Tejun Heo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Frederic Weisbecker
     
  • This patch changes memcg's behavior at task_move().

    At task_move(), the kernel scans a task's page table and move the changes
    for mapped pages from source cgroup to target cgroup. There has been a
    bug at handling shared anonymous pages for a long time.

    Before patch:
    - The spec says 'shared anonymous pages are not moved.'
    - The implementation was 'shared anonymoys pages may be moved'.
    If page_mapcount
    Signed-off-by: KAMEZAWA Hiroyuki
    Acked-by: Michal Hocko
    Cc: Johannes Weiner
    Cc: Naoya Horiguchi
    Cc: Glauber Costa
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • Update Documentation/vm/transhuge.txt and
    Documentation/filesystems/proc.txt with some information on monitoring
    transparent huge page usage and the associated overhead.

    Signed-off-by: Mel Gorman
    Signed-off-by: Andrea Arcangeli
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     
  • Remove vmtruncate_range(), and remove the truncate_range method from
    struct inode_operations: only tmpfs ever supported it, and tmpfs has now
    converted over to using the fallocate method of file_operations.

    Update Documentation accordingly, adding (setlease and) fallocate lines.
    And while we're in mm.h, remove duplicate declarations of shmem_lock() and
    shmem_file_setup(): everyone is now using the ones in shmem_fs.h.

    Based-on-patch-by: Cong Wang
    Signed-off-by: Hugh Dickins
    Cc: Christoph Hellwig
    Cc: Cong Wang
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • The hierarchical versions of per-memcg counters in memory.stat are all
    calculated the same way and are all named total_.

    Documenting the pattern is easier for maintenance than listing each
    counter twice.

    Signed-off-by: Johannes Weiner
    Acked-by: Michal Hocko
    Acked-by: KOSAKI Motohiro
    Acked-by: Ying Han
    Randy Dunlap
    Acked-by: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • Pull MFD changes from Samuel Ortiz:
    "Besides the usual cleanups, this one brings:

    * Support for 5 new chipsets: Intel's ICH LPC and SCH Centerton,
    ST-E's STAX211, Samsung's MAX77693 and TI's LM3533.

    * Device tree support for the twl6040, tps65910, da9502 and ab8500
    drivers.

    * Fairly big tps56910, ab8500 and db8500 updates.

    * i2c support for mc13xxx.

    * Our regular update for the wm8xxx driver from Mark."

    Fix up various conflicts with other trees, largely due to ab5500 removal
    etc.

    * tag 'mfd-3.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (106 commits)
    mfd: Fix build break of max77693 by adding REGMAP_I2C option
    mfd: Fix twl6040 build failure
    mfd: Fix max77693 build failure
    mfd: ab8500-core should depend on MFD_DB8500_PRCMU
    gpio: tps65910: dt: process gpio specific device node info
    mfd: Remove the parsing of dt info for tps65910 gpio
    mfd: Save device node parsed platform data for tps65910 sub devices
    mfd: Add r_select to lm3533 platform data
    gpio: Add Intel Centerton support to gpio-sch
    mfd: Emulate active low IRQs as well as active high IRQs for wm831x
    mfd: Mark two lm3533 zone registers as volatile
    mfd: Fix return type of lm533 attribute is_visible
    mfd: Enable Device Tree support in the ab8500-pwm driver
    mfd: Enable Device Tree support in the ab8500-sysctrl driver
    mfd: Add support for Device Tree to twl6040
    mfd: Register the twl6040 child for the ASoC codec unconditionally
    mfd: Allocate twl6040 IRQ numbers dynamically
    mfd: twl6040 code cleanup in interrupt initialization part
    mfd: Enable ab8500-gpadc driver for Device Tree
    mfd: Prevent unassigned pointer from being used in ab8500-gpadc driver
    ...

    Linus Torvalds
     

29 May, 2012

4 commits

  • Pull documentation updates from Jiri Kosina:
    "I am currently relaying documentation patches through 'doc' branch of
    trivial tree, until Rob, the new documentation maintainer, has
    established a proper tree."

    * 'doc' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
    doc: ext3: update documentation with barrier=1 default
    Documentation/initrd.txt: Change the location of util-linux
    Documentation/SubmittingPatches: suggested the use of scripts/get_maintainer.pl
    Documentation/kernel-parameters: remove autotest and mcatest

    Linus Torvalds
     
  • Pull kconfig changes from Michal Marek:

    - Error handling for make KCONFIG_ALLCONFIG= all*config plus a fix
    for a bug that was exposed by this

    - Fix for the script/config utility.

    * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    scripts/config: properly report and set string options
    kbuild: all{no,yes,mod,def,rand}config only read files when instructed to.
    kconfig: Add error handling to KCONFIG_ALLCONFIG

    Linus Torvalds
     
  • Pull kbuild updates from Michal Marek.

    Fixed up nontrivial merge conflict in Makefile as per Stephen Rothwell
    and linux-next (and trivial arch/sparc/Makefile changes due to removed
    sparc32 logic).

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    mips: Fix KBUILD_CPPFLAGS definition
    kbuild: fix ia64 link
    kbuild: document KBUILD_LDS, KBUILD_VMLINUX_{INIT,MAIN} and LDFLAGS_vmlinux
    kbuild: link of vmlinux moved to a script
    kbuild: refactor final link of sparc32
    kbuild: drop unused KBUILD_VMLINUX_OBJS from top-level Makefile
    kbuild: Makefile: remove unnecessary check for m68knommu ARCH

    Linus Torvalds
     
  • Pull writeback tree from Wu Fengguang:
    "Mainly from Jan Kara to avoid iput() in the flusher threads."

    * tag 'writeback' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:
    writeback: Avoid iput() from flusher thread
    vfs: Rename end_writeback() to clear_inode()
    vfs: Move waiting for inode writeback from end_writeback() to evict_inode()
    writeback: Refactor writeback_single_inode()
    writeback: Remove wb->list_lock from writeback_single_inode()
    writeback: Separate inode requeueing after writeback
    writeback: Move I_DIRTY_PAGES handling
    writeback: Move requeueing when I_SYNC set to writeback_sb_inodes()
    writeback: Move clearing of I_SYNC into inode_sync_complete()
    writeback: initialize global_dirty_limit
    fs: remove 8 bytes of padding from struct writeback_control on 64 bit builds
    mm: page-writeback.c: local functions should not be exposed globally

    Linus Torvalds
     

27 May, 2012

5 commits

  • Pull i2c-embedded changes from Wolfram Sang:
    "Major changes:

    - lots of devicetree additions for existing drivers. I tried hard to
    make sure the bindings are proper. In more complicated cases, I
    requested acks from people having more experience with them than
    me. That took a bit of extra time and also some time went into
    discussions with developers about what bindings are and what not.
    I have the feeling that the workflow with bindings should be
    improved to scale better. I will spend some more thought on
    this...

    - i2c-muxes are succesfully used meanwhile, so we dropped
    EXPERIMENTAL for them and renamed the drivers to a standard pattern
    to match the rest of the subsystem. They can also be used with
    devicetree now.

    - ixp2000 was removed since the whole platform goes away.

    - cleanups (strlcpy instead of strcpy, NULL instead of 0)

    - The rest is typical driver fixes I assume.

    All patches have been in linux-next at least since v3.4-rc6."

    Fixed up trivial conflict in arch/arm/mach-lpc32xx/common.c due to the
    same patch already having come in through the arm/soc trees, with
    additional patches on top of it.

    * 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux: (35 commits)
    i2c: davinci: Free requested IRQ in remove
    i2c: ocores: register OF i2c devices
    i2c: tegra: notify transfer-complete after clearing status.
    I2C: xiic: Add OF binding support
    i2c: Rename last mux driver to standard pattern
    i2c: tegra: fix 10bit address configuration
    i2c: muxes: rename first set of drivers to a standard pattern
    of/i2c: implement of_find_i2c_adapter_by_node
    i2c: implement i2c_verify_adapter
    i2c-s3c2410: Add HDMIPHY quirk for S3C2440
    i2c-s3c2410: Rework device type handling
    i2c: muxes are not EXPERIMENTAL anymore
    i2c/of: Automatically populate i2c mux busses from device tree data.
    i2c: Add a struct device * parameter to i2c_add_mux_adapter()
    of/i2c: call i2c_verify_client from of_find_i2c_device_by_node
    i2c: designware: Add clk_{un}prepare() support
    i2c: designware: add PM support
    i2c: ixp2000: remove driver
    i2c: pnx: add device tree support
    i2c: imx: don't use strcpy but strlcpy
    ...

    Linus Torvalds
     
  • Pull arm-soc: soc specific changes (part 2) from Olof Johansson:
    "This adds support for the spear13xx platform, which has first been
    under review a long time ago and finally been completed after generic
    spear work has gone into the clock, dt and pinctrl branches.

    Also a number of updates for the samsung socs are part of this branch."

    Fix up trivial conflicts in drivers/gpio/gpio-samsung.c that look much
    worse than they are: the exonys5 init code was refactored in commit
    fd454997d687 ("gpio: samsung: refactor gpiolib init for exynos4/5"), and
    then commit f10590c9836c ("ARM: EXYNOS: add GPC4 bank instance") added a
    new gpio chip define and did tiny updates to the init code.

    So the conflict diff looks like hell, but it's actually a fairly simple
    change.

    * tag 'soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (34 commits)
    ARM: exynos: fix building with CONFIG_OF disabled
    ARM: EXYNOS: Add AUXDATA for i2c controllers
    ARM: dts: Update device tree source files for EXYNOS5250
    ARM: EXYNOS: Add device tree support for interrupt combiner
    ARM: EXYNOS: Add irq_domain support for interrupt combiner
    ARM: EXYNOS: Remove a new bus_type instance for EXYNOS5
    ARM: EXYNOS: update irqs for EXYNOS5250 SoC
    ARM: EXYNOS: Add pre-divider and fout mux clocks for bpll and mpll
    ARM: EXYNOS: add GPC4 bank instance
    ARM: EXYNOS: Redefine IRQ_MCT_L0,1 definition
    ARM: EXYNOS: Modify the GIC physical address for static io-mapping
    ARM: EXYNOS: Add watchdog timer clock instance
    pinctrl: SPEAr1310: Fix pin numbers for clcd_high_res
    SPEAr: Update MAINTAINERS and Documentation
    SPEAr13xx: Add defconfig
    SPEAr13xx: Add compilation support
    SPEAr13xx: Add dts and dtsi files
    pinctrl: Add SPEAr13xx pinctrl drivers
    pinctrl: SPEAr: Create macro for declaring GPIO PINS
    SPEAr13xx: Add common clock framework support
    ...

    Linus Torvalds
     
  • Pull arm-soc device tree conversions (part 2) from Olof Johansson:
    "These continue the device tree work from part 1, this set is for the
    tegra, mxs and imx platforms, all of which have dependencies on clock
    or pinctrl changes submitted earlier."

    Fix up trivial conflicts due to nearby changes in
    drivers/{gpio/gpio,i2c/busses/i2c}-mxs.c

    * tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (73 commits)
    ARM: dt: tegra: invert status=disable vs status=okay
    ARM: dt: tegra: consistent basic property ordering
    ARM: dt: tegra: sort nodes based on bus order
    ARM: dt: tegra: remove duplicate device_type property
    ARM: dt: tegra: consistenly use lower-case for hex constants
    ARM: dt: tegra: format regs properties consistently
    ARM: dt: tegra: gpio comment cleanup
    ARM: dt: tegra: remove unnecessary unit addresses
    ARM: dt: tegra: whitespace cleanup
    ARM: dt: tegra cardhu: fix typo in SDHCI node name
    ARM: dt: tegra: cardhu: register core regulator tps62361
    ARM: dt: tegra30.dtsi: Add SMMU node
    ARM: dt: tegra20.dtsi: Add GART node
    ARM: dt: tegra30.dtsi: Add Memory Controller(MC) nodes
    ARM: dt: tegra20.dtsi: Add Memory Controller(MC) nodes
    ARM: dt: tegra: Add device tree support for AHB
    ARM: dts: enable audio support for imx28-evk
    ARM: dts: enable i2c device for imx28-evk
    i2c: mxs: add device tree probe support
    ARM: dts: enable mmc for imx28-evk
    ...

    Linus Torvalds
     
  • Pull arm-soc clock driver changes from Olof Johansson:
    "The new clock subsystem was merged in linux-3.4 without any users,
    this now moves the first three platforms over to it: imx, mxs and
    spear.

    The series also contains the changes for the clock subsystem itself,
    since Mike preferred to have it together with the platforms that
    require these changes, in order to avoid interdependencies and
    conflicts."

    Fix up trivial conflicts in arch/arm/mach-kirkwood/common.c (code
    removed in one branch, added OF support in another) and
    drivers/dma/imx-sdma.c (independent changes next to each other).

    * tag 'clock' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (97 commits)
    clk: Fix CLK_SET_RATE_GATE flag validation in clk_set_rate().
    clk: Provide dummy clk_unregister()
    SPEAr: Update defconfigs
    SPEAr: Add SMI NOR partition info in dts files
    SPEAr: Switch to common clock framework
    SPEAr: Call clk_prepare() before calling clk_enable
    SPEAr: clk: Add General Purpose Timer Synthesizer clock
    SPEAr: clk: Add Fractional Synthesizer clock
    SPEAr: clk: Add Auxiliary Synthesizer clock
    SPEAr: clk: Add VCO-PLL Synthesizer clock
    SPEAr: Add DT bindings for SPEAr's timer
    ARM i.MX: remove now unused clock files
    ARM: i.MX6: implement clocks using common clock framework
    ARM i.MX35: implement clocks using common clock framework
    ARM i.MX5: implement clocks using common clock framework
    ARM: Kirkwood: Replace clock gating
    ARM: Orion: Audio: Add clk/clkdev support
    ARM: Orion: PCIE: Add support for clk
    ARM: Orion: XOR: Add support for clk
    ARM: Orion: CESA: Add support for clk
    ...

    Linus Torvalds
     
  • Pull arm-soc driver specific updates from Olof Johansson:
    "These changes are specific to some driver that may be used by multiple
    boards or socs. The most significant change in here is the move of
    the samsung iommu code from a platform specific in-kernel interface to
    the generic iommu subsystem."

    Fix up trivial conflicts in arch/arm/mach-exynos/Kconfig

    * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)
    mmc: dt: Consolidate DT bindings
    iommu/exynos: Add iommu driver for EXYNOS Platforms
    ARM: davinci: optimize the DMA ISR
    ARM: davinci: implement DEBUG_LL port choice
    ARM: tegra: Add SMMU enabler in AHB
    ARM: tegra: Add Tegra AHB driver
    Input: pxa27x_keypad add choice to set direct_key_mask
    Input: pxa27x_keypad direct key may be low active
    Input: pxa27x_keypad bug fix for direct_key_mask
    Input: pxa27x_keypad keep clock on as wakeup source
    ARM: dt: tegra: pinmux changes for USB ULPI
    ARM: tegra: add USB ULPI PHY reset GPIO to device tree
    ARM: tegra: don't hard-code USB ULPI PHY reset_gpio
    ARM: tegra: change pll_p_out4's rate to 24MHz
    ARM: tegra: fix pclk rate
    ARM: tegra: reparent sclk to pll_c_out1
    ARM: tegra: Add pllc clock init table
    ARM: dt: tegra cardhu: basic audio support
    ARM: dt: tegra30.dtsi: Add audio-related nodes
    ARM: tegra: add AUXDATA required for audio
    ...

    Linus Torvalds
     

26 May, 2012

3 commits

  • Pull dma-buf updates from Sumit Semwal:
    "Here's the first signed-tag pull request for dma-buf framework. It
    includes the following key items:
    - mmap support
    - vmap support
    - related documentation updates

    These are needed by various drivers to allow mmap/vmap of dma-buf
    shared buffers. Dave Airlie has some prime patches dependent on the
    vmap pull as well."

    * tag 'tag-for-linus-3.5' of git://git.linaro.org/people/sumitsemwal/linux-dma-buf:
    dma-buf: add initial vmap documentation
    dma-buf: minor documentation fixes.
    dma-buf: add vmap interface
    dma-buf: mmap support

    Linus Torvalds
     
  • Pull slave-dmaengine updates from Vinod Koul:
    "Nothing exciting this time, odd fixes in a bunch of drivers"

    * 'next' of git://git.infradead.org/users/vkoul/slave-dma:
    dmaengine: at_hdmac: take maxburst from slave configuration
    dmaengine: at_hdmac: remove ATC_DEFAULT_CTRLA constant
    dmaengine: at_hdmac: remove some at_dma_slave comments
    dma: imx-sdma: make channel0 operations atomic
    dmaengine: Fixup dmaengine_prep_slave_single() to be actually useful
    dmaengine: Use dma_sg_len(sg) instead of sg->length
    dmaengine: Use sg_dma_address instead of sg_phys
    DMA: PL330: Remove duplicate header file inclusion
    dma: imx-sdma: keep the callbacks invoked in the tasklet
    dmaengine: dw_dma: add Device Tree probing capability
    dmaengine: dw_dmac: Add clk_{un}prepare() support
    dma/amba-pl08x: add support for the Nomadik variant
    dma/amba-pl08x: check for terminal count status only

    Linus Torvalds
     
  • Pull CMA and ARM DMA-mapping updates from Marek Szyprowski:
    "These patches contain two major updates for DMA mapping subsystem
    (mainly for ARM architecture). First one is Contiguous Memory
    Allocator (CMA) which makes it possible for device drivers to allocate
    big contiguous chunks of memory after the system has booted.

    The main difference from the similar frameworks is the fact that CMA
    allows to transparently reuse the memory region reserved for the big
    chunk allocation as a system memory, so no memory is wasted when no
    big chunk is allocated. Once the alloc request is issued, the
    framework migrates system pages to create space for the required big
    chunk of physically contiguous memory.

    For more information one can refer to nice LWN articles:

    - 'A reworked contiguous memory allocator':
    http://lwn.net/Articles/447405/

    - 'CMA and ARM':
    http://lwn.net/Articles/450286/

    - 'A deep dive into CMA':
    http://lwn.net/Articles/486301/

    - and the following thread with the patches and links to all previous
    versions:
    https://lkml.org/lkml/2012/4/3/204

    The main client for this new framework is ARM DMA-mapping subsystem.

    The second part provides a complete redesign in ARM DMA-mapping
    subsystem. The core implementation has been changed to use common
    struct dma_map_ops based infrastructure with the recent updates for
    new dma attributes merged in v3.4-rc2. This allows to use more than
    one implementation of dma-mapping calls and change/select them on the
    struct device basis. The first client of this new infractructure is
    dmabounce implementation which has been completely cut out of the
    core, common code.

    The last patch of this redesign update introduces a new, experimental
    implementation of dma-mapping calls on top of generic IOMMU framework.
    This lets ARM sub-platform to transparently use IOMMU for DMA-mapping
    calls if one provides required IOMMU hardware.

    For more information please refer to the following thread:
    http://www.spinics.net/lists/arm-kernel/msg175729.html

    The last patch merges changes from both updates and provides a
    resolution for the conflicts which cannot be avoided when patches have
    been applied on the same files (mainly arch/arm/mm/dma-mapping.c)."

    Acked by Andrew Morton :
    "Yup, this one please. It's had much work, plenty of review and I
    think even Russell is happy with it."

    * 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping: (28 commits)
    ARM: dma-mapping: use PMD size for section unmap
    cma: fix migration mode
    ARM: integrate CMA with DMA-mapping subsystem
    X86: integrate CMA with DMA-mapping subsystem
    drivers: add Contiguous Memory Allocator
    mm: trigger page reclaim in alloc_contig_range() to stabilise watermarks
    mm: extract reclaim code from __alloc_pages_direct_reclaim()
    mm: Serialize access to min_free_kbytes
    mm: page_isolation: MIGRATE_CMA isolation functions added
    mm: mmzone: MIGRATE_CMA migration type added
    mm: page_alloc: change fallbacks array handling
    mm: page_alloc: introduce alloc_contig_range()
    mm: compaction: export some of the functions
    mm: compaction: introduce isolate_freepages_range()
    mm: compaction: introduce map_pages()
    mm: compaction: introduce isolate_migratepages_range()
    mm: page_alloc: remove trailing whitespace
    ARM: dma-mapping: add support for IOMMU mapper
    ARM: dma-mapping: use alloc, mmap, free from dma_ops
    ARM: dma-mapping: remove redundant code and do the cleanup
    ...

    Conflicts:
    arch/x86/include/asm/dma-mapping.h

    Linus Torvalds
     

25 May, 2012

15 commits

  • Pull sound update from Takashi Iwai:
    "This is the second updates for 3.5-rc1. It's mainly for OMAP4 HDMI
    updates and the device tree updates for OMAP, in addition to a couple
    of PCM accuray improvement and Realtek ALC269VD codec support."

    * tag 'sound-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (21 commits)
    ALSA: hda/realtek - Add new codec support for ALC269VD
    ALSA: core: group read of pointer, tstamp and jiffies
    ASoC: OMAP: HDMI: Rename sound card source file
    ASoC: OMAP: HDMI: Make sound card naming more generic
    ASoC: OMAP: HDMI: Make build config options more generic
    ASoC: OMAP: HDMI: Expand capabilities of the HDMI DAI
    ASoC: OMAP: HDMI: Improve how the display state is verified
    ASoC: OMAP: HDMI: Expand configuration of hw_params
    ASoC: OMAP: HDMI: Use the DSS audio interface
    ASoC: OMAP: HDMI: Create a structure for private data of the CPU DAI
    ASoC: OMAP: HDMI: Change error values in HDMI CPU DAI
    ASoC: OMAP: HDMI: Update the platform device names
    ASoC: omap-abe-twl6040: Introduce driver data for runtime parameters
    ASoC: omap-abe-twl6040: Move Digital Mic widget into dapm table
    ASoC: omap-abe-twl6040: Keep only one snd_soc_dai_link structure
    ASoC: omap-dmic: Add device tree bindings
    ASoC: omap-mcpdm: Add device tree bindings
    ASoC: omap-mcbsp: buffer size constraint only applies to playback stream
    ASoC: omap-mcbsp: Use the common interrupt line if supported by the SoC
    ASoC: omap-mcbsp: Remove unused FRAME dma_op_mode
    ...

    Linus Torvalds
     
  • Pull CRIS changes from Jesper Nilsson:
    "No major changes here, but fixes some compile errors for CRIS, some
    small style issues, some documentation and as a bonus nukes a couple
    of obsolete rtc-files and related code."

    * tag 'cris-for-linus' of git://jni.nu/cris:
    cris: Remove old legacy "-traditional" flag from arch-v10/lib/Makefile
    CRIS: Remove legacy RTC drivers
    cris/mm/fault.c: Port OOM changes to do_page_fault
    cris:fix the wrong function declear
    CRIS: Add _sdata to vmlinux.lds.S
    cris: posix_types.h, include asm-generic/posix_types.h
    CRIS: Update documentation
    cris/arch-v32: cryptocop: Use kzalloc
    net:removed the unused variable
    cris:removed the unused variable
    CRISv32: Correct name of read_mostly section.

    Linus Torvalds
     
  • Pull MMC changes from Chris Ball
    - at91-mci: This driver will be replaced by atmel-mci in 3.7.
    - atmel-mci: Add support for old at91-mci hardware.
    - dw_mmc: Allow multiple controllers; this previously caused
    corruption.
    - imxmmc: Remove this driver, replaced by mxcmmc.
    - mmci: Add device tree support.
    - omap: Allow multiple controllers.
    - omap_hsmmc: Auto CMD12, DDR support.
    - tegra: Support SD 3.0 spec.

    Fix up the usual trivial conflicts in feature-removal-schedule.txt

    * tag 'mmc-merge-for-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (38 commits)
    mmc: at91-mci: this driver is now deprecated
    mmc: omap_hsmmc: pass IRQF_ONESHOT to request_threaded_irq
    mmc: block: Allow disabling 512B sector size emulation
    mmc: atmel-mci: add debug logs
    mmc: atmel-mci: add support for version lower than v2xx
    mmc: atmel-mci: change the state machine for compatibility with old IP
    mmc: atmel-mci: the r/w proof capability lack was not well managed
    mmc: dw_mmc: Fixed sdio interrupt mask bit setting bug
    mmc: omap: convert to module_platform_driver
    mmc: omap: make it behave well as a module
    mmc: omap: convert to per instance workqueue
    mmc: core: Remove dead code
    mmc: card: Avoid null pointer dereference
    mmc: core: Prevent eMMC VCC supply to be cut from late init
    mmc: dw_mmc: make multiple instances of dw_mci_card_workqueue
    mmc: queue: remove redundant memsets
    mmc: queue: rename mmc_request function
    mmc: core: skip card initialization if power class selection fails
    mmc: core: fix the signaling 1.8V for HS200
    mmc: core: fix the decision of HS200/DDR card-type
    ...

    Linus Torvalds
     
  • Pull ext2, ext3 and quota fixes from Jan Kara:
    "Interesting bits are:
    - removal of a special i_mutex locking subclass (I_MUTEX_QUOTA) since
    quota code does not need i_mutex anymore in any unusual way.
    - backport (from ext4) of a fix of a checkpointing bug (missing cache
    flush) that could lead to fs corruption on power failure

    The rest are just random small fixes & cleanups."

    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
    ext2: trivial fix to comment for ext2_free_blocks
    ext2: remove the redundant comment for ext2_export_ops
    ext3: return 32/64-bit dir name hash according to usage type
    quota: Get rid of nested I_MUTEX_QUOTA locking subclass
    quota: Use precomputed value of sb_dqopt in dquot_quota_sync
    ext2: Remove i_mutex use from ext2_quota_write()
    reiserfs: Remove i_mutex use from reiserfs_quota_write()
    ext4: Remove i_mutex use from ext4_quota_write()
    ext3: Remove i_mutex use from ext3_quota_write()
    quota: Fix double lock in add_dquot_ref() with CONFIG_QUOTA_DEBUG
    jbd: Write journal superblock with WRITE_FUA after checkpointing
    jbd: protect all log tail updates with j_checkpoint_mutex
    jbd: Split updating of journal superblock and marking journal empty
    ext2: do not register write_super within VFS
    ext2: Remove s_dirt handling
    ext2: write superblock only once on unmount
    ext3: update documentation with barrier=1 default
    ext3: remove max_debt in find_group_orlov()
    jbd: Refine commit writeout logic

    Linus Torvalds
     
  • Commit 00eacd6 ("ext3: make ext3 mount default to barrier=1") changed
    the default barrier mount option for ext3. The documentation needs to
    be updated, so this patch does that.

    Signed-off-by: Stefan Hajnoczi
    Acked-by: Rob Landley
    Signed-off-by: Jiri Kosina

    Stefan Hajnoczi
     
  • The address of util-linux seems deprecated. The new util-linux location is
    in the kernel.org. So, change this for the correct address.

    Signed-off-by: Marcos Paulo de Souza
    Acked-by: Rob Landley
    Signed-off-by: Jiri Kosina

    Marcos Paulo de Souza
     
  • Had I found a reference to scripts/get_maintainer.pl when I first read
    Documentation/SubmittingPatches, it would've saved me some time.

    Signed-off-by: Michel Machado
    Acked-by: Rob Landley
    Signed-off-by: Jiri Kosina

    Michel Machado
     
  • It has no more users, the last one is gone in "[PATCH] ia64: Kconfig
    cleanup" aka ("6fd79ab50b").
    mcatest is gone in commit "[PATCH] ia64: SGI SN update"
    ("c6bacd5010ec").

    Cc: Tony Luck
    Cc: Fenghua Yu
    Cc: Randy Dunlap
    Signed-off-by: Sebastian Andrzej Siewior
    Acked-by: Rob Landley
    Signed-off-by: Jiri Kosina

    Sebastian Andrzej Siewior
     
  • Signed-off-by: Dave Airlie
    Signed-off-by: Sumit Semwal

    Dave Airlie
     
  • Compared to Rob Clark's RFC I've ditched the prepare/finish hooks
    and corresponding ioctls on the dma_buf file. The major reason for
    that is that many people seem to be under the impression that this is
    also for synchronization with outstanding asynchronous processsing.
    I'm pretty massively opposed to this because:

    - It boils down reinventing a new rather general-purpose userspace
    synchronization interface. If we look at things like futexes, this
    is hard to get right.
    - Furthermore a lot of kernel code has to interact with this
    synchronization primitive. This smells a look like the dri1 hw_lock,
    a horror show I prefer not to reinvent.
    - Even more fun is that multiple different subsystems would interact
    here, so we have plenty of opportunities to create funny deadlock
    scenarios.

    I think synchronization is a wholesale different problem from data
    sharing and should be tackled as an orthogonal problem.

    Now we could demand that prepare/finish may only ensure cache
    coherency (as Rob intended), but that runs up into the next problem:
    We not only need mmap support to facilitate sw-only processing nodes
    in a pipeline (without jumping through hoops by importing the dma_buf
    into some sw-access only importer), which allows for a nicer
    ION->dma-buf upgrade path for existing Android userspace. We also need
    mmap support for existing importing subsystems to support existing
    userspace libraries. And a loot of these subsystems are expected to
    export coherent userspace mappings.

    So prepare/finish can only ever be optional and the exporter /needs/
    to support coherent mappings. Given that mmap access is always
    somewhat fallback-y in nature I've decided to drop this optimization,
    instead of just making it optional. If we demonstrate a clear need for
    this, supported by benchmark results, we can always add it in again
    later as an optional extension.

    Other differences compared to Rob's RFC is the above mentioned support
    for mapping a dma-buf through facilities provided by the importer.
    Which results in mmap support no longer being optional.

    Note that this dma-buf mmap patch does _not_ support every possible
    insanity an existing subsystem could pull of with mmap: Because it
    does not allow to intercept pagefaults and shoot down ptes importing
    subsystems can't add some magic of their own at these points (e.g. to
    automatically synchronize with outstanding rendering or set up some
    special resources). I've done a cursory read through a few mmap
    implementions of various subsytems and I'm hopeful that we can avoid
    this (and the complexity it'd bring with it).

    Additonally I've extended the documentation a bit to explain the hows
    and whys of this mmap extension.

    In case we ever want to add support for explicitly cache maneged
    userspace mmap with a prepare/finish ioctl pair, we could specify that
    userspace needs to mmap a different part of the dma_buf, e.g. the
    range starting at dma_buf->size up to dma_buf->size*2. This works
    because the size of a dma_buf is invariant over it's lifetime. The
    exporter would obviously need to fall back to coherent mappings for
    both ranges if a legacy clients maps the coherent range and the
    architecture cannot suppor conflicting caching policies. Also, this
    would obviously be optional and userspace needs to be able to fall
    back to coherent mappings.

    v2:
    - Spelling fixes from Rob Clark.
    - Compile fix for !DMA_BUF from Rob Clark.
    - Extend commit message to explain how explicitly cache managed mmap
    support could be added later.
    - Extend the documentation with implementations notes for exporters
    that need to manually fake coherency.

    v3:
    - dma_buf pointer initialization goof-up noticed by Rebecca Schultz
    Zavin.

    Cc: Rob Clark
    Cc: Rebecca Schultz Zavin
    Acked-by: Rob Clark
    Signed-Off-by: Daniel Vetter
    Signed-off-by: Sumit Semwal

    Daniel Vetter
     
  • Pull KVM changes from Avi Kivity:
    "Changes include additional instruction emulation, page-crossing MMIO,
    faster dirty logging, preventing the watchdog from killing a stopped
    guest, module autoload, a new MSI ABI, and some minor optimizations
    and fixes. Outside x86 we have a small s390 and a very large ppc
    update.

    Regarding the new (for kvm) rebaseless workflow, some of the patches
    that were merged before we switch trees had to be rebased, while
    others are true pulls. In either case the signoffs should be correct
    now."

    Fix up trivial conflicts in Documentation/feature-removal-schedule.txt
    arch/powerpc/kvm/book3s_segment.S and arch/x86/include/asm/kvm_para.h.

    I suspect the kvm_para.h resolution ends up doing the "do I have cpuid"
    check effectively twice (it was done differently in two different
    commits), but better safe than sorry ;)

    * 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (125 commits)
    KVM: make asm-generic/kvm_para.h have an ifdef __KERNEL__ block
    KVM: s390: onereg for timer related registers
    KVM: s390: epoch difference and TOD programmable field
    KVM: s390: KVM_GET/SET_ONEREG for s390
    KVM: s390: add capability indicating COW support
    KVM: Fix mmu_reload() clash with nested vmx event injection
    KVM: MMU: Don't use RCU for lockless shadow walking
    KVM: VMX: Optimize %ds, %es reload
    KVM: VMX: Fix %ds/%es clobber
    KVM: x86 emulator: convert bsf/bsr instructions to emulate_2op_SrcV_nobyte()
    KVM: VMX: unlike vmcs on fail path
    KVM: PPC: Emulator: clean up SPR reads and writes
    KVM: PPC: Emulator: clean up instruction parsing
    kvm/powerpc: Add new ioctl to retreive server MMU infos
    kvm/book3s: Make kernel emulated H_PUT_TCE available for "PR" KVM
    KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler
    KVM: PPC: Book3S: Enable IRQs during exit handling
    KVM: PPC: Fix PR KVM on POWER7 bare metal
    KVM: PPC: Fix stbux emulation
    KVM: PPC: bookehv: Use lwz/stw instead of PPC_LL/PPC_STL for 32-bit fields
    ...

    Linus Torvalds
     
  • Pull GPIO driver changes from Grant Likely:
    "Lots of gpio changes, both to core code and drivers.

    Changes do touch architecture code to remove the need for separate
    arm/gpio.h includes in most architectures.

    Some new drivers are added, and a number of gpio drivers are converted
    to use irq_domains for gpio inputs used as interrupts. Device tree
    support has been amended to allow multiple gpio_chips to use the same
    device tree node.

    Remaining changes are primarily bug fixes."

    * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux-2.6: (33 commits)
    gpio/generic: initialize basic_mmio_gpio shadow variables properly
    gpiolib: Remove 'const' from data argument of gpiochip_find()
    gpio/rc5t583: add gpio driver for RICOH PMIC RC5T583
    gpiolib: quiet gpiochip_add boot message noise
    gpio: mpc8xxx: Prevent NULL pointer deref in demux handler
    gpio/lpc32xx: Add device tree support
    gpio: Adjust of_xlate API to support multiple GPIO chips
    gpiolib: Implement devm_gpio_request_one()
    gpio-mcp23s08: dbg_show: fix pullup configuration display
    Add support for TCA6424A
    gpio/omap: (re)fix wakeups on level-triggered GPIOs
    gpio/omap: fix broken context restore for non-OFF mode transitions
    gpio/omap: fix missing check in *_runtime_suspend()
    gpio/omap: remove cpu_is_omapxxxx() checks from *_runtime_resume()
    gpio/omap: remove suspend/resume callbacks
    gpio/omap: remove retrigger variable in gpio_irq_handler
    gpio/omap: remove saved_wakeup field from struct gpio_bank
    gpio/omap: remove suspend_wakeup field from struct gpio_bank
    gpio/omap: remove saved_fallingdetect, saved_risingdetect
    gpio/omap: remove virtual_irq_start variable
    ...

    Conflicts:
    drivers/gpio/gpio-samsung.c

    Linus Torvalds
     
  • Pull device tree changes from Grant Likely:
    "Mostly documentation updates, but also includes an empty stub for
    non-CONFIG_OF builds."

    * tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6:
    dt/documentation: Fix value format description
    dt: add vendor prefix for EM Microelectronics
    ARM: DT: Add binding for GIC virtualization extentions (VGIC)
    of/irq: add empty irq_of_parse_and_map() for non-dt builds

    Linus Torvalds
     
  • Pull main drm updates from Dave Airlie:
    "This is the main merge window request for the drm.

    It's big, but jam packed will lots of features and of course 0
    regressions. (okay maybe there'll be one).

    Highlights:

    - new KMS drivers for server GPU chipsets: ast, mgag200 and cirrus
    (qemu only). These drivers use the generic modesetting drivers.

    - initial prime/dma-buf support for i915, nouveau, radeon, udl and
    exynos

    - switcheroo audio support: so GPUs with HDMI can turn off the sound
    driver without crashing stuff.

    - There are some patches drifting outside drivers/gpu into x86 and
    EFI for better handling of multiple video adapters in Apple Macs,
    they've got correct acks except one trivial fixup.

    - Core:
    edid parser has better DMT and reduced blanking support,
    crtc properties,
    plane properties,

    - Drivers:
    exynos: add 2D core accel support, prime support, hdmi features
    intel: more Haswell support, initial Valleyview support, more
    hdmi infoframe fixes, update MAINTAINERS for Daniel, lots of
    cleanups and fixes
    radeon: more HDMI audio support, improved GPU lockup recovery
    support, remove nested mutexes, less memory copying on PCIE, fix
    bus master enable race (kexec), improved fence handling
    gma500: cleanups, 1080p support, acpi fixes
    nouveau: better nva3 memory reclocking, kepler accel (needs
    external firmware rip), async buffer moves on nv84+ hw.

    I've some more dma-buf patches that rely on the dma-buf merge for vmap
    stuff, and I've a few fixes building up, but I'd decided I'd better
    get rid of the main pull sooner rather than later, so the audio guys
    are also unblocked."

    Fix up trivial conflict due to some duplicated changes in
    drivers/gpu/drm/i915/intel_ringbuffer.c

    * 'drm-core-next' of git://people.freedesktop.org/~airlied/linux: (605 commits)
    drm/nouveau/nvd9: Fix GPIO initialisation sequence.
    drm/nouveau: Unregister switcheroo client on exit
    drm/nouveau: Check dsm on switcheroo unregister
    drm/nouveau: fix a minor annoyance in an output string
    drm/nouveau: turn a BUG into a WARN
    drm/nv50: decode PGRAPH DATA_ERROR = 0x24
    drm/nouveau/disp: fix dithering not being enabled on some eDP macbooks
    drm/nvd9/copy: initialise copy engine, seems to work like nvc0
    drm/nvc0/ttm: use copy engines for async buffer moves
    drm/nva3/ttm: use copy engine for async buffer moves
    drm/nv98/ttm: add in a (disabled) crypto engine buffer copy method
    drm/nv84/ttm: use crypto engine for async buffer copies
    drm/nouveau/ttm: untangle code to support accelerated buffer moves
    drm/nouveau/fbcon: use fence for sync, rather than notifier
    drm/nv98/crypt: non-stub implementation of the engine hooks
    drm/nouveau/fifo: turn all fifo modules into engine modules
    drm/nv50/graph: remove ability to do interrupt-driven context switching
    drm/nv50: remove manual context unload on context destruction
    drm/nv50: remove execution engine context saves on suspend
    drm/nv50/fifo: use hardware channel kickoff functionality
    ...

    Linus Torvalds
     
  • Pull more networking updates from David Miller:
    "Ok, everything from here on out will be bug fixes."

    1) One final sync of wireless and bluetooth stuff from John Linville.
    These changes have all been in his tree for more than a week, and
    therefore have had the necessary -next exposure. John was just away
    on a trip and didn't have a change to send the pull request until a
    day or two ago.

    2) Put back some defines in user exposed header file areas that were
    removed during the tokenring purge. From Stephen Hemminger and Paul
    Gortmaker.

    3) A bug fix for UDP hash table allocation got lost in the pile due to
    one of those "you got it.. no I've got it.." situations. :-)

    From Tim Bird.

    4) SKB coalescing in TCP needs to have stricter checks, otherwise we'll
    try to coalesce overlapping frags and crash. Fix from Eric Dumazet.

    5) RCU routing table lookups can race with free_fib_info(), causing
    crashes when we deref the device pointers in the route. Fix by
    releasing the net device in the RCU callback. From Yanmin Zhang.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (293 commits)
    tcp: take care of overlaps in tcp_try_coalesce()
    ipv4: fix the rcu race between free_fib_info and ip_route_output_slow
    mm: add a low limit to alloc_large_system_hash
    ipx: restore token ring define to include/linux/ipx.h
    if: restore token ring ARP type to header
    xen: do not disable netfront in dom0
    phy/micrel: Fix ID of KSZ9021
    mISDN: Add X-Tensions USB ISDN TA XC-525
    gianfar:don't add FCB length to hard_header_len
    Bluetooth: Report proper error number in disconnection
    Bluetooth: Create flags for bt_sk()
    Bluetooth: report the right security level in getsockopt
    Bluetooth: Lock the L2CAP channel when sending
    Bluetooth: Restore locking semantics when looking up L2CAP channels
    Bluetooth: Fix a redundant and problematic incoming MTU check
    Bluetooth: Add support for Foxconn/Hon Hai AR5BBU22 0489:E03C
    Bluetooth: Fix EIR data generation for mgmt_device_found
    Bluetooth: Fix Inquiry with RSSI event mask
    Bluetooth: improve readability of l2cap_seq_list code
    Bluetooth: Fix skb length calculation
    ...

    Linus Torvalds