22 Jul, 2013

1 commit

  • For modules having single clock, clk_get should be done with dev_id.
    But current davinci implementation handles multiple instances
    of the UART devices with single platform_device_register. Hence clk_get
    is based on con_id rather than dev_id, this is not correct. Do
    platform_device_register for each instance and clk_get on dev_id.

    Signed-off-by: Manjunathappa, Prakash
    [nsekhar@ti.com: actually stop using con_id in clk_get(), squash the
    patch adding OF aux data into this one]
    Signed-off-by: Sekhar Nori

    Manjunathappa, Prakash
     

20 Jul, 2013

1 commit

  • Pull power management and ACPI fixes from Rafael Wysocki:
    "These are fixes collected over the last week, most importnatly two
    cpufreq reverts fixing regressions introduced in 3.10, an autoseelp
    fix preventing systems using it from crashing during shutdown and two
    ACPI scan fixes related to hotplug.

    Specifics:

    - Two cpufreq commits from the 3.10 cycle introduced regressions.
    The first of them was buggy (it did way much more than it needed to
    do) and the second one attempted to fix an issue introduced by the
    first one. Fixes from Srivatsa S Bhat revert both.

    - If autosleep triggers during system shutdown and the shutdown
    callbacks of some device drivers have been called already, it may
    crash the system. Fix from Liu Shuo prevents that from happening
    by making try_to_suspend() check system_state.

    - The ACPI memory hotplug driver doesn't clear its driver_data on
    errors which may cause a NULL poiter dereference to happen later.
    Fix from Toshi Kani.

    - The ACPI namespace scanning code should not try to attach scan
    handlers to device objects that have them already, which may
    confuse things quite a bit, and it should rescan the whole
    namespace branch starting at the given node after receiving a bus
    check notify event even if the device at that particular node has
    been discovered already. Fixes from Rafael J Wysocki.

    - New ACPI video blacklist entry for a system whose initial backlight
    setting from the BIOS doesn't make sense. From Lan Tianyu.

    - Garbage string output avoindance for ACPI PNP from Liu Shuo.

    - Two Kconfig fixes for issues introduced recently in the s3c24xx
    cpufreq driver (when moving the driver to drivers/cpufreq) from
    Paul Bolle.

    - Trivial comment fix in pm_wakeup.h from Chanwoo Choi"

    * tag 'pm+acpi-3.11-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / video: ignore BIOS initial backlight value for Fujitsu E753
    PNP / ACPI: avoid garbage in resource name
    cpufreq: Revert commit 2f7021a8 to fix CPU hotplug regression
    cpufreq: s3c24xx: fix "depends on ARM_S3C24XX" in Kconfig
    cpufreq: s3c24xx: rename CONFIG_CPU_FREQ_S3C24XX_DEBUGFS
    PM / Sleep: Fix comment typo in pm_wakeup.h
    PM / Sleep: avoid 'autosleep' in shutdown progress
    cpufreq: Revert commit a66b2e to fix suspend/resume regression
    ACPI / memhotplug: Fix a stale pointer in error path
    ACPI / scan: Always call acpi_bus_scan() for bus check notifications
    ACPI / scan: Do not try to attach scan handlers to devices having them

    Linus Torvalds
     

17 Jul, 2013

1 commit

  • Kconfig symbol S3C24XX_PLL depends on ARM_S3C24XX. But that symbol
    doesn't exist. Commit f023f8dd59bf ("cpufreq: s3c24xx: move cpufreq
    driver to drivers/cpufreq"), which added this issue, makes it clear
    that ARM_S3C24XX_CPUFREQ was intended here.

    Signed-off-by: Paul Bolle
    Acked-by: Viresh Kumar
    Signed-off-by: Rafael J. Wysocki

    Paul Bolle
     

15 Jul, 2013

1 commit

  • The __cpuinit type of throwaway sections might have made sense
    some time ago when RAM was more constrained, but now the savings
    do not offset the cost and complications. For example, the fix in
    commit 5e427ec2d0 ("x86: Fix bit corruption at CPU resume time")
    is a good example of the nasty type of bugs that can be created
    with improper use of the various __init prefixes.

    After a discussion on LKML[1] it was decided that cpuinit should go
    the way of devinit and be phased out. Once all the users are gone,
    we can then finally remove the macros themselves from linux/init.h.

    Note that some harmless section mismatch warnings may result, since
    notify_cpu_starting() and cpu_up() are arch independent (kernel/cpu.c)
    and are flagged as __cpuinit -- so if we remove the __cpuinit from
    the arch specific callers, we will also get section mismatch warnings.
    As an intermediate step, we intend to turn the linux/init.h cpuinit
    related content into no-ops as early as possible, since that will get
    rid of these warnings. In any case, they are temporary and harmless.

    This removes all the ARM uses of the __cpuinit macros from C code,
    and all __CPUINIT from assembly code. It also had two ".previous"
    section statements that were paired off against __CPUINIT
    (aka .section ".cpuinit.text") that also get removed here.

    [1] https://lkml.org/lkml/2013/5/20/589

    Cc: Russell King
    Cc: Will Deacon
    Cc: linux-arm-kernel@lists.infradead.org
    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

14 Jul, 2013

