20 Dec, 2014

2 commits


18 Dec, 2014

5 commits

  • If NO_DMA=y:

    drivers/built-in.o: In function `sh_mobile_i2c_dma_unmap':
    i2c-sh_mobile.c:(.text+0x60de42): undefined reference to `dma_unmap_single'
    drivers/built-in.o: In function `sh_mobile_i2c_xfer_dma':
    i2c-sh_mobile.c:(.text+0x60df22): undefined reference to `dma_map_single'
    i2c-sh_mobile.c:(.text+0x60df2e): undefined reference to `dma_mapping_error'

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Wolfram Sang

    Geert Uytterhoeven
     
  • DMA is opt-in for this driver. So, we can't use deferred probing for
    requesting DMA channels in probe, because our driver would get endlessly
    deferred if DMA support is compiled in AND the DMA driver is missing.
    Because we can't know when the DMA driver might show up, we always try
    again when a DMA transfer would be possible. The downside is that there
    is more overhead for setting up PIO transfers under the above scenario.
    But well, having DMA enabled and the proper DMA driver missing looks
    like a broken or test config anyhow.

    Reported-by: Geert Uytterhoeven
    Signed-off-by: Wolfram Sang
    Signed-off-by: Wolfram Sang

    Wolfram Sang
     
  • Refactor DMA setup to keep the errno so we can implement better
    deferred probe support in the next step.

    Signed-off-by: Wolfram Sang
    Signed-off-by: Wolfram Sang

    Wolfram Sang
     
  • Originally, the I2C controller supported by the i2c-mv64xxx driver
    requires a lot of software support: an interrupt is generated at each
    step of an I2C transaction (after the start bit, after sending the
    address, etc.) and the driver is in charge of re-programming the I2C
    controller to do the next step of the I2C transaction. This explains
    the fairly complex state machine that the driver has.

    On Marvell Armada XP and later processors (Armada 375, 38x, etc.), the
    I2C controller was extended with a part called the "I2C Bridge", which
    allows to offload the I2C transaction completely to the
    hardware. Initial support for this mechanism was added in commit
    930ab3d403a ("i2c: mv64xxx: Add I2C Transaction Generator support").

    However, the implementation done in this commit has two related
    issues, which this commit fixes by completely changing how the offload
    implementation is done:

    * SMBus read transfers, where there is one write to select the
    register immediately followed in the same transaction by one read,
    were making the processor hang. This was easier visible on the
    Marvell Armada XP WRT1900AC platform using a driver for an I2C LED
    controller, or on other Armada XP platforms by using a simple
    'i2cget' command to read an I2C EEPROM.

    * The implementation was based on the fact that the offload engine
    was re-programmed to transfer each message of an I2C xfer: this
    meant that each message sent with the offload engine was starting
    with a normal I2C start sequence. However, the I2C subsystem
    assumes that all messages belonging to the same xfer will use the
    so-called "repeated start" so that the entire I2C xfer is seen as
    one transfer by the I2C devices and cannot be interrupt by other
    I2C masters on the same bus.

    In fact, the "I2C Bridge" allows to offload three types of xfer:

    - xfer of one write message
    - xfer of one read message
    - xfer of one write message followed by one read message

    For all other situations, we have to fallback to not using the "I2C
    Bridge" in order to get proper I2C semantics.

    Therefore, this commit reworks the offload implementation to put it
    not at the message level, but at the xfer level: in the
    mv64xxx_i2c_xfer() function, we decide if the transaction can be
    offloaded (in which case it is handled by the
    mv64xxx_i2c_offload_xfer() function), or otherwise it is handled by
    the slow path (implemented in the existing mv64xxx_i2c_execute_msg()).

    This allows to simplify the state machine, which no longer needs to
    have any state related to the offload implementation: the offload
    implementation is now completely separated from the slow path (with
    the exception of the interrupt handler, of course).

    In summary:

    - mv64xxx_i2c_can_offload() will analyze an I2C xfer and decided of
    the "I2C Bridge" can be used to offload it or not.

    - mv64xxx_i2c_offload_xfer() will actually program the "I2C Bridge"
    to offload one xfer (of either one or two messages), and block
    using mv64xxx_i2c_wait_for_completion() until the xfer completes.

    - The interrupt handler mv64xxx_i2c_intr() is modified to push the
    offload related code to a separate function,
    mv64xxx_i2c_intr_offload(). It will take care of reading the
    received data if needed.

    This commit was tested on:

    - Armada XP OpenBlocks AX3-4 (EEPROM on I2C and RTC on I2C)
    - Armada XP WRT1900AC (LED controller on I2C)
    - Armada XP GP (EEPROM on I2C)

    Fixes: 930ab3d403ae ("i2c: mv64xxx: Add I2C Transaction Generator support")
    Cc: # v3.12+
    Signed-off-by: Thomas Petazzoni
    [wsa: fixed checkpatch warnings]
    Signed-off-by: Wolfram Sang

    Thomas Petazzoni
     
  • Signed-off-by: Thomas Petazzoni
    Signed-off-by: Wolfram Sang

    Thomas Petazzoni
     

17 Dec, 2014

14 commits

  • Pull vfs pile #2 from Al Viro:
    "Next pile (and there'll be one or two more).

    The large piece in this one is getting rid of /proc/*/ns/* weirdness;
    among other things, it allows to (finally) make nameidata completely
    opaque outside of fs/namei.c, making for easier further cleanups in
    there"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    coda_venus_readdir(): use file_inode()
    fs/namei.c: fold link_path_walk() call into path_init()
    path_init(): don't bother with LOOKUP_PARENT in argument
    fs/namei.c: new helper (path_cleanup())
    path_init(): store the "base" pointer to file in nameidata itself
    make default ->i_fop have ->open() fail with ENXIO
    make nameidata completely opaque outside of fs/namei.c
    kill proc_ns completely
    take the targets of /proc/*/ns/* symlinks to separate fs
    bury struct proc_ns in fs/proc
    copy address of proc_ns_ops into ns_common
    new helpers: ns_alloc_inum/ns_free_inum
    make proc_ns_operations work with struct ns_common * instead of void *
    switch the rest of proc_ns_operations to working with &...->ns
    netns: switch ->get()/->put()/->install()/->inum() to working with &net->ns
    make mntns ->get()/->put()/->install()/->inum() work with &mnt_ns->ns
    common object embedded into various struct ....ns

    Linus Torvalds
     
  • Pull isofs and reiserfs fixes from Jan Kara:
    "A reiserfs and an isofs fix. They arrived after I sent you my first
    pull request and I don't want to delay them unnecessarily till rc2"

    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
    isofs: Fix infinite looping over CE entries
    reiserfs: destroy allocated commit workqueue

    Linus Torvalds
     
  • Pull nfsd updates from Bruce Fields:
    "A comparatively quieter cycle for nfsd this time, but still with two
    larger changes:

    - RPC server scalability improvements from Jeff Layton (using RCU
    instead of a spinlock to find idle threads).

    - server-side NFSv4.2 ALLOCATE/DEALLOCATE support from Anna
    Schumaker, enabling fallocate on new clients"

    * 'for-3.19' of git://linux-nfs.org/~bfields/linux: (32 commits)
    nfsd4: fix xdr4 count of server in fs_location4
    nfsd4: fix xdr4 inclusion of escaped char
    sunrpc/cache: convert to use string_escape_str()
    sunrpc: only call test_bit once in svc_xprt_received
    fs: nfsd: Fix signedness bug in compare_blob
    sunrpc: add some tracepoints around enqueue and dequeue of svc_xprt
    sunrpc: convert to lockless lookup of queued server threads
    sunrpc: fix potential races in pool_stats collection
    sunrpc: add a rcu_head to svc_rqst and use kfree_rcu to free it
    sunrpc: require svc_create callers to pass in meaningful shutdown routine
    sunrpc: have svc_wake_up only deal with pool 0
    sunrpc: convert sp_task_pending flag to use atomic bitops
    sunrpc: move rq_cachetype field to better optimize space
    sunrpc: move rq_splice_ok flag into rq_flags
    sunrpc: move rq_dropme flag into rq_flags
    sunrpc: move rq_usedeferral flag to rq_flags
    sunrpc: move rq_local field to rq_flags
    sunrpc: add a generic rq_flags field to svc_rqst and move rq_secure to it
    nfsd: minor off by one checks in __write_versions()
    sunrpc: release svc_pool_map reference when serv allocation fails
    ...

    Linus Torvalds
     
  • Pull ARM SoC/iommu configuration update from Arnd Bergmann:
    "The iomm-config branch contains work from Will Deacon, quoting his
    description:

    This series adds automatic IOMMU and DMA-mapping configuration for
    OF-based DMA masters described using the generic IOMMU devicetree
    bindings. Although there is plenty of future work around splitting up
    iommu_ops, adding default IOMMU domains and sorting out automatic IOMMU
    group creation for the platform_bus, this is already useful enough for
    people to port over their IOMMU drivers and start using the new probing
    infrastructure (indeed, Marek has patches queued for the Exynos IOMMU).

    The branch touches core ARM and IOMMU driver files, and the respective
    maintainers (Russell King and Joerg Roedel) agreed to have the
    contents merged through the arm-soc tree.

    The final version was ready just before the merge window, so we ended
    up delaying it a bit longer than the rest, but we don't expect to see
    regressions because this is just additional infrastructure that will
    get used in drivers starting in 3.20 but is unused so far"

    * tag 'iommu-config-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    iommu: store DT-probed IOMMU data privately
    arm: dma-mapping: plumb our iommu mapping ops into arch_setup_dma_ops
    arm: call iommu_init before of_platform_populate
    dma-mapping: detect and configure IOMMU in of_dma_configure
    iommu: fix initialization without 'add_device' callback
    iommu: provide helper function to configure an IOMMU for an of master
    iommu: add new iommu_ops callback for adding an OF device
    dma-mapping: replace set_arch_dma_coherent_ops with arch_setup_dma_ops
    iommu: provide early initialisation hook for IOMMU drivers

    Linus Torvalds
     
  • Pull ARM SoC DT updates part 2 from Arnd Bergmann:
    "This is a follow-up to the early ARM SoC DT changes, with additional
    content that has external dependencies:

    - The Tegra IOMMU DT support depends on changes from the iommu tree,
    plus the contents of the arm-soc drivers branch
    - The MVEBU PHY support depends on changes from the phy tree
    - The AT91 DT support depends on changes from the RTC and DMA-slave
    trees

    All of these changes just enable additional devices for existing
    platforms"

    * tag 'dt2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: tegra: Enable IOMMU for display controllers on Tegra124
    ARM: tegra: Enable IOMMU for display controllers on Tegra114
    ARM: tegra: Enable IOMMU for display controllers on Tegra30
    ARM: tegra: Add memory controller support for Tegra124
    ARM: tegra: Add memory controller support for Tegra114
    ARM: tegra: Add memory controller support for Tegra30
    ARM: tegra: Add APB_MISC_GP as a MIPI pad control bank
    ARM: mvebu: add PHY support to the dts for the USB controllers on Armada 375
    ARM: mvebu: add Device Tree description of USB cluster controller on Armada 375
    ARM: at91/dt: at91sam9g45: add ISI node
    ARM: at91/dt: enable the RTT block on the at91sam9m10g45ek board
    ARM: at91/dt: enable the RTT block on the sam9g20ek board
    ARM: at91/dt: add GPBR nodes
    ARM: at91/dt: add RTT nodes to at91 dtsis
    ARM: at91/dt: at91sam9rl: add rtc
    ARM: at91: fix GPLv2 wording
    ARM: at91/dt: sama5d4: add DMA support
    ARM: at91/dt: sama5d4: use macro instead of numeric value

    Linus Torvalds
     
  • Pull ARM SoC fixes from Arnd Bergmann:
    "Here are the first arm-soc bug fixes. Most of these are OMAP related
    fixes for regressions or minor bugs. Aside from that, there are a few
    defconfig changes for various platforms"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    iommu/exynos: Fix arm64 allmodconfig build
    ARM: defconfigs: use CONFIG_CPUFREQ_DT
    ARM: omap2plus_defconfig: Enable AHCI_PLATFORM driver
    ARM: dts: am437x-sk-evm.dts: fix LCD timings
    ARM: dts: dra7-evm: Update SMPS7 (VDD_CORE) max voltage to match DM
    ARM: dts: dra7-evm: Fix typo in SMPS6 (VDD_GPU) max voltage
    ARM: OMAP2+: AM43x: Add ID for ES1.2
    ARM: dts: am437x-sk: fix lcd enable pin mux data
    ARM: dts: Fix gpmc regression for omap 2430sdp smc91x
    Revert "ARM: shmobile: multiplatform: add Audo DMAC peri peri support on defconfig"
    ARM: dts: dra7: fix DSS PLL clock mux registers
    ARM: dts: DRA7: wdt: Fix compatible property for watchdog node
    ARM: OMAP2+: clock: remove unused function prototype

    Linus Torvalds
     
  • Pull arm64 fixes from Will Deacon:
    "Given that my availability next week is likely to be poor, here are
    three arm64 fixes to resolve some issues introduced by features merged
    last week. I was going to wait until -rc1, but it doesn't make much
    sense to sit on fixes.

    Fix some fallout introduced during the merge window:

    - Build failure when PM_SLEEP is disabled but CPU_IDLE is enabled
    - Compiler warning from page table dumper w/ 48-bit VAs
    - Erroneous page table truncation in reported dump"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: mm: dump: don't skip final region
    arm64: mm: dump: fix shift warning
    arm64: psci: Fix build breakage without PM_SLEEP

    Linus Torvalds
     
  • Pull Xtensa fixes from Chris Zankel:
    - fix nommu support
    - remove s6000 variant and s6105 platform
    - fix permissions for kmapped pages so that copy_to_user_page works with them
    - add power management menu to Kconfig to allow use of runtime PM
    - disable linker optimizations because of a linker bug
    - fix sparse error

    * tag 'xtensa-next-20141215' of git://github.com/czankel/xtensa-linux:
    xtensa: disable link optimization
    xtensa/uaccess: fix sparse errors
    xtensa: fix kmap_prot definition
    xtensa: add power management menu to Kconfig
    xtensa: remove s6000 variant and s6105 platform
    xtensa: make PLATFORM_DEFAULT_MEM parameters configurable
    xtensa: nommu: clean up memory map dump
    xtensa: nommu: reserve memory below PLATFORM_DEFAULT_MEM_START
    xtensa: nommu: set up cache and atomctl in initialize_mmu
    xtensa: move vecbase SR initialization to _startup
    xtensa: nommu: fix uImage load address
    xtensa: nommu: fix load address definitions
    xtensa: nommu: fix Image.elf reset code and ld script
    xtensa: nommu: add MMU dependency to DEBUG_TLB_SANITY
    xtensa: nommu: don't build most of the cache flushing code
    xtensa: nommu: don't provide arch_get_unmapped_area
    xtensa: nommu: provide MAP_UNINITIALIZED definition
    xtensa: nommu: provide _PAGE_CHG_MASK definition
    xtensa: nommu: provide __invalidate_dcache_page_alias stub
    xtensa: nommu: move init_mmu stub to nommu_context.h

    Linus Torvalds
     
  • Pull arch/tile updates from Chris Metcalf:
    "Note that one of the changes converts my old cmetcalf@tilera.com email
    in MAINTAINERS to the cmetcalf@ezchip.com email that you see on this
    email"

    * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    arch/tile: update MAINTAINERS email to EZchip
    tile: avoid undefined behavior with regs[TREG_TP] etc
    arch: tile: kernel: kgdb.c: Use memcpy() instead of pointer copy one by one
    tile: Use the more common pr_warn instead of pr_warning
    arch: tile: gxio: Export symbols for module using in 'mpipe.c'
    arch: tile: kernel: signal.c: Use __copy_from/to_user() instead of __get/put_user()

    Linus Torvalds
     
  • Pull additional xen update from David Vrabel:
    "Xen: additional features for 3.19-rc0

    - Linear p2m for x86 PV guests which simplifies the p2m code,
    improves performance and will allow for > 512 GB PV guests in the
    future.

    A last-minute, configuration specific issue was discovered with this
    change which is why it was not included in my previous pull request.
    This is now been fixed and tested"

    * tag 'stable/for-linus-3.19-rc0b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen: switch to post-init routines in xen mmu.c earlier
    Revert "swiotlb-xen: pass dev_addr to swiotlb_tbl_unmap_single"
    xen: annotate xen_set_identity_and_remap_chunk() with __init
    xen: introduce helper functions to do safe read and write accesses
    xen: Speed up set_phys_to_machine() by using read-only mappings
    xen: switch to linear virtual mapped sparse p2m list
    xen: Hide get_phys_to_machine() to be able to tune common path
    x86: Introduce function to get pmd entry pointer
    xen: Delay invalidating extra memory
    xen: Delay m2p_override initialization
    xen: Delay remapping memory of pv-domain
    xen: use common page allocation function in p2m.c
    xen: Make functions static
    xen: fix some style issues in p2m.c

    Linus Torvalds
     
  • …l/git/shuah/linux-kselftest

    Pull kselftest update from Shuah Khan:
    "kselftest updates for 3.19-rc1:

    - kcmp test include file cleanup
    - kcmp change to build on all architectures
    - A light weight kselftest framework that provides a set of
    interfaces for tests to use to report results. In addition,
    several tests are updated to use the framework.
    - A new runtime system size test that prints the amount of RAM that
    the currently running system is using"

    * tag 'linux-kselftest-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
    selftest: size: Add size test for Linux kernel
    selftests/kcmp: Always try to build the test
    selftests/kcmp: Don't include kernel headers
    kcmp: Move kcmp.h into uapi
    selftests/timers: change test to use ksft framework
    selftests/kcmp: change test to use ksft framework
    selftests/ipc: change test to use ksft framework
    selftests/breakpoints: change test to use ksft framework
    selftests: add kselftest framework for uniform test reporting
    selftests/user: move test out of Makefile into a shell script
    selftests/net: move test out of Makefile into a shell script

    Linus Torvalds
     
  • Pull tracing updates from Steven Rostedt:
    "As the merge window is still open, and this code was not as complex as
    I thought it might be. I'm pushing this in now.

    This will allow Thomas to debug his irq work for 3.20.

    This adds two new features:

    1) Allow traceopoints to be enabled right after mm_init().

    By passing in the trace_event= kernel command line parameter,
    tracepoints can be enabled at boot up. For debugging things like
    the initialization of interrupts, it is needed to have tracepoints
    enabled very early. People have asked about this before and this
    has been on my todo list. As it can be helpful for Thomas to debug
    his upcoming 3.20 IRQ work, I'm pushing this now. This way he can
    add tracepoints into the IRQ set up and have users enable them when
    things go wrong.

    2) Have the tracepoints printed via printk() (the console) when they
    are triggered.

    If the irq code locks up or reboots the box, having the tracepoint
    output go into the kernel ring buffer is useless for debugging.
    But being able to add the tp_printk kernel command line option
    along with the trace_event= option will have these tracepoints
    printed as they occur, and that can be really useful for debugging
    early lock up or reboot problems.

    This code is not that intrusive and it passed all my tests. Thomas
    tried them out too and it works for his needs.

    Link: http://lkml.kernel.org/r/20141214201609.126831471@goodmis.org"

    * tag 'trace-3.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    tracing: Add tp_printk cmdline to have tracepoints go to printk()
    tracing: Move enabling tracepoints to just after rcu_init()

    Linus Torvalds
     
  • …nux/kernel/git/horms/renesas into fixes

    Pull "Renesas ARM Based SoC Defconfig Fixes for v3.19" from Simon Horman:

    * Revert change enabling RCAR_AUDMAC_PP in shmobile_defconfig

    Unfortunately enabling RCAR_AUDMAC_PP support this patch breaks dmaengine
    support on R-Car Gen2 boards. This should be resolved by driver updates
    in v3.20. But v3.19 was too early for this defconfig change.

    * tag 'renesas-defconfig-fixes-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
    Revert "ARM: shmobile: multiplatform: add Audo DMAC peri peri support on defconfig"

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     
  • The Exynos IOMMU driver uses the ARM specific dmac_flush_range() and
    outer_flush_range() functions. This breaks the build on arm64 allmodconfig
    in -next since support has been merged for some Exynos ARMv8 SoCs. Add a
    dependency on ARM to keep things building until either the driver has the
    ARM dependencies removed or the ARMv8 architecture code implements these
    ARM specific APIs.

    Signed-off-by: Mark Brown
    Signed-off-by: Arnd Bergmann

    Mark Brown
     

16 Dec, 2014

18 commits

  • The default linker behavior is to optimize identical literal values
    and remove unnecessary overhead. However, because of a bug in the
    linker, this currently results in an error ('call target out of range').

    Disable link-time optimizations per default until there is a fix
    for the linker and add the option to iss_defconfig.

    Signed-off-by: Chris Zankel

    Chris Zankel
     
  • virtio wants to read bitwise types from userspace using get_user. At the
    moment this triggers sparse errors, since the value is passed through an
    integer.

    Fix that up using __force.

    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: Chris Zankel

    Michael S. Tsirkin
     
  • Xtensa improvements for 3.19:

    - fix permissions for kmapped pages so that copy_to_user_page works with
    them;
    - add power management menu to Kconfig to allow use of runtime PM.

    Chris Zankel
     
  • Linux 3.18

    Chris Zankel
     
  • Pull LED subsystem update from Bryan Wu:
    "We got some cleanup and driver for LP8860 as well as some patches for
    LED Flash Class"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
    leds: lp8860: Fix module dependency
    leds: lp8860: Introduce TI lp8860 4 channel LED driver
    leds: Add support for setting brightness in a synchronous way
    leds: implement sysfs interface locking mechanism
    leds: syscon: handle multiple syscon instances
    leds: delete copy/paste mistake
    leds: regulator: Convert to devm_regulator_get_exclusive

    Linus Torvalds
     
  • Pull staging driver updates from Greg KH:
    "Here's the big staging tree pull request for 3.19-rc1.

    We continued to delete more lines than were added, always a good
    thing, but not at a huge rate this release, only about 70k lines
    removed overall mostly from removing the horrid bcm driver.

    Lots of normal staging driver cleanups and fixes all over the place,
    well over a thousand of them, the shortlog shows all the horrid
    details.

    The "contentious" thing here is the movement of the Android binder
    code out of staging into the "real" part of the kernel. This is code
    that has been stable for a few years now and is working as-is in the
    tens of millions of devices with no issues. Yes, the code is horrid,
    and the userspace api leaves a lot to be desired, but it's not going
    to change due to legacy issues that we have no control over. Because
    so many devices and companies rely on this, and the code is stable,
    might as well promote it out of staging.

    This was all discussed at the Linux Plumbers conference, and everyone
    participating agreed that this was the best way forward.

    There is work happening to replace the binder code with something new
    that is happening right now, but I don't expect to see the results of
    that work for another year at the earliest. If that ever happens, and
    Android switches over to it, I'll gladly remove this version.

    As for maintainers, I'll be glad to maintain this code, I've been
    doing it for the past few years with no problems. I'll send a
    MAINTAINERS entry for it before 3.19-final is out, still need to talk
    to the Google developers about if they are willing to help with it or
    not, last I checked they were, which was good.

    All of these patches have been in linux-next for a while with no
    reported issues"

    * tag 'staging-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1382 commits)
    Staging: slicoss: Fix long line issues in slicoss.c
    staging: rtl8712: remove unnecessary else after return
    staging: comedi: change some printk calls to pr_err
    staging: rtl8723au: hal: Removed the extra semicolon
    lustre: Deletion of unnecessary checks before three function calls
    staging: lustre: fix sparse warnings: static function declaration
    staging: lustre: fixed sparse warnings related to static declarations
    staging: unisys: remove duplicate header
    staging: unisys: remove unneeded structure
    staging: ft1000 : replace __attribute ((__packed__) with __packed
    drivers: staging: rtl8192e: Include "asm/unaligned.h" instead of "access_ok.h" in "rtl819x_BAProc.c"
    Drivers:staging:rtl8192e: Fixed checkpatch warning
    Drivers:staging:clocking-wizard: Added a newline
    staging: clocking-wizard: check for a valid clk_name pointer
    staging: rtl8723au: Hal_InitPGData() avoid unnecessary typecasts
    staging: rtl8723au: _DisableAnalog(): Avoid zero-init variables unnecessarily
    staging: rtl8723au: Remove unnecessary wrapper _ResetDigitalProcedure1()
    staging: rtl8723au: _ResetDigitalProcedure1_92C() reduce code obfuscation
    staging: rtl8723au: Remove unnecessary wrapper _DisableRFAFEAndResetBB()
    staging: rtl8723au: _DisableRFAFEAndResetBB8192C(): Reduce code obfuscation
    ...

    Linus Torvalds
     
  • Pull firewire updates from Stefan Richter:
    "IEEE 1394 subsystem updates:
    - clean up firewire-ohci's longlived vm-mapping
    - use target instance lock instead of core lock in firewire-sbp2"

    * tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
    firewire: sbp2: replace card lock by target lock
    firewire: sbp2: replace some spin_lock_irqsave by spin_lock_irq
    firewire: sbp2: protect a reference counter properly
    firewire: core: document fw_csr_string's truncation of long strings
    firewire: ohci: replace vm_map_ram() with vmap()

    Linus Torvalds
     
  • Pull power supply updates from Sebastian Reichel::
    "Power supply and reset changes for the v3.19 series

    - update power/reset drivers to use kernel restart handler
    - add power off driver for i.mx6
    - add DT support for gpio-charger"

    * tag 'for-v3.19' of git://git.infradead.org/battery-2.6:
    power: reset: adjust priority of simple syscon reboot driver
    power: ds2782_battery: Simplify the PM hooks
    power/reset: brcmstb: Register with kernel restart handler
    power/reset: hisi: Register with kernel restart handler
    power/reset: keystone: Register with kernel restart handler
    power/reset: axxia: Register with kernel restart handler
    power/reset: xgene: Register with kernel restart handler
    power/reset: xgene: Use mdelay instead of jiffies based timeout
    power/reset: xgene: Use local variable dev instead of pdev->dev
    power/reset: xgene: Drop devm_kfree
    power/reset: xgene: Return -ENOMEM if out of memory
    power/reset: vexpress: Register with kernel restart handler
    power: reset: imx-snvs-poweroff: add power off driver for i.mx6
    power: gpio-charger: add device tree support
    dt-bindings: document gpio-charger bindings

    Linus Torvalds
     
  • Pull HSI update from Sebastian Reichel:
    "Misc fixes in omap-ssi and nokia-modem drivers"

    * tag 'hsi-for-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
    HSI: nokia-modem: fix error handling of irq_of_parse_and_map
    HSI: nokia-modem: setup default value for pm parameter
    HSI: omap_ssi_port: Don't print uninitialized err
    HSI: remove deprecated IRQF_DISABLED

    Linus Torvalds
     
  • Pull irq domain ARM updates from Thomas Gleixner:
    "This set of changes make use of hierarchical irqdomains to provide:

    - MSI/ITS support for GICv3
    - MSI support for GICv2m
    - Interrupt polarity extender for GICv1

    Marc has come more cleanups for the existing extension hooks of GIC in
    the pipeline, but they are going to be 3.20 material"

    * 'irq-irqdomain-arm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
    irqchip: gicv3-its: Fix ITT allocation
    irqchip: gicv3-its: Move some alloc/free code to activate/deactivate
    irqchip: gicv3-its: Fix domain free in multi-MSI case
    irqchip: gic: Remove warning by including linux/irqdomain.h
    irqchip: gic-v2m: Add DT bindings for GICv2m
    irqchip: gic-v2m: Add support for ARM GICv2m MSI(-X) doorbell
    irqchip: mtk-sysirq: dt-bindings: Add bindings for mediatek sysirq
    irqchip: mtk-sysirq: Add sysirq interrupt polarity support
    irqchip: gic: Support hierarchy irq domain.
    irqchip: GICv3: Binding updates for ITS
    irqchip: GICv3: ITS: enable compilation of the ITS driver
    irqchip: GICv3: ITS: plug ITS init into main GICv3 code
    irqchip: GICv3: ITS: DT probing and initialization
    irqchip: GICv3: ITS: MSI support
    irqchip: GICv3: ITS: device allocation and configuration
    irqchip: GICv3: ITS: tables allocators
    irqchip: GICv3: ITS: LPI allocator
    irqchip: GICv3: ITS: irqchip implementation
    irqchip: GICv3: ITS command queue
    irqchip: GICv3: rework redistributor structure
    ...

    Linus Torvalds
     
  • Pull core block fix from Jens Axboe:
    "Jan reported a problem this morning with a crash in blk-mq, and after
    looking over the recent changes, it's obvious that the blk-mq-tag
    waitqueue handling change is buggy. We could end up _not_ doing
    finish_wait() before switching to a new waitqueue, thus corrupting the
    wait task list"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    Revert "blk-mq: Micro-optimize bt_get()"

    Linus Torvalds
     
  • Pull rpmsg update from Ohad Ben-Cohen:
    "A single patch from Suman Anna which makes rpmsg use less buffers when
    small vrings are being used"

    * tag 'rpmsg-3.19-next' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/rpmsg:
    rpmsg: use less buffers when vrings are small

    Linus Torvalds
     
  • Pull drm updates from Dave Airlie:
    "Highlights:

    - AMD KFD driver merge

    This is the AMD HSA interface for exposing a lowlevel interface for
    GPGPU use. They have an open source userspace built on top of this
    interface, and the code looks as good as it was going to get out of
    tree.

    - Initial atomic modesetting work

    The need for an atomic modesetting interface to allow userspace to
    try and send a complete set of modesetting state to the driver has
    arisen, and been suffering from neglect this past year. No more,
    the start of the common code and changes for msm driver to use it
    are in this tree. Ongoing work to get the userspace ioctl finished
    and the code clean will probably wait until next kernel.

    - DisplayID 1.3 and tiled monitor exposed to userspace.

    Tiled monitor property is now exposed for userspace to make use of.

    - Rockchip drm driver merged.

    - imx gpu driver moved out of staging

    Other stuff:

    - core:
    panel - MIPI DSI + new panels.
    expose suggested x/y properties for virtual GPUs

    - i915:
    Initial Skylake (SKL) support
    gen3/4 reset work
    start of dri1/ums removal
    infoframe tracking
    fixes for lots of things.

    - nouveau:
    tegra k1 voltage support
    GM204 modesetting support
    GT21x memory reclocking work

    - radeon:
    CI dpm fixes
    GPUVM improvements
    Initial DPM fan control

    - rcar-du:
    HDMI support added
    removed some support for old boards
    slave encoder driver for Analog Devices adv7511

    - exynos:
    Exynos4415 SoC support

    - msm:
    a4xx gpu support
    atomic helper conversion

    - tegra:
    iommu support
    universal plane support
    ganged-mode DSI support

    - sti:
    HDMI i2c improvements

    - vmwgfx:
    some late fixes.

    - qxl:
    use suggested x/y properties"

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (969 commits)
    drm: sti: fix module compilation issue
    drm/i915: save/restore GMBUS freq across suspend/resume on gen4
    drm: sti: correctly cleanup CRTC and planes
    drm: sti: add HQVDP plane
    drm: sti: add cursor plane
    drm: sti: enable auxiliary CRTC
    drm: sti: fix delay in VTG programming
    drm: sti: prepare sti_tvout to support auxiliary crtc
    drm: sti: use drm_crtc_vblank_{on/off} instead of drm_vblank_{on/off}
    drm: sti: fix hdmi avi infoframe
    drm: sti: remove event lock while disabling vblank
    drm: sti: simplify gdp code
    drm: sti: clear all mixer control
    drm: sti: remove gpio for HDMI hot plug detection
    drm: sti: allow to change hdmi ddc i2c adapter
    drm/doc: Document drm_add_modes_noedid() usage
    drm/i915: Remove '& 0xffff' from the mask given to WA_REG()
    drm/i915: Invert the mask and val arguments in wa_add() and WA_REG()
    drm: Zero out DRM object memory upon cleanup
    drm/i915/bdw: Fix the write setting up the WIZ hashing mode
    ...

    Linus Torvalds
     
  • The VM_FAULT_RETRY handling was confusing and incorrect for the case of
    returning to kernel mode. We need to handle the exception table fixup
    if we return to kernel mode due to a fatal signal - it will basically
    look to the kernel user mode access like the access failed due to the VM
    going away from udner it. Which is correct - the process is dying - and
    avoids the whole "repeat endless kernel page faults" case.

    Handling the VM_FAULT_RETRY early and in just one place also simplifies
    the mmap_sem handling, since once we've taken care of VM_FAULT_RETRY we
    know that we can just drop the lock. The remaining accounting and
    possible error handling is thread-local and does not need the mmap_sem.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • This replaces four copies in various stages of mm_fault_error() handling
    with just a single one. It will also allow for more natural placement
    of the unlocking after some further cleanup.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • …m/linux/kernel/git/tmlind/linux-omap into fixes

    From: Tony Lindgren <tony@atomide.com>
    Subject: [GIT PULL] few fixes for the v3.19 merge window

    Fixes for a few issues found that would be good to get
    into -rc1:

    - Update SoC revision detection for am43x es1.2

    - Fix regression with GPMC timings on 2430sdp for some versions
    of u-boot

    - Fix dra7 watchdog compatible property

    - Fix am437x-sk-evm LCD timings

    - Fix dra7 DSS clock muxing

    - Fix dra7-evm voltages

    - Remove a unused function prototype for am33xx_clk_init

    - Enable AHCI in the omap2plus_defconfig

    * tag 'omap-for-v3.19/fixes-for-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (1601 commits)
    ARM: omap2plus_defconfig: Enable AHCI_PLATFORM driver
    ARM: dts: am437x-sk-evm.dts: fix LCD timings
    ARM: dts: dra7-evm: Update SMPS7 (VDD_CORE) max voltage to match DM
    ARM: dts: dra7-evm: Fix typo in SMPS6 (VDD_GPU) max voltage
    ARM: OMAP2+: AM43x: Add ID for ES1.2
    ARM: dts: am437x-sk: fix lcd enable pin mux data
    ARM: dts: Fix gpmc regression for omap 2430sdp smc91x
    hwmon: (tmp401) Detect TMP435 on all addresses it supports
    mfd: rtsx: Add func to split u32 into register
    mmc: sdhci-msm: Convert to mmc_send_tuning()
    mmc: sdhci-esdhc-imx: Convert to mmc_send_tuning()
    mmc: core: Let mmc_send_tuning() to take struct mmc_host* as parameter
    nios2: Make NIOS2_CMDLINE_IGNORE_DTB depend on CMDLINE_BOOL
    nios2: Add missing NR_CPUS to Kconfig
    nios2: asm-offsets: Remove unused definition TI_TASK
    nios2: Remove write-only struct member from nios2_timer
    nios2: Remove unused extern declaration of shm_align_mask
    nios2: include linux/type.h in io.h
    nios2: move include asm-generic/io.h to end of file
    nios2: remove include asm-generic/iomap.h from io.h
    ...

    Kevin Hilman
     
  • CONFIG_GENERIC_CPUFREQ_CPU0 disappeared with commit bbcf071969b20f
    ("cpufreq: cpu0: rename driver and internals to 'cpufreq_dt'") and some
    defconfigs are still using it instead of the new one.

    Use the renamed CONFIG_CPUFREQ_DT generic driver.

    Cc: # 3.18
    Reported-by: Nishanth Menon
    Signed-off-by: Viresh Kumar
    Signed-off-by: Kevin Hilman

    Viresh Kumar
     
  • David Vrabel
     

15 Dec, 2014

1 commit

  • This reverts commit 52f7eb945f2ba62b324bb9ae16d945326a961dcf.

    The optimization is only really safe for a single queue, otherwise
    'bs' and 'bt' can indeed change, and if we don't do a finish_wait()
    for each loop, we'll potentially change the wait structure and
    corrupt task wait list.

    Reported-by: Jan Kara

    Jens Axboe