17 Jun, 2014

8 commits

  • This config exists entirely to hide the cpufreq menu from the
    kernel configuration unless a platform has selected it. Nothing
    is actually built if this config is 'Y' and it just leads to more
    patches that add a select under a platform Kconfig so that some
    other CPUfreq option can be chosen. Let's remove the option so
    that we can always enable CPUfreq drivers on ARM platforms.

    Acked-by: Viresh Kumar
    Signed-off-by: Stephen Boyd
    Signed-off-by: Arnd Bergmann

    Stephen Boyd
     
  • This addresses a section mismatch problem in the IM-PD1
    driver in the Integrator/AP.

    The IM-PD1 contains a VIC interrupt controller and therefore
    the driver calls vic_init_cascaded() which is marked __init as
    irqchips are simply not hot-pluggable and specifically the VIC
    is assumed to initiate only on boot.

    However the module driver model of the Integrator LM bus
    assumes that logic tile drivers can be probed at runtime. This
    is not really the case for IM-PD1: these tiles are detected at
    boot and they cannot be plugged into a running system. Before
    this patch it is of course possible to modprobe them later.

    By first forcing the IM-PD1 to bool we make sure this driver
    gets compiled into the kernel, and we know it will be probed
    only at boot time when the tiles are detected, so we can tag
    its probe function __init_refok as we know it won't be called
    after boot now, and the section mismatch problem goes away.

    As a side effect, sysfs binding from userspace becomes
    impossible, so we tag the driver to suppress the bind/unbind
    sysfs attributes.

    Cc: Russell King
    Signed-off-by: Linus Walleij
    Signed-off-by: Arnd Bergmann

    Linus Walleij
     
  • The OpenBlocks AX3-4 has a non-DT bootloader. It also comes with 1GB of
    soldered on RAM, and a DIMM slot for expansion.

    Unfortunately, atags_to_fdt() doesn't work in big-endian mode, so we see
    the following failure when attempting to boot a big-endian kernel:

    686 slab pages
    17 pages shared
    0 pages swap cached
    [ pid ] uid tgid total_vm rss nr_ptes swapents oom_score_adj name
    Kernel panic - not syncing: Out of memory and no killable processes...

    CPU: 1 PID: 351 Comm: kworker/u4:0 Not tainted 3.15.0-rc8-next-20140603 #1
    [] (unwind_backtrace) from [] (show_stack+0x10/0x14)
    [] (show_stack) from [] (dump_stack+0x78/0x94)
    [] (dump_stack) from [] (panic+0x90/0x21c)
    [] (panic) from [] (out_of_memory+0x320/0x340)
    [] (out_of_memory) from [] (__alloc_pages_nodemask+0x874/0x930)
    [] (__alloc_pages_nodemask) from [] (handle_mm_fault+0x744/0x96c)
    [] (handle_mm_fault) from [] (__get_user_pages+0xd0/0x4c0)
    [] (__get_user_pages) from [] (get_arg_page+0x54/0xbc)
    [] (get_arg_page) from [] (copy_strings+0x278/0x29c)
    [] (copy_strings) from [] (copy_strings_kernel+0x20/0x28)
    [] (copy_strings_kernel) from [] (do_execve+0x3a8/0x4c8)
    [] (do_execve) from [] (____call_usermodehelper+0x15c/0x194)
    [] (____call_usermodehelper) from [] (ret_from_fork+0x14/0x3c)
    CPU0: stopping
    CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.15.0-rc8-next-20140603 #1
    [] (unwind_backtrace) from [] (show_stack+0x10/0x14)
    [] (show_stack) from [] (dump_stack+0x78/0x94)
    [] (dump_stack) from [] (handle_IPI+0x138/0x174)
    [] (handle_IPI) from [] (armada_370_xp_handle_irq+0xb0/0xcc)
    [] (armada_370_xp_handle_irq) from [] (__irq_svc+0x40/0x50)
    Exception stack(0xc0b6bf68 to 0xc0b6bfb0)
    bf60: e9fad598 00000000 00f509a3 00000000 c0b6a000 c0b724c4
    bf80: c0b72458 c0b6a000 00000000 00000000 c0b66da0 c0b6a000 00000000 c0b6bfb0
    bfa0: c027bb94 c027bb24 60000313 ffffffff
    [] (__irq_svc) from [] (cpu_startup_entry+0x54/0x214)
    [] (cpu_startup_entry) from [] (start_kernel+0x318/0x37c)
    [] (start_kernel) from [] (0x208078)
    ---[ end Kernel panic - not syncing: Out of memory and no killable processes...

    A similar failure will also occur if ARM_ATAG_DTB_COMPAT isn't selected.

    Fix this by setting a sane default (1 GB) in the dts file.

    Signed-off-by: Jason Cooper
    Tested-by: Kevin Hilman
    Cc: #v3.13+
    Signed-off-by: Arnd Bergmann

    Jason Cooper
     
  • The only remaining driver using the samsung dmadev code is the broken
    samsung-ac97 sound driver. However, as found by Russell's autobuilder,
    the elaborate dependency chains around it cause problems with
    circular dependencies.

    This is an attempt to simplify those dependencies by making the
    SAMSUNG_DMADEV option user-selectable. I also try to keep the
    default settings for all related options unchanged, so we don't
    introduce any regressions against earlier testing on linux-next.

    In particular, all s3c64xx and s5p* platforms keep selecting the
    pl330 and pl08x drivers they require, but the select statement
    is now moved towards the main platform option, and it remains
    optional by unselecting CONFIG_DMADEVICES.

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

    Arnd Bergmann
     
  • We can only use CMA on systems that have an MMU, because of
    the requirement to use memory migration. NOMMU systems are
    rather constrained to start with, but it seems reasonable
    to assume that DMA allocations can still succeed in the
    constrained case for remoteproc on NOMMU, so this patch
    changes the da8xx implementation to not rely on CMA when
    the MMU is disabled.

    Signed-off-by: Arnd Bergmann
    Cc: Ohad Ben-Cohen
    Cc: Robert Tivy

    Arnd Bergmann
     
  • The arm-cci code uses device tree helpers for initialization
    that don't work on kernels built without CONFIG_OF. Further,
    it contains an inline assembly in cci_enable_port_for_self()
    that uses ARMv7 instructions and fails to build when targetting
    other ARM instruction set versions.

    This works around both issues by limiting the scope of the
    Kconfig symbol to platforms that can actually build this driver
    cleanly.

    Signed-off-by: Arnd Bergmann
    Acked-by: Lorenzo Pieralisi
    Cc: Shawn Guo

    Arnd Bergmann
     
  • The dynamic relocation that the keystone platform performs
    only works if we can pick the phys offset at boot time. It's
    possible that there is another solution for this, but this
    is the easiest workaround. Kernels with ARM_PATCH_PHYS_VIRT
    are not portable across platforms, and I see no reason why
    anyone would run a kernel without ARM_PATCH_PHYS_VIRT on
    keystone.

    Signed-off-by: Arnd Bergmann
    Acked-by: Santosh Shilimkar

    Arnd Bergmann
     
  • Commit d941f86fad41b ("ARM: l2c: AM43x: add L2 cache support") enabled
    the L2 cache support for the am43xx SoC, but caused a build regression
    when the driver for that cache controller is disabled:

    arch/arm/mach-omap2/built-in.o: In function `am43xx_init_early':
    :(.init.text+0xb20): undefined reference to `omap_l2_cache_init'

    This did not happen for OMAP4, which has the same call, but enables
    the l2x0 driver unconditionally. We could do the same thing for
    am43xx, but it seems better to allow turning it off and make the
    code work in either case.

    This adds an inline wrapper for omap_l2_cache_init for the disabled
    case, and removes the 'select' from OMAP4 so it becomes a user
    visible option.

    Signed-off-by: Arnd Bergmann
    Acked-by: Tony Lindgren
    Cc: linux-omap@vger.kernel.org

    Arnd Bergmann
     

12 Jun, 2014

4 commits

  • Pull part two of ARM SoC updates from Arnd Bergmann:
    "This is a small follow-up to the larger ARM SoC updates merged last
    week, almost entirely for the keystone platform.

    The main change here is to use the new dma-ranges parsing code that
    came in through Russell's ARM tree. This allows the keystone platform
    to do cache-coherent DMA and to finally support all the available
    physical memory when LPAE is enabled.

    Aside from this, the keystone reset driver has been rewritten, and
    there is a small bug fix to allow building the orion5x platform again"

    * tag 'soc2-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: keystone: Drop use of meminfo since its not available anymore
    ARM: orion5x: fix mvebu_mbus_dt_init call
    ARM: configs: keystone: enable reset driver support
    ARM: dts: keystone: update reset node to work with reset driver
    ARM: keystone: remove redundant reset stuff
    ARM: keystone: Update the dma offset for non-dt platform devices
    ARM: keystone: Switch over to coherent memory address space
    ARM: configs: keystone: add MTD_SPI_NOR (new dependency for M25P80)
    ARM: configs: keystone: drop CONFIG_COMMON_CLK_DEBUG

    Linus Torvalds
     
  • Pull reiserfs and ext3 changes from Jan Kara:
    "Big reiserfs cleanup from Jeff, an ext3 deadlock fix, and some small
    cleanups"

    * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: (34 commits)
    reiserfs: Fix compilation breakage with CONFIG_REISERFS_CHECK
    ext3: Fix deadlock in data=journal mode when fs is frozen
    reiserfs: call truncate_setsize under tailpack mutex
    fs/jbd/revoke.c: replace shift loop by ilog2
    reiserfs: remove obsolete __constant_cpu_to_le32
    reiserfs: balance_leaf refactor, split up balance_leaf_when_delete
    reiserfs: balance_leaf refactor, format balance_leaf_finish_node
    reiserfs: balance_leaf refactor, format balance_leaf_new_nodes_paste
    reiserfs: balance_leaf refactor, format balance_leaf_paste_right
    reiserfs: balance_leaf refactor, format balance_leaf_insert_right
    reiserfs: balance_leaf refactor, format balance_leaf_paste_left
    reiserfs: balance_leaf refactor, format balance_leaf_insert_left
    reiserfs: balance_leaf refactor, pull out balance_leaf{left, right, new_nodes, finish_node}
    reiserfs: balance_leaf refactor, pull out balance_leaf_finish_node_paste
    reiserfs: balance_leaf refactor pull out balance_leaf_finish_node_insert
    reiserfs: balance_leaf refactor, pull out balance_leaf_new_nodes_paste
    reiserfs: balance_leaf refactor, pull out balance_leaf_new_nodes_insert
    reiserfs: balance_leaf refactor, pull out balance_leaf_paste_right
    reiserfs: balance_leaf refactor, pull out balance_leaf_insert_right
    reiserfs: balance_leaf refactor, pull out balance_leaf_paste_left
    ...

    Linus Torvalds
     
  • Pull btrfs updates from Chris Mason:
    "The biggest change here is Josef's rework of the btrfs quota
    accounting, which improves the in-memory tracking of delayed extent
    operations.

    I had been working on Btrfs stack usage for a while, mostly because it
    had become impossible to do long stress runs with slab, lockdep and
    pagealloc debugging turned on without blowing the stack. Even though
    you upgraded us to a nice king sized stack, I kept most of the
    patches.

    We also have some very hard to find corruption fixes, an awesome sysfs
    use after free, and the usual assortment of optimizations, cleanups
    and other fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (80 commits)
    Btrfs: convert smp_mb__{before,after}_clear_bit
    Btrfs: fix scrub_print_warning to handle skinny metadata extents
    Btrfs: make fsync work after cloning into a file
    Btrfs: use right type to get real comparison
    Btrfs: don't check nodes for extent items
    Btrfs: don't release invalid page in btrfs_page_exists_in_range()
    Btrfs: make sure we retry if page is a retriable exception
    Btrfs: make sure we retry if we couldn't get the page
    btrfs: replace EINVAL with EOPNOTSUPP for dev_replace raid56
    trivial: fs/btrfs/ioctl.c: fix typo s/substract/subtract/
    Btrfs: fix leaf corruption after __btrfs_drop_extents
    Btrfs: ensure btrfs_prev_leaf doesn't miss 1 item
    Btrfs: fix clone to deal with holes when NO_HOLES feature is enabled
    btrfs: free delayed node outside of root->inode_lock
    btrfs: replace EINVAL with ERANGE for resize when ULLONG_MAX
    Btrfs: fix transaction leak during fsync call
    btrfs: Avoid trucating page or punching hole in a already existed hole.
    Btrfs: update commit root on snapshot creation after orphan cleanup
    Btrfs: ioctl, don't re-lock extent range when not necessary
    Btrfs: avoid visiting all extent items when cloning a range
    ...

    Linus Torvalds
     
  • Pull xfs updates from Dave Chinner:
    "This update contains:
    - cleanup removing unused function args
    - rework of the filestreams allocator to use dentry cache parent
    lookups
    - new on-disk free inode btree and optimised inode allocator
    - various bug fixes
    - rework of internal attribute API
    - cleanup of superblock feature bit support to remove historic cruft
    - more fixes and minor cleanups
    - added a new directory/attribute geometry abstraction
    - yet more fixes and minor cleanups"

    * tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs: (86 commits)
    xfs: fix xfs_da_args sparse warning in xfs_readdir
    xfs: Fix rounding in xfs_alloc_fix_len()
    xfs: tone down writepage/releasepage WARN_ONs
    xfs: small cleanup in xfs_lowbit64()
    xfs: kill xfs_buf_geterror()
    xfs: xfs_readsb needs to check for magic numbers
    xfs: block allocation work needs to be kswapd aware
    xfs: remove redundant geometry information from xfs_da_state
    xfs: replace attr LBSIZE with xfs_da_geometry
    xfs: pass xfs_da_args to xfs_attr_leaf_newentsize
    xfs: use xfs_da_geometry for block size in attr code
    xfs: remove mp->m_dir_geo from directory logging
    xfs: reduce direct usage of mp->m_dir_geo
    xfs: move node entry counts to xfs_da_geometry
    xfs: convert dir/attr btree threshold to xfs_da_geometry
    xfs: convert m_dirblksize to xfs_da_geometry
    xfs: convert m_dirblkfsbs to xfs_da_geometry
    xfs: convert directory segment limits to xfs_da_geometry
    xfs: convert directory db conversion to xfs_da_geometry
    xfs: convert directory dablk conversion to xfs_da_geometry
    ...

    Linus Torvalds
     

11 Jun, 2014

28 commits

  • Pull block layer fixes from Jens Axboe:
    "Final small batch of fixes to be included before -rc1. Some general
    cleanups in here as well, but some of the blk-mq fixes we need for the
    NVMe conversion and/or scsi-mq. The pull request contains:

    - Support for not merging across a specified "chunk size", if set by
    the driver. Some NVMe devices perform poorly for IO that crosses
    such a chunk, so we need to support it generically as part of
    request merging avoid having to do complicated split logic. From
    me.

    - Bump max tag depth to 10Ki tags. Some scsi devices have a huge
    shared tag space. Before we failed with EINVAL if a too large tag
    depth was specified, now we truncate it and pass back the actual
    value. From me.

    - Various blk-mq rq init fixes from me and others.

    - A fix for enter on a dying queue for blk-mq from Keith. This is
    needed to prevent oopsing on hot device removal.

    - Fixup for blk-mq timer addition from Ming Lei.

    - Small round of performance fixes for mtip32xx from Sam Bradshaw.

    - Minor stack leak fix from Rickard Strandqvist.

    - Two __init annotations from Fabian Frederick"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    block: add __init to blkcg_policy_register
    block: add __init to elv_register
    block: ensure that bio_add_page() always accepts a page for an empty bio
    blk-mq: add timer in blk_mq_start_request
    blk-mq: always initialize request->start_time
    block: blk-exec.c: Cleaning up local variable address returnd
    mtip32xx: minor performance enhancements
    blk-mq: ->timeout should be cleared in blk_mq_rq_ctx_init()
    blk-mq: don't allow queue entering for a dying queue
    blk-mq: bump max tag depth to 10K tags
    block: add blk_rq_set_block_pc()
    block: add notion of a chunk size for request merging

    Linus Torvalds
     
  • Pull MTD updates from Brian Norris:
    - refactor m25p80.c driver for use as a general SPI NOR framework for
    other drivers which may speak to SPI NOR flash without providing full
    SPI support (i.e., not part of drivers/spi/)
    - new Freescale QuadSPI driver (utilizing new SPI NOR framework)
    - updates for the STMicro "FSM" SPI NOR driver
    - fix sync/flush behavior on mtd_blkdevs
    - fixup subpage write support on a few NAND drivers
    - correct the MTD OOB test for odd-sized OOB areas
    - add BCH-16 support for OMAP NAND
    - fix warnings and trivial refactoring
    - utilize new ECC DT bindings in pxa3xx NAND driver
    - new LPDDR NVM driver
    - address a few assorted bugs caught by Coverity
    - add new imx6sx support for GPMI NAND
    - use a bounce buffer for NAND when non-DMA-able buffers are used

    * tag 'for-linus-20140610' of git://git.infradead.org/linux-mtd: (77 commits)
    mtd: gpmi: add gpmi support for imx6sx
    mtd: maps: remove check for CONFIG_MTD_SUPERH_RESERVE
    mtd: bf5xx_nand: use the managed version of kzalloc
    mtd: pxa3xx_nand: make the driver work on big-endian systems
    mtd: nand: omap: fix omap_calculate_ecc_bch() for-loop error
    mtd: nand: r852: correct write_buf loop bounds
    mtd: nand_bbt: handle error case for nand_create_badblock_pattern()
    mtd: nand_bbt: remove unused variable
    mtd: maps: sc520cdp: fix warnings
    mtd: slram: fix unused variable warning
    mtd: pfow: remove unused variable
    mtd: lpddr: fix Kconfig dependency, for I/O accessors
    mtd: nand: pxa3xx: Add supported ECC strength and step size to the DT binding
    mtd: nand: pxa3xx: Use ECC strength and step size devicetree binding
    mtd: nand: pxa3xx: Clean pxa_ecc_init() error handling
    mtd: nand: Warn the user if the selected ECC strength is too weak
    mtd: nand: omap: Documentation: How to select correct ECC scheme for your device ?
    mtd: nand: omap: add support for BCH16_ECC - NAND driver updates
    mtd: nand: omap: add support for BCH16_ECC - ELM driver updates
    mtd: nand: omap: add support for BCH16_ECC - GPMC driver updates
    ...

    Linus Torvalds
     
  • Pull md updates from Neil Brown:
    "Assorted md fixes for 3.16

    Mostly performance improvements with a few corner-case bug fixes"

    * tag 'md/3.16' of git://neil.brown.name/md:
    raid5: speedup sync_request processing
    md/raid5: deadlock between retry_aligned_read with barrier io
    raid5: add an option to avoid copy data from bio to stripe cache
    md/bitmap: remove confusing code from filemap_get_page.
    raid5: avoid release list until last reference of the stripe
    md: md_clear_badblocks should return an error code on failure.
    md/raid56: Don't perform reads to support writes until stripe is ready.
    md: refuse to change shape of array if it is active but read-only

    Linus Torvalds
     
  • There was a bug in debug printout when CONFIG_REISERFS_CHECK was
    enabled so one of the assertions in do_balan.c didn't compile. Fix it.

    Fixes: 0080e9f9d3ac717537dbd6db1fc8ef72ce0b9cc1
    Signed-off-by: Jan Kara

    Jan Kara
     
  • Brian Norris
     
  • Pull watchdog updates from Wim Van Sebroeck:
    "This contains:
    - addition of the Intel MID watchdog
    - removal of W83697HF and W83697UG drivers (code was merged into
    w83627hf_wdt driver)
    - addition of Armada 375/380 SoC support
    - conversion of imx2_wdt to regmap API and to watchdog core API
    - lots of other small improvements and fixes"

    [ Wim was also tagged by gmail as a spammer, but not delayed by days
    unlike Ben ]

    * git://www.linux-watchdog.org/linux-watchdog: (25 commits)
    x86: intel-mid: add watchdog platform code for Merrifield
    watchdog: add Intel MID watchdog driver support
    watchdog: sp805: Set watchdog_device->timeout from ->set_timeout()
    booke/watchdog: refine and clean up the codes
    watchdog: iop_wdt only builds for mach-iop13xx
    watchdog: Remove drivers for W83697HF and W83697UG
    watchdog: w83627hf_wdt: Add early_disable module parameter
    ARM: mvebu: Add A375/A380 watchdog binding documentation
    watchdog: orion: Add Armada 375/380 SoC support
    watchdog: orion: Introduce per-SoC enabled() function
    watchdog: orion: Introduce per-SoC stop() function
    watchdog: orion: Remove unneeded atomic access
    watchdog: orion: Introduce a SoC-specific RSTOUT mapping
    watchdog: orion: Move the register ioremap'ing to its own function
    watchdog: xilinx: Make of_device_id array const
    watchdog: imx2_wdt: convert to watchdog core api
    watchdog: imx2_wdt: convert to use regmap API.
    watchdog: imx2_wdt: Sort the header files alphabetically
    watchdog: ath79_wdt: switch to clk_prepare/clk_disable
    watchdog: ath79_wdt: avoid spurious restarts on AR934x
    ...

    Linus Torvalds
     
  • Pull powerpc updates from Ben Herrenschmidt:
    "Here is the bulk of the powerpc changes for this merge window. It got
    a bit delayed in part because I wasn't paying attention, and in part
    because I discovered I had a core PCI change without a PCI maintainer
    ack in it. Bjorn eventually agreed it was ok to merge it though we'll
    probably improve it later and I didn't want to rebase to add his ack.

    There is going to be a bit more next week, essentially fixes that I
    still want to sort through and test.

    The biggest item this time is the support to build the ppc64 LE kernel
    with our new v2 ABI. We previously supported v2 userspace but the
    kernel itself was a tougher nut to crack. This is now sorted mostly
    thanks to Anton and Rusty.

    We also have a fairly big series from Cedric that add support for
    64-bit LE zImage boot wrapper. This was made harder by the fact that
    traditionally our zImage wrapper was always 32-bit, but our new LE
    toolchains don't really support 32-bit anymore (it's somewhat there
    but not really "supported") so we didn't want to rely on it. This
    meant more churn that just endian fixes.

    This brings some more LE bits as well, such as the ability to run in
    LE mode without a hypervisor (ie. under OPAL firmware) by doing the
    right OPAL call to reinitialize the CPU to take HV interrupts in the
    right mode and the usual pile of endian fixes.

    There's another series from Gavin adding EEH improvements (one day we
    *will* have a release with less than 20 EEH patches, I promise!).

    Another highlight is the support for the "Split core" functionality on
    P8 by Michael. This allows a P8 core to be split into "sub cores" of
    4 threads which allows the subcores to run different guests under KVM
    (the HW still doesn't support a partition per thread).

    And then the usual misc bits and fixes ..."

    [ Further delayed by gmail deciding that BenH is a dirty spammer.
    Google knows. ]

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (155 commits)
    powerpc/powernv: Add missing include to LPC code
    selftests/powerpc: Test the THP bug we fixed in the previous commit
    powerpc/mm: Check paca psize is up to date for huge mappings
    powerpc/powernv: Pass buffer size to OPAL validate flash call
    powerpc/pseries: hcall functions are exported to modules, need _GLOBAL_TOC()
    powerpc: Exported functions __clear_user and copy_page use r2 so need _GLOBAL_TOC()
    powerpc/powernv: Set memory_block_size_bytes to 256MB
    powerpc: Allow ppc_md platform hook to override memory_block_size_bytes
    powerpc/powernv: Fix endian issues in memory error handling code
    powerpc/eeh: Skip eeh sysfs when eeh is disabled
    powerpc: 64bit sendfile is capped at 2GB
    powerpc/powernv: Provide debugfs access to the LPC bus via OPAL
    powerpc/serial: Use saner flags when creating legacy ports
    powerpc: Add cpu family documentation
    powerpc/xmon: Fix up xmon format strings
    powerpc/powernv: Add calls to support little endian host
    powerpc: Document sysfs DSCR interface
    powerpc: Fix regression of per-CPU DSCR setting
    powerpc: Split __SYSFS_SPRSETUP macro
    arch: powerpc/fadump: Cleaning up inconsistent NULL checks
    ...

    Linus Torvalds
     
  • Pull x86 platform driver updates from Matthew Garrett:
    "Very little of excitement here - the most significant is a new driver
    for detecting device freefall on Dells, other than that it's pretty
    much entirely minor fixes for specific machines"

    * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86:
    hp-wmi: Enable hotkeys on some systems
    thinkpad_acpi: Add mappings for F9 - F12 hotkeys on X240 / T440 / T540
    platform: x86: dell-smo8800: Dell Latitude freefall driver (ACPI SMO8800/SMO8810)
    ideapad_laptop: Introduce the use of the managed version of kzalloc
    platform/x86: Fix run-time dependencies of OLPC drivers
    platform: x86: asus-wmi.c: Cleaning up uninitialized variables
    ix86/mid/thermal: Introduce the use of the managed version of kzalloc
    platform x86 Kconfig: Refer to the laptop list in the Compal driver help
    Documentation: Add list of laptop models supported by the Compal driver
    ideapad-laptop: Blacklist rfkill control on the Lenovo Yoga 2 11
    asus-wmi: Set WAPF to 4 for Asus X550CA
    alienware-wmi: For WMAX HDMI method, introduce a way to query HDMI cable status
    alienware-wmi: Update WMAX brightness method limit to 15
    pvpanic: Set high notifier priority
    platform/x86: samsung-laptop: Add support for Samsung's NP7[34]0U3E models.
    toshiba_acpi: Add alternative keymap support for Satellite M840
    platform-drivers-x86: intel_pmic_gpio: Fix off-by-one valid offset range check

    Linus Torvalds
     
  • This is a third attempt to enable these buttons. The new variable being
    commit 997daa1bd9aca412ab97955a35b26c460c0ec7a4 (i.e. hp-wmi: detect
    "2009 BIOS or later"). Older systems that do not have the 2009 BIOS query
    method respond with a dummy value, in this case 4. Using that, we can
    target a fairly narrow group of systems. i.e. old enough to not have
    HPWMI_FEATURE_QUERY 0xd, but new enough to have HPWMI_BIOS_QUERY 0x9.
    This group may be further limited if some systems respond with something
    other than 4 to non-existant feature queries.

    Signed-off-by: Kyle Evans
    Signed-off-by: Matthew Garrett

    Kyle Evans
     
  • The T440s user guide says that when Fn-lock is not active, the *40s' F9 - F12
    keys should be mapped to: control-panel, search, show-all-windows and Computer.

    These keys generate the sofar unused 28 - 31 hotkey scancodes.

    For the first 2 this nicely matches the icons on the keys, for the latter 2
    the icons are somewhat creative, which is why I ended up looking them up in
    the user manual.

    Signed-off-by: Hans de Goede
    Signed-off-by: Matthew Garrett

    Hans de Goede
     
  • This acpi driver provide supports for freefall sensors SMO8800/SMO8810 which
    can be found on Dell Latitude laptops. Driver register /dev/freefall misc
    device which has same interface as driver hp_accel freefall driver. So any
    existing applications for HP freefall sensor /dev/freefall will work for with
    this new driver for Dell Latitude laptops too.

    Signed-off-by: Pali Rohár
    Cc: Sonal Santan
    Tested-By: Valdis Kletnieks
    Acked-By: Valdis Kletnieks
    Signed-off-by: Matthew Garrett

    Pali Rohár
     
  • This patch moves data allocated using kzalloc to managed data allocated
    using devm_kzalloc and cleans now unnecessary kfrees in probe and remove
    functions. The label sysfs_failed is removed as it is no longer
    required. Also, linux/device.h is added to make sure the devm_*()
    routine declarations are unambiguously available.

    The following Coccinelle semantic patch was used for making the change:

    @platform@
    identifier p, probefn, removefn;
    @@
    struct platform_driver p = {
    .probe = probefn,
    .remove = removefn,
    };

    @prb@
    identifier platform.probefn, pdev;
    expression e, e1, e2;
    @@
    probefn(struct platform_device *pdev, ...) {
    dev, e1, e2)
    ...
    ?-kfree(e);
    ...+>
    }

    @rem depends on prb@
    identifier platform.removefn;
    expression e;
    @@
    removefn(...) {

    }

    Signed-off-by: Himangi Saraogi
    Acked-by: Julia Lawall
    Signed-off-by: Matthew Garrett

    Himangi Saraogi
     
  • Let the xo15-ebook driver depend on OLPC as all other OLPC drivers
    already do. Add COMPILE_TEST as an alternative for both xo1-rfkill
    and xo15-ebook, to increase the build testing coverage.

    Signed-off-by: Jean Delvare
    Cc: Matthew Garrett
    Signed-off-by: Matthew Garrett

    Jean Delvare
     
  • There is a risk that the variable will be used without being initialized.

    This was largely found by using a static code analysis program called cppcheck.

    Signed-off-by: Rickard Strandqvist
    Signed-off-by: Matthew Garrett

    Rickard Strandqvist
     
  • This patch moves data allocated using kzalloc to managed data allocated
    using devm_kzalloc and cleans now unnecessary kfrees in probe and remove
    functions.

    The following Coccinelle semantic patch was used for making the change:

    @platform@
    identifier p, probefn, removefn;
    @@
    struct platform_driver p = {
    .probe = probefn,
    .remove = removefn,
    };

    @prb@
    identifier platform.probefn, pdev;
    expression e, e1, e2;
    @@
    probefn(struct platform_device *pdev, ...) {
    dev, e1, e2)
    ...
    ?-kfree(e);
    ...+>
    }

    @rem depends on prb@
    identifier platform.removefn;
    expression e;
    @@
    removefn(...) {

    }

    Signed-off-by: Himangi Saraogi
    Signed-off-by: Matthew Garrett

    Himangi Saraogi
     
  • Signed-off-by: Ismael Luceno
    Signed-off-by: Matthew Garrett

    Ismael Luceno
     
  • Signed-off-by: Ismael Luceno
    Signed-off-by: Matthew Garrett

    Ismael Luceno
     
  • The Lenovo Yoga 2 11 always reports everything as blocked, causing userspace
    to not even try to use the wlan / bluetooth even though they work fine.

    Note this patch also removes the "else priv->rfk[i] = NULL;" bit of the
    rfkill initialization, it is not necessary as the priv struct is allocated
    with kzalloc.

    Reported-and-tested-by: Vincent Gerris
    Signed-off-by: Hans de Goede
    Signed-off-by: Matthew Garrett

    Hans de Goede
     
  • The 'asus-nb-wmi' WAPF parameter must be set to 4, so the internal Wireless LAN device is operational.

    Signed-off-by: Andreas Utterberg
    Signed-off-by: Matthew Garrett

    Andreas Utterberg
     
  • Since there are now multiple HDMI attributes associated with the WMAX method,
    create a sysfs group for them instead.

    Signed-off-by: Mario Limonciello
    Signed-off-by: Matthew Garrett

    Mario Limonciello
     
  • Merge leftovers from Andrew Morton:
    "A few leftovers: ocfs2, gcov, RTC"

    * emailed patches from Andrew Morton :
    rtc: s5m: consolidate two device type switch statements
    rtc: s5m: add support for S2MPS14 RTC
    rtc: s5m: support different register layout
    rtc: s5m: use shorter time of register update
    rtc: s5m: remove undocumented time init on first boot
    mfd/rtc: sec/s5m: rename SEC* symbols to S5M
    gcov: add support for GCC 4.9
    ocfs2/o2net: incorrect to terminate accepting connections loop upon rejecting an invalid one

    Linus Torvalds
     
  • In probe the configuration of driver for different chipsets was done in
    two switch (pdata->device_type) statements. Consolidate them into one
    switch statement to increase code readability.

    Additionally check the return value of regmap_irq_get_virq and exit
    probe on error.

    Signed-off-by: Krzysztof Kozlowski
    Cc: Kyungmin Park
    Cc: Lee Jones
    Cc: Alessandro Zummo
    Cc: Sangbeom Kim
    Cc: Samuel Ortiz
    Cc: Marek Szyprowski
    Cc: Bartlomiej Zolnierkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Kozlowski
     
  • Add support for S2MPS14 to the rtc-s5m driver. Differences in S2MPS14
    (in comparison to S5M8767):

    - Layout of registers
    - Lack of century support for time and alarms (7 registers used for
    storing time/alarm)
    - Two buffer control registers: WUDR and RUDR
    - No register for enabling writing time
    - RTC interrupts are reported in main PMIC I2C device

    Signed-off-by: Krzysztof Kozlowski
    Cc: Kyungmin Park
    Cc: Lee Jones
    Cc: Alessandro Zummo
    Cc: Sangbeom Kim
    Cc: Samuel Ortiz
    Cc: Marek Szyprowski
    Cc: Bartlomiej Zolnierkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Kozlowski
     
  • Prepare for adding support for S2MPS14 RTC device to the rtc-s5m driver:

    1. Add a map of registers used by the driver which differ between
    the chipsets (S5M876X and S2MPS14).

    2. Move code of checking for alarm pending to separate function.

    Signed-off-by: Krzysztof Kozlowski
    Cc: Kyungmin Park
    Cc: Lee Jones
    Cc: Alessandro Zummo
    Cc: Sangbeom Kim
    Cc: Samuel Ortiz
    Cc: Marek Szyprowski
    Cc: Bartlomiej Zolnierkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Kozlowski
     
  • Set the time needed for updating alarm and time registers to 0.45 ms.
    The default is 7.32 ms which is too long and leads to warnings when
    setting alarm or time:

    s5m-rtc: waiting for UDR update, reached max number of retries

    Signed-off-by: Krzysztof Kozlowski
    Cc: Kyungmin Park
    Cc: Lee Jones
    Cc: Alessandro Zummo
    Cc: Sangbeom Kim
    Cc: Samuel Ortiz
    Cc: Marek Szyprowski
    Cc: Bartlomiej Zolnierkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Kozlowski
     
  • Remove the code for initializing time if this is first boot.

    The code for detecting first boot uses undocumented field RTC_TCON in
    RTC_UDR_CON register. According to S5M8767's datasheet this field is
    reserved. On S2MPS14 it is not documented at all.

    On device first boot the registers will be initialized with reset value
    (2000-01-01 00:00:00).

    The code might work on S5M8763 but still this does not look like a task
    for RTC driver.

    Signed-off-by: Krzysztof Kozlowski
    Cc: Kyungmin Park
    Cc: Lee Jones
    Cc: Alessandro Zummo
    Cc: Sangbeom Kim
    Cc: Samuel Ortiz
    Cc: Marek Szyprowski
    Cc: Bartlomiej Zolnierkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Kozlowski
     
  • Prepare for adding support for S2MPS14 RTC device to the rtc-s5m driver:

    1. Rename SEC* symbols to S5M.
    2. Add S5M prefix to some of defines which are different between S5M876X
    and S2MPS14.

    This is only a rename-like patch, new code is not added.

    Signed-off-by: Krzysztof Kozlowski
    Acked-by: Lee Jones
    Cc: Kyungmin Park
    Cc: Alessandro Zummo
    Cc: Sangbeom Kim
    Cc: Samuel Ortiz
    Cc: Marek Szyprowski
    Cc: Bartlomiej Zolnierkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Kozlowski
     
  • This patch handles the gcov-related changes in GCC 4.9:

    A new counter (time profile) is added. The total number is 9 now.

    A new profile merge function __gcov_merge_time_profile is added.

    See gcc/gcov-io.h and libgcc/libgcov-merge.c

    For the first change, the layout of struct gcov_info is affected.

    For the second one, a dummy function is added to kernel/gcov/base.c
    similarly.

    Signed-off-by: Yuan Pengfei
    Acked-by: Peter Oberparleiter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yuan Pengfei