4 commits

  • Pull ARM SoC fixes from Olof Johansson:
    "This is our first set of fixes from arm-soc for 3.11.
    - A handful of build and warning fixes from Arnd
    - A collection of OMAP fixes
    - defconfig updates to make the default configs more useful for real
    use (and testing) out of the box on hardware

    And a couple of other small fixes. Some of these have been recently
    applied but it's normally how we deal with fixes, with less bake time
    in -next needed"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (32 commits)
    arm: multi_v7_defconfig: Tweaks for omap and sunxi
    arm: multi_v7_defconfig: add i.MX options and NFS root
    ARM: omap2: add select of TI_PRIV_EDMA
    ARM: exynos: select PM_GENERIC_DOMAINS only when used
    ARM: ixp4xx: avoid circular header dependency
    ARM: OMAP: omap_common_late_init may be unused
    ARM: sti: move DEBUG_STI_UART into alphabetical order
    ARM: OMAP: build mach-omap code only if needed
    ARM: zynq: use DT_MACHINE_START
    ARM: omap5: omap5 has SCU and TWD
    ARM: OMAP2+: omap2plus_defconfig: Enable appended DTB support
    ARM: OMAP2+: Enable TI_EDMA in omap2plus_defconfig
    ARM: OMAP2+: omap2plus_defconfig: enable DRA752 thermal support by default
    ARM: OMAP2+: omap2plus_defconfig: enable TI bandgap driver
    ARM: OMAP2+: devices: remove duplicated include from devices.c
    ARM: OMAP3: igep0020: Set DSS pins in correct mux mode.
    ARM: OMAP2+: N900: enable N900-specific drivers even if device tree is enabled
    ARM: OMAP2+: Cocci spatch "ptr_ret.spatch"
    ARM: OMAP2+: Remove obsolete Makefile line
    ARM: OMAP5: Enable Cortex A15 errata 798181
    ...

    Linus Torvalds
     
  • Pull ARM fixes from Russell King:
    "A few fixes for ARM, mostly just one liners with the exception of the
    missing section specification. We decided not to rely on .previous to
    fix this but to explicitly state the section we want the code to be
    in."

    * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
    ARM: 7778/1: smp_twd: twd_update_frequency need be run on all online CPUs
    ARM: 7782/1: Kconfig: Let ARM_ERRATA_364296 not depend on CONFIG_SMP
    ARM: mm: fix boot on SA1110 Assabet
    ARM: 7781/1: mmu: Add debug_ll_io_init() mappings to early mappings
    ARM: 7780/1: add missing linker section markup to head-common.S

    Linus Torvalds
     
  • Pull watchdog updates from Wim Van Sebroeck:
    - lots of devm_ conversions and cleanup
    - platform_set_drvdata cleanups
    - s3c2410: dev_err/dev_info + dev_pm_ops
    - watchdog_core: don't try to stop device if not running fix
    - wdrtas: use print_hex_dump
    - xilinx cleanups
    - orion_wdt fixes
    - softdog cleanup
    - hpwdt: check on UEFI bits
    - deletion of mpcore_wdt driver
    - addition of broadcom BCM2835 watchdog timer driver
    - addition of MEN A21 watcdog devices

    * git://www.linux-watchdog.org/linux-watchdog: (38 commits)
    watchdog: hpwdt: Add check for UEFI bits
    watchdog: softdog: remove replaceable ping operation
    watchdog: New watchdog driver for MEN A21 watchdogs
    Watchdog: fix clearing of the watchdog interrupt
    Watchdog: allow orion_wdt to be built for Dove
    watchdog: Add Broadcom BCM2835 watchdog timer driver
    watchdog: delete mpcore_wdt driver
    watchdog: xilinx: Setup the origin compatible string
    watchdog: xilinx: Fix driver header
    watchdog: wdrtas: don't use custom version of print_hex_dump
    watchdog: core: don't try to stop device if not running
    watchdog: jz4740: Pass device to clk_get
    watchdog: twl4030: Remove redundant platform_set_drvdata()
    watchdog: mpcore: Remove redundant platform_set_drvdata()
    watchdog: da9055: use platform_{get,set}_drvdata()
    watchdog: da9052: use platform_{get,set}_drvdata()
    watchdog: cpwd: use platform_{get,set}_drvdata()
    watchdog: s3c2410_wdt: convert s3c2410wdt to dev_pm_ops
    watchdog: s3c2410_wdt: use dev_err()/dev_info() instead of pr_err()/pr_info()
    watchdog: wm831x: use platform_{get,set}_drvdata()
    ...

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:
    "This series contain:
    - new i2c video drivers: ml86v7667 (video decoder),
    ths8200 (video encoder)
    - a new video driver for EasyCap cards based on Fushicai USBTV007
    - Improved support for OF and embedded systems, with V4L2 async
    initialization and a better support for clocks
    - API cleanups on the ioctls used by the v4l2 debug tool
    - Lots of cleanups
    - As usual, several driver improvements and new cards additions
    - Revert two changesets that change the minimal symbol rate for
    stv0399, as request by Manu
    - Update MAINTAINERS and other files to point to my new e-mail"

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (378 commits)
    MAINTAINERS & ABI: Update to point to my new email
    [media] stb0899: restore minimal rate to 5Mbauds
    [media] exynos4-is: Correct colorspace handling at FIMC-LITE
    [media] exynos4-is: Set valid initial format on FIMC.n subdevs
    [media] exynos4-is: Set valid initial format on FIMC-IS-ISP subdev pads
    [media] exynos4-is: Fix format propagation on FIMC-IS-ISP subdev
    [media] exynos4-is: Set valid initial format at FIMC-LITE
    [media] exynos4-is: Fix format propagation on FIMC-LITE.n subdevs
    [media] MAINTAINERS: Update S5P/Exynos FIMC driver entry
    [media] Documentation: Update driver's directory in video4linux/fimc.txt
    [media] exynos4-is: Change fimc-is firmware file names
    [media] exynos4-is: Add support for Exynos5250 MIPI-CSIS
    [media] exynos4-is: Add Exynos5250 SoC support to fimc-lite driver
    [media] exynos4-is: Drop drvdata handling in fimc-lite for non-dt platforms
    [media] media: i2c: tvp514x: remove manual setting of subdev name
    [media] media: i2c: tvp7002: remove manual setting of subdev name
    [media] mem2mem: set missing v4l2_dev pointer
    [media] wl128x: add missing struct v4l2_device
    [media] tvp514x: Fix init seqeunce
    [media] saa7134: Fix sparse warnings by adding __user annotation
    ...

    Linus Torvalds
     

13 Jul, 2013

4 commits

  • OMAP recently changed how the platforms are configured, so OMAP2/3/4 SoC
    support is no longer enabled by default. Add them back.

    Enable new ethernet driver for sunxi.

    The i.MX console options moved due to resorting, no functional change.

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • …rnel/git/linusw/linux-stericsson into fixes

    From Linus Walleij:
    Ux500 defconfig changes:
    - Update base due to different Kconfig changes
    - Select watchdog, MUSB, Ux500 ALSA SoC, various MMC/SD
    features and enable highmem

    * tag 'ux500-defconfig-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
    ARM: ux500: Enable HIGHMEM in the u8500 defconfig
    ARM: ux500: Update MMC configs for u8500 defconfig
    ARM: ux500: select SND_SOC_UX500 for ux500
    ARM: ux500: update defconfig base
    ARM: ux500: select WATCHDOG and MUSB for ux500

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • - Add i.MX serial console support. This gives us the boot messages on
    UART on e.g. the i.MX6Q sabre sd platform.
    - Add the necessary config options, to allow booting with NFS root on
    an i.MX6 sabre sd.
    - Add Freescale LPUART serial console support. This gives us the boot
    messages on UART on e.g. the Vybrid VF610 Tower board.

    Signed-off-by: Vincent Stehlé
    Cc: Russell King
    [olof: squashed three commits down to one]
    Signed-off-by: Olof Johansson

    Vincent Stehlé
     
  • …m/linux/kernel/git/tmlind/linux-omap into fixes

    Omap fixes and minor defconfig updates that would be good to
    get in before -rc1.

    * tag 'omap-for-v3.11/fixes-for-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP2+: omap2plus_defconfig: Enable appended DTB support
    ARM: OMAP2+: Enable TI_EDMA in omap2plus_defconfig
    ARM: OMAP2+: omap2plus_defconfig: enable DRA752 thermal support by default
    ARM: OMAP2+: omap2plus_defconfig: enable TI bandgap driver
    ARM: OMAP2+: devices: remove duplicated include from devices.c
    ARM: OMAP3: igep0020: Set DSS pins in correct mux mode.
    ARM: OMAP2+: N900: enable N900-specific drivers even if device tree is enabled
    ARM: OMAP2+: Cocci spatch "ptr_ret.spatch"
    ARM: OMAP2+: Remove obsolete Makefile line
    ARM: OMAP5: Enable Cortex A15 errata 798181
    ARM: scu: provide inline dummy functions when SCU is not present
    ARM: OMAP4: sleep: build OMAP4 specific functions only for OMAP4
    ARM: OMAP2+: timer: initialize before using oh_name

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Add/move/change conflicts in arch/arm/mach-omap2/Kconfig resolved.

    Olof Johansson
     

12 Jul, 2013

2 commits

  • The watchdog infrastructure in Dove is no different from that in
    Orion5x or Kirkwood, so let's enable it for Dove. The only things
    missing are a few register settings in Dove's bridge-regs.h.

    Rather than duplicating the same register bit masks for the RSTOUTn_MASK
    and BRIDGE_CAUSE registers, move the definitions into the watchdog
    driver itself.

    Signed-off-by: Russell King
    Acked-by: Jason Cooper
    Tested-by: Andrew Lunn
    Signed-off-by: Wim Van Sebroeck

    Russell King
     
  • Interrupt request doesn't use the right API: The TWD watchdog uses a per-cpu
    interrupt (usually interrupt #30), and the GIC configuration should flag it as
    such. With this setup, request_irq() should fail, and the right API is
    request_percpu_irq(), together with enable_percpu_irq()/disable_percpu_irq().

    Nothing ensures the userspace ioctl() will end-up kicking the watchdog on the
    right CPU.

    There are no users of this driver since a long time and it makes more sense to
    get rid of it as nobody is looking to fix it.

    In case somebody wakes up after this has been removed and needs it, please
    revert this driver and pick these updates (These were never pushed to mainline):

    http://comments.gmane.org/gmane.linux.ports.arm.kernel/245998

    Signed-off-by: Viresh Kumar
    Acked-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Viresh Kumar
     

11 Jul, 2013

3 commits

  • Since all architectures have been converted to use vm_unmapped_area(),
    there is no remaining use for the free_area_cache.

    Signed-off-by: Michel Lespinasse
    Acked-by: Rik van Riel
    Cc: "James E.J. Bottomley"
    Cc: "Luck, Tony"
    Cc: Benjamin Herrenschmidt
    Cc: David Howells
    Cc: Helge Deller
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: Paul Mackerras
    Cc: Richard Henderson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michel Lespinasse
     
  • Pull MMC updates from Chris Ball:
    "MMC highlights for 3.11:

    Core:
    - Add support for eMMC 5.1 devices
    - Add MMC_CAP_AGGRESSIVE_PM capability for aggressive power
    management of eMMC/SD between requests, using runtime PM
    - Add an ioctl to perform the eMMC 4.5 Sanitize command. Sample code
    at:

    git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git

    Drivers:
    - dw_mmc: Add support for Rockchip's Cortex-A9 SoCs
    - dw_mmc: Add support for Altera SoCFPGAs
    - sdhci-esdhc-imx: Add support for 8-bit bus width, non-removable
    cards
    - sdhci-bcm-kona: New driver for Broadcom Kona (281xx) SoCs
    - sdhi/tmio: Add DT DMA support"

    * tag 'mmc-updates-for-3.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (87 commits)
    mmc: bcm281xx SDHCI driver
    mmc: sdhci: add card_event callback to sdhci
    mmc: core: Fixup Oops for SDIO shutdown
    mmc: sdhci-pci: add another device id
    mmc: esdhc: Fix bug when writing to SDHCI_HOST_CONTROL register
    mmc: esdhc: Add support for 8-bit bus width and non-removable card
    mmc: core: production year for eMMC 4.41 and later
    mmc: omap: remove unnecessary #if 0's
    mmc: sdhci: fix ctrl_2 on super-speed selection
    mmc: dw_mmc-pltfm: add Rockchip variant
    mmc: dw_mmc-pltfm: move probe and remove below dt match table
    mmc: dw_mmc-pltfm: remove static from dw_mci_pltfm_remove
    mmc: sdhci-acpi: add support for eMMC hardware reset for HID 80860F14
    mmc: sdhci-pci: add support for eMMC hardware reset for BYT eMMC.
    mmc: dw_mmc: Add support DW SD/MMC driver on SOCFPGA
    mmc: sdhci: fix caps2 for HS200
    sdhci-pxav3: Fix runtime PM initialization
    mmc: core: Add DT-bindings for MMC_CAP2_FULL_PWR_CYCLE
    mmc: core: Invent MMC_CAP2_FULL_PWR_CYCLE
    mmc: core: Enable power_off_notify for eMMC shutdown sequence
    ...

    Linus Torvalds
     
  • Pull MFD update from Samuel Ortiz:
    "For the 3.11 merge we only have one new MFD driver for the Kontron
    PLD.

    But we also have:
    - Support for the TPS659038 PMIC from the palmas driver.
    - Intel's Coleto Creek and Avoton SoCs support from the lpc_ich
    driver.
    - RTL8411B support from the rtsx driver.
    - More DT support for the Arizona, max8998, twl4030-power and the
    ti_am335x_tsadc drivers.
    - The SSBI driver move under MFD.
    - A conversion to the devm_* API for most of the MFD drivers.
    - The twl4030-power got split from twl-core into its own module.
    - A major ti_am335x_adc cleanup, leading to a proper DT support.
    - Our regular arizona and wm* updates and cleanups from the Wolfson
    folks.
    - A better error handling and initialization, and a regulator
    subdevice addition for the 88pm80x driver.
    - A bulk platform_set_drvdata() call removal that's no longer need
    since commit 0998d0631001 ("device-core: Ensure drvdata = NULL when
    no driver is bound")

    * tag 'mfd-3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next: (102 commits)
    mfd: sec: Provide max_register to regmap
    mfd: wm8994: Remove duplicate check for active JACKDET
    MAINTAINERS: Add include directory to MFD file patterns
    mfd: sec: Remove fields not used since regmap conversion
    watchdog: Kontron PLD watchdog timer driver
    mfd: max8998: Add support for Device Tree
    regulator: max8998: Use arrays for specifying voltages in platform data
    mfd: max8998: Add irq domain support
    regulator: palmas: Add TPS659038 support
    mfd: Kontron PLD mfd driver
    mfd: palmas: Add TPS659038 PMIC support
    mfd: palmas: Add SMPS10_BOOST feature
    mfd: palmas: Check if irq is valid
    mfd: lpc_ich: iTCO_wdt patch for Intel Coleto Creek DeviceIDs
    mfd: twl-core: Change TWL6025 references to TWL6032
    mfd: davinci_voicecodec: Fix build breakage
    mfd: vexpress: Make the driver optional for arm and arm64
    mfd: htc-egpio: Use devm_ioremap_nocache() instead of ioremap_nocache()
    mfd: davinci_voicecodec: Convert to use devm_* APIs
    mfd: twl4030-power: Fix relocking on error
    ...

    Linus Torvalds
     

10 Jul, 2013

10 commits

  • Pull networking updates from David Miller:
    "This is a re-do of the net-next pull request for the current merge
    window. The only difference from the one I made the other day is that
    this has Eliezer's interface renames and the timeout handling changes
    made based upon your feedback, as well as a few bug fixes that have
    trickeled in.

    Highlights:

    1) Low latency device polling, eliminating the cost of interrupt
    handling and context switches. Allows direct polling of a network
    device from socket operations, such as recvmsg() and poll().

    Currently ixgbe, mlx4, and bnx2x support this feature.

    Full high level description, performance numbers, and design in
    commit 0a4db187a999 ("Merge branch 'll_poll'")

    From Eliezer Tamir.

    2) With the routing cache removed, ip_check_mc_rcu() gets exercised
    more than ever before in the case where we have lots of multicast
    addresses. Use a hash table instead of a simple linked list, from
    Eric Dumazet.

    3) Add driver for Atheros CQA98xx 802.11ac wireless devices, from
    Bartosz Markowski, Janusz Dziedzic, Kalle Valo, Marek Kwaczynski,
    Marek Puzyniak, Michal Kazior, and Sujith Manoharan.

    4) Support reporting the TUN device persist flag to userspace, from
    Pavel Emelyanov.

    5) Allow controlling network device VF link state using netlink, from
    Rony Efraim.

    6) Support GRE tunneling in openvswitch, from Pravin B Shelar.

    7) Adjust SOCK_MIN_RCVBUF and SOCK_MIN_SNDBUF for modern times, from
    Daniel Borkmann and Eric Dumazet.

    8) Allow controlling of TCP quickack behavior on a per-route basis,
    from Cong Wang.

    9) Several bug fixes and improvements to vxlan from Stephen
    Hemminger, Pravin B Shelar, and Mike Rapoport. In particular,
    support receiving on multiple UDP ports.

    10) Major cleanups, particular in the area of debugging and cookie
    lifetime handline, to the SCTP protocol code. From Daniel
    Borkmann.

    11) Allow packets to cross network namespaces when traversing tunnel
    devices. From Nicolas Dichtel.

    12) Allow monitoring netlink traffic via AF_PACKET sockets, in a
    manner akin to how we monitor real network traffic via ptype_all.
    From Daniel Borkmann.

    13) Several bug fixes and improvements for the new alx device driver,
    from Johannes Berg.

    14) Fix scalability issues in the netem packet scheduler's time queue,
    by using an rbtree. From Eric Dumazet.

    15) Several bug fixes in TCP loss recovery handling, from Yuchung
    Cheng.

    16) Add support for GSO segmentation of MPLS packets, from Simon
    Horman.

    17) Make network notifiers have a real data type for the opaque
    pointer that's passed into them. Use this to properly handle
    network device flag changes in arp_netdev_event(). From Jiri
    Pirko and Timo Teräs.

    18) Convert several drivers over to module_pci_driver(), from Peter
    Huewe.

    19) tcp_fixup_rcvbuf() can loop 500 times over loopback, just use a
    O(1) calculation instead. From Eric Dumazet.

    20) Support setting of explicit tunnel peer addresses in ipv6, just
    like ipv4. From Nicolas Dichtel.

    21) Protect x86 BPF JIT against spraying attacks, from Eric Dumazet.

    22) Prevent a single high rate flow from overruning an individual cpu
    during RX packet processing via selective flow shedding. From
    Willem de Bruijn.

    23) Don't use spinlocks in TCP md5 signing fast paths, from Eric
    Dumazet.

    24) Don't just drop GSO packets which are above the TBF scheduler's
    burst limit, chop them up so they are in-bounds instead. Also
    from Eric Dumazet.

    25) VLAN offloads are missed when configured on top of a bridge, fix
    from Vlad Yasevich.

    26) Support IPV6 in ping sockets. From Lorenzo Colitti.

    27) Receive flow steering targets should be updated at poll() time
    too, from David Majnemer.

    28) Fix several corner case regressions in PMTU/redirect handling due
    to the routing cache removal, from Timo Teräs.

    29) We have to be mindful of ipv4 mapped ipv6 sockets in
    upd_v6_push_pending_frames(). From Hannes Frederic Sowa.

    30) Fix L2TP sequence number handling bugs, from James Chapman."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1214 commits)
    drivers/net: caif: fix wrong rtnl_is_locked() usage
    drivers/net: enic: release rtnl_lock on error-path
    vhost-net: fix use-after-free in vhost_net_flush
    net: mv643xx_eth: do not use port number as platform device id
    net: sctp: confirm route during forward progress
    virtio_net: fix race in RX VQ processing
    virtio: support unlocked queue poll
    net/cadence/macb: fix bug/typo in extracting gem_irq_read_clear bit
    Documentation: Fix references to defunct linux-net@vger.kernel.org
    net/fs: change busy poll time accounting
    net: rename low latency sockets functions to busy poll
    bridge: fix some kernel warning in multicast timer
    sfc: Fix memory leak when discarding scattered packets
    sit: fix tunnel update via netlink
    dt:net:stmmac: Add dt specific phy reset callback support.
    dt:net:stmmac: Add support to dwmac version 3.610 and 3.710
    dt:net:stmmac: Allocate platform data only if its NULL.
    net:stmmac: fix memleak in the open method
    ipv6: rt6_check_neigh should successfully verify neigh if no NUD information are available
    net: ipv6: fix wrong ping_v6_sendmsg return value
    ...

    Linus Torvalds
     
  • Pull drm updates from Dave Airlie:
    "Okay this is the big one, I was stalled on the fbdev pull req as I
    stupidly let fbdev guys merge a patch I required to fix a warning with
    some patches I had, they ended up merging the patch from the wrong
    place, but the warning should be fixed. In future I'll just take the
    patch myself!

    Outside drm:

    There are some snd changes for the HDMI audio interactions on haswell,
    they've been acked for inclusion via my tree. This relies on the
    wound/wait tree from Ingo which is already merged.

    Major changes:

    AMD finally released the dynamic power management code for all their
    GPUs from r600->present day, this is great, off by default for now but
    also a huge amount of code, in fact it is most of this pull request.

    Since it landed there has been a lot of community testing and Alex has
    sent a lot of fixes for any bugs found so far. I suspect radeon might
    now be the biggest kernel driver ever :-P p.s. radeon.dpm=1 to enable
    dynamic powermanagement for anyone.

    New drivers:

    Renesas r-car display unit.

    Other highlights:

    - core: GEM CMA prime support, use new w/w mutexs for TTM
    reservations, cursor hotspot, doc updates
    - dvo chips: chrontel 7010B support
    - i915: Haswell (fbc, ips, vecs, watermarks, audio powerwell),
    Valleyview (enabled by default, rc6), lots of pll reworking, 30bpp
    support (this time for sure)
    - nouveau: async buffer object deletion, context/register init
    updates, kernel vp2 engine support, GF117 support, GK110 accel
    support (with external nvidia ucode), context cleanups.
    - exynos: memory leak fixes, Add S3C64XX SoC series support, device
    tree updates, common clock framework support,
    - qxl: cursor hotspot support, multi-monitor support, suspend/resume
    support
    - mgag200: hw cursor support, g200 mode limiting
    - shmobile: prime support
    - tegra: fixes mostly

    I've been banging on this quite a lot due to the size of it, and it
    seems to okay on everything I've tested it on."

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (811 commits)
    drm/radeon/dpm: implement vblank_too_short callback for si
    drm/radeon/dpm: implement vblank_too_short callback for cayman
    drm/radeon/dpm: implement vblank_too_short callback for btc
    drm/radeon/dpm: implement vblank_too_short callback for evergreen
    drm/radeon/dpm: implement vblank_too_short callback for 7xx
    drm/radeon/dpm: add checks against vblank time
    drm/radeon/dpm: add helper to calculate vblank time
    drm/radeon: remove stray line in old pm code
    drm/radeon/dpm: fix display_gap programming on rv7xx
    drm/nvc0/gr: fix gpc firmware regression
    drm/nouveau: fix minor thinko causing bo moves to not be async on kepler
    drm/radeon/dpm: implement force performance level for TN
    drm/radeon/dpm: implement force performance level for ON/LN
    drm/radeon/dpm: implement force performance level for SI
    drm/radeon/dpm: implement force performance level for cayman
    drm/radeon/dpm: implement force performance levels for 7xx/eg/btc
    drm/radeon/dpm: add infrastructure to force performance levels
    drm/radeon: fix surface setup on r1xx
    drm/radeon: add support for 3d perf states on older asics
    drm/radeon: set default clocks for SI when DPM is disabled
    ...

    Linus Torvalds
     
  • When the local timer freq changed, the twd_update_frequency function
    should be run all the CPUs include itself, otherwise, the twd freq will
    not get updated and the local timer will not run correcttly.

    smp_call_function will run functions on all other CPUs, but not include
    himself, this is not correct,use on_each_cpu instead to fix this issue.

    Cc: Linus Walleij
    Cc: Rob Herring
    Cc: Shawn Guo
    Cc: Arnd Bergmann
    Cc: stable@vger.kernel.org
    Acked-by: Linus Walleij
    Acked-by: Shawn Guo
    Signed-off-by: Jason Liu
    Signed-off-by: Russell King

    Jason Liu
     
  • imx_v6_v7_defconfig handles both multi-core and single-core SoCs, and it has CONFIG_SMP=y selected by default.

    With such config we cannot select ARM_ERRATA_364296, as it depends on !SMP.

    Let ARM_ERRATA_364296 be undependent on CONFIG_SMP, so that we can select this erratum for the ARM1136 SoCs, even if CONFIG_SMP=y is enabled.

    Reviewed-by: Dave Martin
    Signed-off-by: Fabio Estevam
    Signed-off-by: Russell King

    Fabio Estevam
     
  • Integrates the LZ4 decompression code to the arm pre-boot code.

    Signed-off-by: Kyungsik Lee
    Cc: "H. Peter Anvin"
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Russell King
    Cc: Borislav Petkov
    Cc: Florian Fainelli
    Cc: Yann Collet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kyungsik Lee
     
  • Merge together the unicore32, arm, and x86 reboot= command line
    parameter handling.

    Signed-off-by: Robin Holt
    Cc: H. Peter Anvin
    Cc: Russell King
    Cc: Guan Xuetao
    Cc: Russ Anderson
    Cc: Robin Holt
    Acked-by: Ingo Molnar
    Acked-by: Guan Xuetao
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robin Holt
     
  • Preparing to move the parsing of reboot= to generic kernel code forces
    the change in reboot_mode handling to use the enum.

    [akpm@linux-foundation.org: fix arch/arm/mach-socfpga/socfpga.c]
    Signed-off-by: Robin Holt
    Cc: Russell King
    Cc: Russ Anderson
    Cc: Robin Holt
    Cc: H. Peter Anvin
    Cc: Guan Xuetao
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robin Holt
     
  • Prepare for the moving the parsing of reboot= to the generic kernel code
    by making reboot_mode into a more generic form.

    Signed-off-by: Robin Holt
    Cc: Russell King
    Cc: Russ Anderson
    Cc: Robin Holt
    Cc: H. Peter Anvin
    Cc: Guan Xuetao
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robin Holt
     
  • These restart_mode fields are not used at all. Remove them to make
    moving the reboot= cmdline options to the general kernel easier.

    Signed-off-by: Robin Holt
    Cc: Russell King
    Cc: Russ Anderson
    Cc: Robin Holt
    Cc: H. Peter Anvin
    Cc: Guan Xuetao
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robin Holt
     
  • This reverts commit bf0b8f4b55e5 ("hw_breakpoints: Fix racy access to
    ptrace breakpoints").

    The patch was fine but we can no longer race with SIGKILL after commit
    9899d11f6544 ("ptrace: ensure arch_ptrace/ptrace_request can never race
    with SIGKILL"), the __TASK_TRACED tracee can't be woken up and
    ->ptrace_bps[] can't go away.

    Signed-off-by: Oleg Nesterov
    Acked-by: Will Deacon
    Cc: Benjamin Herrenschmidt
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Jan Kratochvil
    Cc: Michael Neuling
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: Prasad
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     

09 Jul, 2013

4 commits

  • Commit 83db0384 (mm/ARM: use common help functions to free reserved
    pages) broke booting on the Assabet by trying to convert a PFN to
    a virtual address using the __va() macro. This macro takes the
    physical address, not a PFN. Fix this.

    Cc: # 3.10
    Signed-off-by: Russell King

    Russell King
     
  • Failure to add the mapping created in debug_ll_io_init() can lead
    to the BUG_ON() triggering in lib/ioremap.c:27 if the static
    virtual address decided for the debug_ll mapping overlaps with
    another mapping that is created later. This happens because the
    generic ioremap code has no idea there is a mapping there and it
    tries to place a mapping in the same location and blows up when
    it sees that there is a pte already present.

    kernel BUG at lib/ioremap.c:27!
    Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.0-rc2-00042-g2af0c67-dirty #316
    task: ef088000 ti: ef082000 task.ti: ef082000
    PC is at ioremap_page_range+0x16c/0x198
    LR is at ioremap_page_range+0xf0/0x198
    pc : [] lr : [] psr: 20000113
    sp : ef083e78 ip : af140000 fp : ef083ebc
    r10: ef7fc100 r9 : ef7fc104 r8 : 000af174
    r7 : 00000647 r6 : beffffff r5 : f004c000 r4 : f0040000
    r3 : af173417 r2 : 16440653 r1 : af173e07 r0 : ef7fc8fc
    Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
    Control: 10c5787d Table: 8020406a DAC: 00000015
    Process swapper/0 (pid: 1, stack limit = 0xef082238)
    Stack: (0xef083e78 to 0xef084000)
    3e60: 00040000 ef083eec
    3e80: bf134000 f004bfff c0207c00 f004c000 c02fc120 f000c000 c15e7800 00040000
    3ea0: ef083eec 00000647 c098ba9c c0953544 ef083edc ef083ec0 c021b82c c04cb714
    3ec0: c09cdc50 00000040 ef0f1e00 ef1003c0 ef083f14 ef083ee0 c09535bc c021b7bc
    3ee0: c0953544 c04d0c6c c094e2cc c1600be4 c07440c4 c09a6888 00000002 c0a15f00
    3f00: ef082000 00000000 ef083f54 ef083f18 c0208728 c0953550 00000002 c1600bfc
    3f20: c08e3fac c0839918 ef083f54 c1600b80 c09a6888 c0a15f00 0000008b c094e2cc
    3f40: c098ba9c c098bab8 ef083f94 ef083f58 c094ea0c c020865c 00000002 00000002
    3f60: c094e2cc 00000000 c025b674 00000000 c06ff860 00000000 00000000 00000000
    3f80: 00000000 00000000 ef083fac ef083f98 c06ff878 c094e910 00000000 00000000
    3fa0: 00000000 ef083fb0 c020efe8 c06ff86c 00000000 00000000 00000000 00000000
    3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 c0595108
    [] (ioremap_page_range+0x16c/0x198) from [] (__alloc_remap_buffer.isra.18+0x7c/0xc4)
    [] (__alloc_remap_buffer.isra.18+0x7c/0xc4) from [] (atomic_pool_init+0x78/0x128)
    [] (atomic_pool_init+0x78/0x128) from [] (do_one_initcall+0xd8/0x198)
    [] (do_one_initcall+0xd8/0x198) from [] (kernel_init_freeable+0x108/0x1d0)
    [] (kernel_init_freeable+0x108/0x1d0) from [] (kernel_init+0x18/0xf4)
    [] (kernel_init+0x18/0xf4) from [] (ret_from_fork+0x14/0x20)
    Code: e50b0040 ebf54b2f e51b0040 eaffffee (e7f001f2)

    Fix it by telling generic layers about the static mapping via
    iotable_init(). This also has the nice side effect of letting
    you see the mapping in procfs' vmallocinfo file.

    Cc: Rob Herring
    Cc: Stephen Warren
    Signed-off-by: Stephen Boyd
    Signed-off-by: Russell King

    Stephen Boyd
     
  • Macro __INIT is used to place various code in head-common.S into the init
    section. This should be matched by a closing __FINIT. Also, add an
    explicit ".text" to ensure subsequent code is placed into the correct
    section; __FINIT is simply a closing marker to match __INIT and doesn't
    guarantee to revert to .text.

    This historically caused no problem, because macro __CPUINIT was used at
    the exact location where __FINIT was missing, which then placed following
    code into the cpuinit section. However, with commit 22f0a2736 "init.h:
    remove __cpuinit sections from the kernel" applied, __CPUINIT becomes a
    no-op, thus leaving all this code in the init section, rather than the
    regular text section. This caused issues such as secondary CPU boot
    failures or crashes.

    Signed-off-by: Stephen Warren
    Acked-by: Paul Gortmaker
    Signed-off-by: Russell King

    Stephen Warren
     
  • "ARM: OMAP: build mach-omap code only if needed" moved around the
    ARCH_OMAP2PLUS stanza, but accidentally dropped the seleciton of
    TI_PRIV_EDMA in the process. Add it back.

    Cc: Arnd Bergmann
    Cc: Tony Lindgren
    Signed-off-by: Olof Johansson

    Olof Johansson
     

08 Jul, 2013

1 commit

  • Pull slave-dmaengine updates from Vinod Koul:
    "Once you have some time from extended weekend celebrations please
    consider pulling the following to get:
    - Various fixes and PCI driver for dw_dmac by Andy
    - DT binding for imx-dma by Markus & imx-sdma by Shawn
    - DT fixes for dmaengine by Lars
    - jz4740 dmac driver by Lars
    - and various fixes across the drivers"

    What "extended weekend celebrations"? I'm in the merge window, who has
    time for extended celebrations..

    * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (40 commits)
    DMA: shdma: add DT support
    DMA: shdma: shdma_chan_filter() has to be in shdma-base.h
    DMA: shdma: (cosmetic) don't re-calculate a pointer
    dmaengine: at_hdmac: prepare clk before calling enable
    dmaengine/trivial: at_hdmac: add curly brackets to if/else expressions
    dmaengine: at_hdmac: remove unsuded atc_cleanup_descriptors()
    dmaengine: at_hdmac: add FIFO configuration parameter to DMA DT binding
    ARM: at91: dt: add header to define at_hdmac configuration
    MIPS: jz4740: Correct clock gate bit for DMA controller
    MIPS: jz4740: Remove custom DMA API
    MIPS: jz4740: Register jz4740 DMA device
    dma: Add a jz4740 dmaengine driver
    MIPS: jz4740: Acquire and enable DMA controller clock
    dma: mmp_tdma: disable irq when disabling dma channel
    dmaengine: PL08x: Avoid collisions with get_signal() macro
    dmaengine: dw: select DW_DMAC_BIG_ENDIAN_IO automagically
    dma: dw: add PCI part of the driver
    dma: dw: split driver to library part and platform code
    dma: move dw_dmac driver to an own directory
    dw_dmac: don't check resource with devm_ioremap_resource
    ...

    Linus Torvalds
     

07 Jul, 2013

3 commits

  • Pull timer core updates from Thomas Gleixner:
    "The timer changes contain:

    - posix timer code consolidation and fixes for odd corner cases

    - sched_clock implementation moved from ARM to core code to avoid
    duplication by other architectures

    - alarm timer updates

    - clocksource and clockevents unregistration facilities

    - clocksource/events support for new hardware

    - precise nanoseconds RTC readout (Xen feature)

    - generic support for Xen suspend/resume oddities

    - the usual lot of fixes and cleanups all over the place

    The parts which touch other areas (ARM/XEN) have been coordinated with
    the relevant maintainers. Though this results in an handful of
    trivial to solve merge conflicts, which we preferred over nasty cross
    tree merge dependencies.

    The patches which have been committed in the last few days are bug
    fixes plus the posix timer lot. The latter was in akpms queue and
    next for quite some time; they just got forgotten and Frederic
    collected them last minute."

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (59 commits)
    hrtimer: Remove unused variable
    hrtimers: Move SMP function call to thread context
    clocksource: Reselect clocksource when watchdog validated high-res capability
    posix-cpu-timers: don't account cpu timer after stopped thread runtime accounting
    posix_timers: fix racy timer delta caching on task exit
    posix-timers: correctly get dying task time sample in posix_cpu_timer_schedule()
    selftests: add basic posix timers selftests
    posix_cpu_timers: consolidate expired timers check
    posix_cpu_timers: consolidate timer list cleanups
    posix_cpu_timer: consolidate expiry time type
    tick: Sanitize broadcast control logic
    tick: Prevent uncontrolled switch to oneshot mode
    tick: Make oneshot broadcast robust vs. CPU offlining
    x86: xen: Sync the CMOS RTC as well as the Xen wallclock
    x86: xen: Sync the wallclock when the system time is set
    timekeeping: Indicate that clock was set in the pvclock gtod notifier
    timekeeping: Pass flags instead of multiple bools to timekeeping_update()
    xen: Remove clock_was_set() call in the resume path
    hrtimers: Support resuming with two or more CPUs online (but stopped)
    timer: Fix jiffies wrap behavior of round_jiffies_common()
    ...

    Linus Torvalds
     
  • Pull ARM DMA mapping updates from Marek Szyprowski:
    "This contains important bugfixes and an update for IOMMU integration
    support for ARM architecture"

    * 'for-v3.11' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
    ARM: dma: Drop __GFP_COMP for iommu dma memory allocations
    ARM: DMA-mapping: mark all !DMA_TO_DEVICE pages in unmapping as clean
    ARM: dma-mapping: NULLify dev->archdata.mapping pointer on detach
    ARM: dma-mapping: convert DMA direction into IOMMU protection attributes
    ARM: dma-mapping: Get pages if the cpu_addr is out of atomic_pool

    Linus Torvalds
     
  • Pull Xen ARM update rom Stefano Stabellini:
    "Just one commit this time: the implementation of the tmem hypercall
    for arm and arm64"

    * tag 'xenarm-for-3.11-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/sstabellini/xen:
    xen/arm and xen/arm64: implement HYPERVISOR_tmem_op

    Linus Torvalds
     

06 Jul, 2013

5 commits

  • This fixes building exynos kernels with CONFIG_PM disabled.

    Signed-off-by: Arnd Bergmann
    Cc: Kukjin Kim

    Arnd Bergmann
     
  • With the new linux/reboot.h header file dependency added, we can no
    longer build ixp4xx. The easiest way to avoid that is to remove the
    inclusion of mach/hardware.h from mach/timex.h, which does not need
    that header anyway.

    Signed-off-by: Arnd Bergmann
    Cc: Imre Kaloz
    Cc: Krzysztof Halasa
    Cc: Jason Cooper

    Arnd Bergmann
     
  • Some OMAP SoCs use this function while others do not, and that
    causes a warning when building multi_v7_defconfig. Marking the
    function __maybe_unused silences the harmless warning without the
    need to add complex #ifdef logic.

    Signed-off-by: Arnd Bergmann
    Cc: Tony Lindgren

    Arnd Bergmann
     
  • This was accidentally added in the wrong place, messing
    up the ordering of the file.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • If we build a kernel with CONFIG_ARCH_OMAP2PLUS enabled but all of the
    individual SoCs disabled, we run into a large number of link errors
    because if incorrect dependencies:

    arch/arm/mach-omap2/built-in.o: In function `_add_initiator_dep':
    arch/arm/mach-omap2/omap_hwmod.c:691: undefined reference to `clkdm_add_sleepdep' arch/arm/mach-omap2/built-in.o: In function `_del_initiator_dep':
    arch/arm/mach-omap2/omap_hwmod.c:720: undefined reference to `clkdm_del_sleepdep' arch/arm/mach-omap2/built-in.o: In function `_enable':
    arch/arm/mach-omap2/omap_hwmod.c:2145: undefined reference to `clkdm_in_hwsup'
    arch/arm/mach-omap2/omap_hwmod.c:2147: undefined reference to `clkdm_hwmod_enable'
    arch/arm/mach-omap2/omap_hwmod.c:2191: undefined reference to `clkdm_hwmod_disable'
    arch/arm/mach-omap2/omap_hwmod.c:2146: undefined reference to `clkdm_missing_idle_reporting' arch/arm/mach-omap2/built-in.o: In function `_idle':
    arch/arm/mach-omap2/omap_hwmod.c:2235: undefined reference to `clkdm_hwmod_disable' arch/arm/mach-omap2/built-in.o: In function `_shutdown':
    arch/arm/mach-omap2/omap_hwmod.c:2338: undefined reference to `clkdm_hwmod_disable' arch/arm/mach-omap2/built-in.o: In function `omap_hwmod_get_context_loss_count':
    arch/arm/mach-omap2/omap_hwmod.c:4071: undefined reference to `pwrdm_get_context_loss_count' arch/arm/mach-omap2/built-in.o: In function `omap_pm_clkdms_setup':
    arch/arm/mach-omap2/pm.c:114: undefined reference to `clkdm_allow_idle'
    arch/arm/mach-omap2/pm.c:117: undefined reference to `clkdm_sleep' arch/arm/mach-omap2/built-in.o: In function `omap2_common_pm_late_init':
    arch/arm/mach-omap2/pm.c:294: undefined reference to `omap_voltage_late_init' arch/arm/mach-omap2/built-in.o: In function `omap2_gpio_dev_init':
    arch/arm/mach-omap2/gpio.c:133: undefined reference to `pwrdm_can_ever_lose_context'

    We can avoid this if we make CONFIG_ARCH_OMAP2PLUS a silent option that
    gets enabled any time that one of the SoC versions is enabled.

    Cc: Tony Lindgren
    Signed-off-by: Arnd Bergmann

    Arnd Bergmann