1. 27 Apr, 2015 3 commits
  2. 26 Apr, 2015 8 commits
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-4.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · c8b3fd0c
      Linus Torvalds authored
      Pull more power management and ACPI updates from Rafael Wysocki:
       "These are fixes mostly (intel_pstate, ACPI core, ACPI EC driver,
        cpupower tool), a new CPU ID for the Intel RAPL driver and one
        intel_pstate driver improvement that didn't make it to my previous
        pull requests due to timing.
      
        Specifics:
      
         - Fix a build warning in the intel_pstate driver showing up in
           non-SMP builds (Borislav Petkov)
      
         - Change one of the intel_pstate's P-state selection parameters for
           Baytrail and Cherrytrail CPUs to significantly improve performance
           at the cost of a small increase in energy consumption (Kristen
           Carlson Accardi)
      
         - Fix a NULL pointer dereference in the ACPI EC driver due to an
           unsafe list walk in the query handler removal routine (Chris
           Bainbridge)
      
         - Get rid of a false-positive lockdep warning in the ACPI container
           hot-remove code (Rafael J Wysocki)
      
         - Prevent the ACPI device enumeration code from creating device
           objects of a wrong type in some cases (Rafael J Wysocki)
      
         - Add Skylake processors support to the Intel RAPL power capping
           driver (Brian Bian)
      
         - Drop the stale MAINTAINERS entry for the ACPI dock driver that is
           regarded as part of the ACPI core and maintained along with it now
           (Chao Yu)
      
         - Fix cpupower tool breakage caused by a library API change in libpci
           3.3.0 (Lucas Stach)"
      
      * tag 'pm+acpi-4.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / scan: Add a scan handler for PRP0001
        ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline()
        ACPI / EC: fix NULL pointer dereference in acpi_ec_remove_query_handler()
        MAINTAINERS: remove maintainship entry of docking station driver
        powercap / RAPL: Add support for Intel Skylake processors
        cpufreq: intel_pstate: Fix an annoying !CONFIG_SMP warning
        intel_pstate: Change the setpoint for Atom params
        cpupower: fix breakage from libpci API change
      c8b3fd0c
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · d89b3e19
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This push fixes a build problem with img-hash under non-standard
        configurations and a serious regression with sha512_ssse3 which can
        lead to boot failures"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: img-hash - CRYPTO_DEV_IMGTEC_HASH should depend on HAS_DMA
        crypto: x86/sha512_ssse3 - fixup for asm function prototype change
      d89b3e19
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v4.1-1' of... · 78d42567
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v4.1-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
      
      Pull x86 platform driver updates from Darren Hart:
       "This series includes significant updates to the toshiba_acpi driver
        and the reintroduction of the dell-laptop keyboard backlight additions
        I had to revert previously.  Also included are various fixes for
        typos, warnings, correctness, and minor bugs.
      
        Specifics:
      
        dell-laptop:
           - add support for keyboard backlight.
      
        toshiba_acpi:
           - adaptive keyboard, hotkey, USB sleep and charge, and backlight
             updates.  Update sysfs documentation.
      
        toshiba_bluetooth:
           - fix enabling/disabling loop on recent devices
      
        apple-gmux:
           - lock iGP IO to protect from vgaarb changes
      
        other:
           - Fix typos, clear gcc warnings, clarify pr_* messages, correct
             return types, update MAINTAINERS"
      
      * tag 'platform-drivers-x86-v4.1-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (25 commits)
        toshiba_acpi: Do not register vendor backlight when acpi_video bl is available
        MAINTAINERS: Add me on list of Dell laptop drivers
        platform: x86: dell-laptop: Add support for keyboard backlight
        Documentation/ABI: Update sysfs-driver-toshiba_acpi entry
        toshiba_acpi: Fix pr_* messages from USB Sleep Functions
        toshiba_acpi: Update and fix USB Sleep and Charge modes
        wmi: Use bool function return values of true/false not 1/0
        toshiba_bluetooth: Fix enabling/disabling loop on recent devices
        toshiba_bluetooth: Clean up *_add function and disable BT device at removal
        toshiba_bluetooth: Add three new functions to the driver
        toshiba_acpi: Fix the enabling of the Special Functions
        toshiba_acpi: Use the Hotkey Event Type function for keymap choosing
        toshiba_acpi: Add Hotkey Event Type function and definitions
        x86/wmi: delete unused wmi_data_lock mutex causing gcc warning
        apple-gmux: lock iGP IO to protect from vgaarb changes
        MAINTAINERS: Add missing Toshiba devices and add myself as maintainer
        toshiba_acpi: Update events in toshiba_acpi_notify
        intel-oaktrail: Fix trivial typo in comment
        thinkpad_acpi: off by one in adaptive_keyboard_hotkey_notify_hotkey()
        thinkpad_acpi: signedness bugs getting current_mode
        ...
      78d42567
    • Linus Torvalds's avatar
      Merge tag 'chrome-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform · 36a8032d
      Linus Torvalds authored
      Pull chrome platform updates from Olof Johansson:
       "Here's a set of updates to the Chrome OS platform drivers for this
        merge window.
      
        Main new things this cycle is:
      
         - Driver changes to expose the lightbar to users.  With this, you can
           make your own blinkenlights on Chromebook Pixels.
      
         - Changes in the way that the atmel_mxt trackpads are probed.  The
           laptop driver is trying to be smart and not instantiate the devices
           that don't answer to probe.  For the trackpad that can come up in
           two modes (bootloader or regular), this gets complicated since the
           driver already knows how to handle the two modes including the
           actual addresses used.  So now the laptop driver needs to know more
           too, instantiating the regular address even if the bootloader one
           is the probe that passed.
      
         - mfd driver improvements by Javier Martines Canillas, and a few
           bugfixes from him, kbuild and myself"
      
      * tag 'chrome-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform:
        platform/chrome: chromeos_laptop - instantiate Atmel at primary address
        platform/chrome: cros_ec_lpc - Depend on X86 || COMPILE_TEST
        platform/chrome: cros_ec_lpc - Include linux/io.h header file
        platform/chrome: fix platform_no_drv_owner.cocci warnings
        platform/chrome: cros_ec_lightbar - fix duplicate const warning
        platform/chrome: cros_ec_dev - fix Unknown escape '%' warning
        platform/chrome: Expose Chrome OS Lightbar to users
        platform/chrome: Create sysfs attributes for the ChromeOS EC
        mfd: cros_ec: Instantiate ChromeOS EC character device
        platform/chrome: Add Chrome OS EC userspace device interface
        platform/chrome: Add cros_ec_lpc driver for x86 devices
        mfd: cros_ec: Add char dev and virtual dev pointers
        mfd: cros_ec: Use fixed size arrays to transfer data with the EC
      36a8032d
    • Linus Torvalds's avatar
      Merge tag 'cris-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris · 7f9f4430
      Linus Torvalds authored
      Pull arch/cris updates from Jesper Nilsson:
       "Some much needed love for the CRIS-port.
      
        There's a bunch of changes this time, giving the CRISv32 port a bit of
        modern makeover with device-tree, irq domain and gpiolib support, and
        more switchover to generic frameworks.
      
        Some small fixes and removal of the theoretical SMP support brings up
        the rear"
      
      * tag 'cris-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris:
        cris: fix integer overflow in ELF_ET_DYN_BASE
        CRISv32: use GENERIC_SCHED_CLOCK
        CRISv32: use MMIO clocksource
        CRISv32: use generic clockevents
        CRIS: use generic headers via Kbuild
        CRIS: use generic cmpxchg.h
        CRIS: use generic atomic.h
        CRIS: use generic atomic bitops
        CRISv10: remove redundant macros from system.h
        CRIS: remove SMP code
        CRISv32: don't enable irqs in INIT_THREAD
        CRISv32: handle multiple signals
        CRISv32: prevent bogus restarts on sigreturn
        CRISv32: don't attempt syscall restart on irq exit
        Add binding documentation for CRIS
        CRIS: add Axis 88 board device tree
        CRISv32: add device tree support
        CRISv32: add irq domains support
        CRIS: enable GPIOLIB
      7f9f4430
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux · 63905bba
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - fix for mm_dec_nr_pmds() from Scott.
      
       - fixes for oopses seen with KVM + THP from Aneesh.
      
       - build fixes from Aneesh & Shreyas.
      
      * tag 'powerpc-4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
        powerpc/mm: Fix build error with CONFIG_PPC_TRANSACTIONAL_MEM disabled
        powerpc/kvm: Fix ppc64_defconfig + PPC_POWERNV=n build error
        powerpc/mm/thp: Return pte address if we find trans_splitting.
        powerpc/mm/thp: Make page table walk safe against thp split/collapse
        KVM: PPC: Remove page table walk helpers
        KVM: PPC: Use READ_ONCE when dereferencing pte_t pointer
        powerpc/hugetlb: Call mm_dec_nr_pmds() in hugetlb_free_pmd_range()
      63905bba
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · eadf16a9
      Linus Torvalds authored
      Pull second batch of KVM changes from Paolo Bonzini:
       "This mostly includes the PPC changes for 4.1, which this time cover
        Book3S HV only (debugging aids, minor performance improvements and
        some cleanups).  But there are also bug fixes and small cleanups for
        ARM, x86 and s390.
      
        The task_migration_notifier revert and real fix is still pending
        review, but I'll send it as soon as possible after -rc1"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (29 commits)
        KVM: arm/arm64: check IRQ number on userland injection
        KVM: arm: irqfd: fix value returned by kvm_irq_map_gsi
        KVM: VMX: Preserve host CR4.MCE value while in guest mode.
        KVM: PPC: Book3S HV: Use msgsnd for signalling threads on POWER8
        KVM: PPC: Book3S HV: Translate kvmhv_commence_exit to C
        KVM: PPC: Book3S HV: Streamline guest entry and exit
        KVM: PPC: Book3S HV: Use bitmap of active threads rather than count
        KVM: PPC: Book3S HV: Use decrementer to wake napping threads
        KVM: PPC: Book3S HV: Don't wake thread with no vcpu on guest IPI
        KVM: PPC: Book3S HV: Get rid of vcore nap_count and n_woken
        KVM: PPC: Book3S HV: Move vcore preemption point up into kvmppc_run_vcpu
        KVM: PPC: Book3S HV: Minor cleanups
        KVM: PPC: Book3S HV: Simplify handling of VCPUs that need a VPA update
        KVM: PPC: Book3S HV: Accumulate timing information for real-mode code
        KVM: PPC: Book3S HV: Create debugfs file for each guest's HPT
        KVM: PPC: Book3S HV: Add ICP real mode counters
        KVM: PPC: Book3S HV: Move virtual mode ICP functions to real-mode
        KVM: PPC: Book3S HV: Convert ICS mutex lock to spin lock
        KVM: PPC: Book3S HV: Add guest->host real mode completion counters
        KVM: PPC: Book3S HV: Add helpers for lock/unlock hpte
        ...
      eadf16a9
    • Stephen Rothwell's avatar
  3. 25 Apr, 2015 1 commit
    • Dmitry Torokhov's avatar
      platform/chrome: chromeos_laptop - instantiate Atmel at primary address · 96cba9b0
      Dmitry Torokhov authored
      The new Atmel MXT driver expects i2c client's address contain the
      primary (main address) of the chip, and calculates the expected
      bootloader address form the primary address. Unfortunately chrome_laptop
      does probe the devices and if touchpad (or touchscreen, or both) comes
      up in bootloader mode the i2c device gets instantiated with the
      bootloader address which confuses the driver.
      
      To work around this issue let's probe the primary address first. If the
      device is not detected at the primary address we'll probe alternative
      addresses as "dummy" devices. If any of them are found, destroy the
      dummy client and instantiate client with proper name at primary address
      still.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      96cba9b0
  4. 24 Apr, 2015 28 commits
    • Hans de Goede's avatar
      toshiba_acpi: Do not register vendor backlight when acpi_video bl is available · 358d6a2c
      Hans de Goede authored
      commit a39f46df ("toshiba_acpi: Fix regression caused by backlight extra
      check code") causes the backlight to no longer work on the Toshiba Z30,
      reverting that commit fixes this but restores the original issue fixed
      by that commit.
      
      Looking at the toshiba_acpi backlight code for a fix for this I noticed that
      the toshiba code is the only code under platform/x86 which unconditionally
      registers a vendor acpi backlight interface, without checking for acpi_video
      backlight support first.
      
      This commit adds the necessary checks bringing toshiba_acpi in line with the
      other drivers, and fixing the Z30 regression without needing to revert the
      commit causing it.
      
      Chances are that there will be some Toshiba models which have a non working
      acpi-video implementation while the toshiba vendor backlight interface does
      work, this commit adds an empty dmi_id table where such systems can be added,
      this is identical to how other drivers handle such systems.
      
      BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1206036
      BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=86521Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Reviewed-and-tested-by: default avatarAzael Avalos <coproscefalo@gmail.com>
      Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
      358d6a2c
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · d19d133e
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Here are a few fixes that have been pending since the previous pull
        request: a regression fix for HD-audio multiple SPDIF / HDMI devices,
        several ALC256 codec fixes, a couple of i915 HDMI audio fixes, and
        various small fixes.
      
        Nothing exciting, just boring, but things good to have"
      
      * tag 'sound-fix-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - fix headset mic detection problem for one more machine
        ALSA: hda/realtek - Fix Headphone Mic doesn't recording for ALC256
        ALSA: hda - fix "num_steps = 0" error on ALC256
        ALSA: usb-audio: Fix audio output on Roland SC-D70 sound module
        ALSA: hda - add AZX_DCAPS_I915_POWERWELL to Baytrail
        ALSA: hda - only sync BCLK to the display clock for Haswell & Broadwell
        ALSA: hda - Mute headphone pin on suspend on XPS13 9333
        sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND)
        ALSA: asound.h - use SNDRV_CTL_ELEM_ID_NAME_MAXLEN
        ALSA: hda - potential (but unlikely) uninitialized variable
        ALSA: hda - Fix regression for slave SPDIF setups
        ALSA: intel8x0: Check pci_iomap() success for DEVICE_ALI
        ALSA: hda - simplify azx_has_pm_runtime
      d19d133e
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · c6668726
      Linus Torvalds authored
      Pull SCSI target updates from Nicholas Bellinger:
       "Lots of activity in target land the last months.
      
        The highlights include:
      
         - Convert fabric drivers tree-wide to target_register_template() (hch
           + bart)
      
         - iser-target hardening fixes + v1.0 improvements (sagi)
      
         - Convert iscsi_thread_set usage to kthread.h + kill
           iscsi_target_tq.c (sagi + nab)
      
         - Add support for T10-PI WRITE_STRIP + READ_INSERT operation (mkp +
           sagi + nab)
      
         - DIF fixes for CONFIG_DEBUG_SG=y + UNMAP file emulation (akinobu +
           sagi + mkp)
      
         - Extended TCMU ABI v2 for future BIDI + DIF support (andy + ilias)
      
         - Fix COMPARE_AND_WRITE handling for NO_ALLLOC drivers (hch + nab)
      
        Thanks to everyone who contributed this round with new features,
        bug-reports, fixes, cleanups and improvements.
      
        Looking forward, it's currently shaping up to be a busy v4.2 as well"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (69 commits)
        target: Put TCMU under a new config option
        target: Version 2 of TCMU ABI
        target: fix tcm_mod_builder.py
        target/file: Fix UNMAP with DIF protection support
        target/file: Fix SG table for prot_buf initialization
        target/file: Fix BUG() when CONFIG_DEBUG_SG=y and DIF protection enabled
        target: Make core_tmr_abort_task() skip TMFs
        target/sbc: Update sbc_dif_generate pr_debug output
        target/sbc: Make internal DIF emulation honor ->prot_checks
        target/sbc: Return INVALID_CDB_FIELD if DIF + sess_prot_type disabled
        target: Ensure sess_prot_type is saved across session restart
        target/rd: Don't pass incomplete scatterlist entries to sbc_dif_verify_*
        target: Remove the unused flag SCF_ACK_KREF
        target: Fix two sparse warnings
        target: Fix COMPARE_AND_WRITE with SG_TO_MEM_NOALLOC handling
        target: simplify the target template registration API
        target: simplify target_xcopy_init_pt_lun
        target: remove the unused SCF_CMD_XCOPY_PASSTHROUGH flag
        target/rd: reduce code duplication in rd_execute_rw()
        tcm_loop: fixup tpgt string to integer conversion
        ...
      c6668726
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-4.1-rc1' of... · 06b45f2a
      Linus Torvalds authored
      Merge tag 'pwm/for-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm changes from Thierry Reding:
       "Not much has been happening in PWM land lately, so this contains
        mostly minor fixes that didn't seem urgent enough for a late
        pull-request last cycle"
      
      * tag 'pwm/for-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        pwm: Remove __init initializer for pwm_add_table()
        pwm: samsung: Fix output race on disabling
        pwm: mxs: Fix period divider computation
        pwm: atmel-hlcdc: Add errata handling for sama5d4
        pwm: pca9685: Constify struct regmap_config
        pwm: imx-pwm: add explicit compatible strings and required clock properties
      06b45f2a
    • Linus Torvalds's avatar
      Merge tag 'dma-buf-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sumits/dma-buf · b3f4ef0b
      Linus Torvalds authored
      Pull dma-buf updates from Sumit Semwal:
       "Minor cleanup only; this could've gone in for the 4.0 merge window,
        but for a copy-paste stupidity from me.
      
        It has been in the for-next since then, and no issues reported.
      
         - cleanup of dma_buf_export()
      
         - correction of copy-paste stupidity while doing the cleanup"
      
      * tag 'dma-buf-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sumits/dma-buf:
        staging: android: ion: fix wrong init of dma_buf_export_info
        dma-buf: cleanup dma_buf_export() to make it easily extensible
      b3f4ef0b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma · d6a4c0e5
      Linus Torvalds authored
      Pull slave-dmaengine updates from Vinod Koul:
      
       - new drivers for:
              - Ingenic JZ4780 controller
              - APM X-Gene controller
              - Freescale RaidEngine device
              - Renesas USB Controller
      
        - remove device_alloc_chan_resources dummy handlers
      
        - sh driver cleanups for peri peri and related emmc and asoc patches
          as well
      
        - fixes and enhancements spread over the drivers
      
      * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (59 commits)
        dmaengine: dw: don't prompt for DW_DMAC_CORE
        dmaengine: shdmac: avoid unused variable warnings
        dmaengine: fix platform_no_drv_owner.cocci warnings
        dmaengine: pch_dma: fix memory leak on failure path in pch_dma_probe()
        dmaengine: at_xdmac: unlock spin lock before return
        dmaengine: xgene: devm_ioremap() returns NULL on error
        dmaengine: xgene: buffer overflow in xgene_dma_init_channels()
        dmaengine: usb-dmac: Fix dereferencing freed memory 'desc'
        dmaengine: sa11x0: report slave capabilities to upper layers
        dmaengine: vdma: Fix compilation warnings
        dmaengine: fsl_raid: statify fsl_re_chan_probe
        dmaengine: Driver support for FSL RaidEngine device.
        dmaengine: xgene_dma_init_ring_mngr() can be static
        Documentation: dma: Add documentation for the APM X-Gene SoC DMA device DTS binding
        arm64: dts: Add APM X-Gene SoC DMA device and DMA clock DTS nodes
        dmaengine: Add support for APM X-Gene SoC DMA engine driver
        dmaengine: usb-dmac: Add Renesas USB DMA Controller (USB-DMAC) driver
        dmaengine: renesas,usb-dmac: Add device tree bindings documentation
        dmaengine: edma: fixed wrongly initialized data parameter to the edma callback
        dmaengine: ste_dma40: fix implicit conversion
        ...
      d6a4c0e5
    • Linus Torvalds's avatar
      Merge tag 'md/4.1' of git://neil.brown.name/md · 474095e4
      Linus Torvalds authored
      Pull md updates from Neil Brown:
       "More updates that usual this time.  A few have performance impacts
        which hould mostly be positive, but RAID5 (in particular) can be very
        work-load ensitive...  We'll have to wait and see.
      
        Highlights:
      
         - "experimental" code for managing md/raid1 across a cluster using
           DLM.  Code is not ready for general use and triggers a WARNING if
           used.  However it is looking good and mostly done and having in
           mainline will help co-ordinate development.
      
         - RAID5/6 can now batch multiple (4K wide) stripe_heads so as to
           handle a full (chunk wide) stripe as a single unit.
      
         - RAID6 can now perform read-modify-write cycles which should help
           performance on larger arrays: 6 or more devices.
      
         - RAID5/6 stripe cache now grows and shrinks dynamically.  The value
           set is used as a minimum.
      
         - Resync is now allowed to go a little faster than the 'mininum' when
           there is competing IO.  How much faster depends on the speed of the
           devices, so the effective minimum should scale with device speed to
           some extent"
      
      * tag 'md/4.1' of git://neil.brown.name/md: (58 commits)
        md/raid5: don't do chunk aligned read on degraded array.
        md/raid5: allow the stripe_cache to grow and shrink.
        md/raid5: change ->inactive_blocked to a bit-flag.
        md/raid5: move max_nr_stripes management into grow_one_stripe and drop_one_stripe
        md/raid5: pass gfp_t arg to grow_one_stripe()
        md/raid5: introduce configuration option rmw_level
        md/raid5: activate raid6 rmw feature
        md/raid6 algorithms: xor_syndrome() for SSE2
        md/raid6 algorithms: xor_syndrome() for generic int
        md/raid6 algorithms: improve test program
        md/raid6 algorithms: delta syndrome functions
        raid5: handle expansion/resync case with stripe batching
        raid5: handle io error of batch list
        RAID5: batch adjacent full stripe write
        raid5: track overwrite disk count
        raid5: add a new flag to track if a stripe can be batched
        raid5: use flex_array for scribble data
        md raid0: access mddev->queue (request queue member) conditionally because it is not set when accessed from dm-raid
        md: allow resync to go faster when there is competing IO.
        md: remove 'go_faster' option from ->sync_request()
        ...
      474095e4
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · d56a669c
      Linus Torvalds authored
      Pull second batch of devicetree updates from Rob Herring:
       "As Grant mentioned in the first devicetree pull request, here is the
        2nd batch of DT changes for 4.1.  The main remaining item here is the
        endianness bindings and related 8250 driver support.
      
         - DT endianness specification bindings
      
         - big-endian 8250 serial support
      
         - DT overlay unittest updates
      
         - various DT doc updates
      
         - compile fixes for OF_IRQ=n"
      
      * tag 'devicetree-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        frv: add io{read,write}{16,32}be functions
        mn10300: add io{read,write}{16,32}be functions
        Documentation: DT bindings: add doc for Altera's SoCFPGA platform
        of: base: improve of_get_next_child() kernel-doc
        Doc: dt: arch_timer: discourage clock-frequency use
        of: unittest: overlay: Keep track of created overlays
        of/fdt: fix allocation size for device node path
        serial: of_serial: Support big-endian register accesses
        serial: 8250: Add support for big-endian MMIO accesses
        of: Document {little,big,native}-endian bindings
        of/fdt: Add endianness helper function for early init code
        of: Add helper function to check MMIO register endianness
        of/fdt: Remove "reg" data prints from early_init_dt_scan_memory
        of: add vendor prefix for Artesyn
        of: Add dummy of_irq_to_resource_table() for IRQ_OF=n
        of: OF_IRQ should depend on IRQ_DOMAIN
      d56a669c
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 836ee487
      Linus Torvalds authored
      Pull initial ACPI support for arm64 from Will Deacon:
       "This series introduces preliminary ACPI 5.1 support to the arm64
        kernel using the "hardware reduced" profile.  We don't support any
        peripherals yet, so it's fairly limited in scope:
      
         - MEMORY init (UEFI)
      
         - ACPI discovery (RSDP via UEFI)
      
         - CPU init (FADT)
      
         - GIC init (MADT)
      
         - SMP boot (MADT + PSCI)
      
         - ACPI Kconfig options (dependent on EXPERT)
      
        ACPI for arm64 has been in development for a while now and hardware
        has been available that can boot with either FDT or ACPI tables.  This
        has been made possible by both changes to the ACPI spec to cater for
        ARM-based machines (known as "hardware-reduced" in ACPI parlance) but
        also a Linaro-driven effort to get this supported on top of the Linux
        kernel.  This pull request is the result of that work.
      
        These changes allow us to initialise the CPUs, interrupt controller,
        and timers via ACPI tables, with memory information and cmdline coming
        from EFI.  We don't support a hybrid ACPI/FDT scheme.  Of course,
        there is still plenty of work to do (a serial console would be nice!)
        but I expect that to happen on a per-driver basis after this core
        series has been merged.
      
        Anyway, the diff stat here is fairly horrible, but splitting this up
        and merging it via all the different subsystems would have been
        extremely painful.  Instead, we've got all the relevant Acks in place
        and I've not seen anything other than trivial (Kconfig) conflicts in
        -next (for completeness, I've included my resolution below).  Nearly
        half of the insertions fall under Documentation/.
      
        So, we'll see how this goes.  Right now, it all depends on EXPERT and
        I fully expect people to use FDT by default for the immediate future"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (31 commits)
        ARM64 / ACPI: make acpi_map_gic_cpu_interface() as void function
        ARM64 / ACPI: Ignore the return error value of acpi_map_gic_cpu_interface()
        ARM64 / ACPI: fix usage of acpi_map_gic_cpu_interface
        ARM64: kernel: acpi: honour acpi=force command line parameter
        ARM64: kernel: acpi: refactor ACPI tables init and checks
        ARM64: kernel: psci: let ACPI probe PSCI version
        ARM64: kernel: psci: factor out probe function
        ACPI: move arm64 GSI IRQ model to generic GSI IRQ layer
        ARM64 / ACPI: Don't unflatten device tree if acpi=force is passed
        ARM64 / ACPI: additions of ACPI documentation for arm64
        Documentation: ACPI for ARM64
        ARM64 / ACPI: Enable ARM64 in Kconfig
        XEN / ACPI: Make XEN ACPI depend on X86
        ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64
        clocksource / arch_timer: Parse GTDT to initialize arch timer
        irqchip: Add GICv2 specific ACPI boot support
        ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi
        ACPI / processor: Make it possible to get CPU hardware ID via GICC
        ACPI / processor: Introduce phys_cpuid_t for CPU hardware ID
        ARM64 / ACPI: Parse MADT for SMP initialization
        ...
      836ee487
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · fb65d872
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "A few fixes for the recently merged development updates:
      
         - the update to convert a code branch in the procinfo structure
           forgot to update the nommu code.
      
         - VDSO only supported for V7 CPUs and later.
      
         - VDSO build creates files which should be ignored by git but are not.
      
         - ensure that make arch/arm/vdso/ doesn't build if it isn't enabled"
      
      * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8344/1: VDSO: honor CONFIG_VDSO in Makefile
        ARM: 8343/1: VDSO: add build artifacts to .gitignore
        ARM: Fix nommu booting
        ARM: 8342/1: VDSO: depend on CPU_V7
      fb65d872
    • Linus Torvalds's avatar
      Merge tag 'nios2-v4.1-rc1' of git://git.rocketboards.org/linux-socfpga-next · 05f0c553
      Linus Torvalds authored
      Pull arch/nios2 updates from Ley Foon Tan:
      
       - update cache management code
      
       - rework trap handler with new define trap #.
      
       - fix on check header warning.
      
      * tag 'nios2-v4.1-rc1' of git://git.rocketboards.org/linux-socfpga-next:
        nios2: rework cache
        nios2: Add types.h header required for __u32 type
        nios2: rework trap handler
        nios2: remove end address checking for initda
      05f0c553
    • Linus Torvalds's avatar
      Merge tag 'blackfin-for-linus' of... · 668b54a1
      Linus Torvalds authored
      Merge tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux
      
      Pull blackfin updates from Steven Miao.
      
      * tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux:
        eth: bf609 eth clock: add pclk clock for stmmac driver probe
        blackfin: Wire up missing syscalls
        arch: blackfin: kernel: kgdb: Remove unused function
        dma: fix build error after update to v3.19
        blackfin: io: define __raw_readx/writex with bfin_readx/writex
        bf609: add resources for lcd nl8048
        pm: sometimes wake up from suspend to RAM would fail
        debug-mmrs: Eliminate all traces of the USB_PHY_TEST MMR
        bf609: remove softswitch i2c configuration from adv7842 and adv7511 platform data
        bf609: add platform data for soft switch devices on the video extenders
        bf609: enable soft switch gpio driver by default
        bf609: add gpio soft switch platform data for mcp23017 i2c devices
        bf609: use new SND_BF6XX_PCM to choose audio pcm driver
        bug[220] kgdb: change the smp cross core function entry
        arch: blackfin: kernel: setup.c: Cleaning up missing null-terminate in conjunction with strncpy
        blackfin: defconfigs: cleanup unused CONFIG_MTD_CHAR, add MTD_SPI_NOR for BF537-STAMP
      668b54a1
    • Linus Torvalds's avatar
      Merge tag 'metag-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag · fab1e550
      Linus Torvalds authored
      Pull Metag architecture updates from James Hogan:
       "Just the one change for v4.1-rc1.  A minor cleanup of copy_thread()"
      
      * tag 'metag-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
        metag: copy_thread(): rename 'arg' argument to 'kthread_arg'
      fab1e550
    • Linus Torvalds's avatar
      Merge tag 'arc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · c76397e9
      Linus Torvalds authored
      Pull ARC updates from Vineet Gupta:
      
       - perf fixes/improvements
      
       - misc cleanups
      
      * tag 'arc-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: perf: don't add code for impossible case
        ARC: perf: Rename DT binding to not confuse with power mgmt
        ARC: perf: add user space attribution in callchains
        ARC: perf: Add kernel callchain support
        ARC: perf: support cache hit/miss ratio
        ARC: perf: Add some comments/debug stuff
        ARC: perf: make @arc_pmu static global
        ARC: mem init spring cleaning - No functional changes
        ARC: Fix RTT boot printing
        ARC: fold __builtin_constant_p() into test_bit()
        ARC: rename unhandled exception handler
        ARC: cosmetic: Remove unused ECR bitfield masks
        ARC: Fix WRITE_BCR
        ARC: [nsimosci] Update defconfig
        arc: copy_thread(): rename 'arg' argument to 'kthread_arg'
      c76397e9
    • Linus Torvalds's avatar
      Merge branch 'for-4.1' of git://linux-nfs.org/~bfields/linux · 860448cf
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "A quiet cycle this time; this is basically entirely bugfixes.
      
        The few that aren't cc'd to stable are cleanup or seemed unlikely to
        affect anyone much"
      
      * 'for-4.1' of git://linux-nfs.org/~bfields/linux:
        uapi: Remove kernel internal declaration
        nfsd: fix nsfd startup race triggering BUG_ON
        nfsd: eliminate NFSD_DEBUG
        nfsd4: fix READ permission checking
        nfsd4: disallow SEEK with special stateids
        nfsd4: disallow ALLOCATE with special stateids
        nfsd: add NFSEXP_PNFS to the exflags array
        nfsd: Remove duplicate macro define for max sec label length
        nfsd: allow setting acls with unenforceable DENYs
        nfsd: NFSD_FAULT_INJECTION depends on DEBUG_FS
        nfsd: remove unused status arg to nfsd4_cleanup_open_state
        nfsd: remove bogus setting of status in nfsd4_process_open2
        NFSD: Use correct reply size calculating function
        NFSD: Using path_equal() for checking two paths
      860448cf
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · ba0e4ae8
      Linus Torvalds authored
      Pull btrfs updates from Chris Mason:
       "I've been running these through a longer set of load tests because my
        commits change the free space cache writeout.  It fixes commit stalls
        on large filesystems (~20T space used and up) that we have been
        triggering here.  We were seeing new writers blocked for 10 seconds or
        more during commits, which is far from good.
      
        Josef and I fixed up ENOSPC aborts when deleting huge files (3T or
        more), that are triggered because our metadata reservations were not
        properly accounting for crcs and were not replenishing during the
        truncate.
      
        Also in this series, a number of qgroup fixes from Fujitsu and Dave
        Sterba collected most of the pending cleanups from the list"
      
      * 'for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (93 commits)
        btrfs: quota: Update quota tree after qgroup relationship change.
        btrfs: quota: Automatically update related qgroups or mark INCONSISTENT flags when assigning/deleting a qgroup relations.
        btrfs: qgroup: clear STATUS_FLAG_ON in disabling quota.
        btrfs: Update btrfs qgroup status item when rescan is done.
        btrfs: qgroup: Fix dead judgement on qgroup_rescan_leaf() return value.
        btrfs: Don't allow subvolid >= (1 << BTRFS_QGROUP_LEVEL_SHIFT) to be created
        btrfs: Check qgroup level in kernel qgroup assign.
        btrfs: qgroup: allow to remove qgroup which has parent but no child.
        btrfs: qgroup: return EINVAL if level of parent is not higher than child's.
        btrfs: qgroup: do a reservation in a higher level.
        Btrfs: qgroup, Account data space in more proper timings.
        Btrfs: qgroup: Introduce a may_use to account space_info->bytes_may_use.
        Btrfs: qgroup: free reserved in exceeding quota.
        Btrfs: qgroup: cleanup, remove an unsued parameter in btrfs_create_qgroup().
        btrfs: qgroup: fix limit args override whole limit struct
        btrfs: qgroup: update limit info in function btrfs_run_qgroups().
        btrfs: qgroup: consolidate the parameter of fucntion update_qgroup_limit_item().
        btrfs: qgroup: update qgroup in memory at the same time when we update it in btree.
        btrfs: qgroup: inherit limit info from srcgroup in creating snapshot.
        btrfs: Support busy loop of write and delete
        ...
      ba0e4ae8
    • Linus Torvalds's avatar
      Merge tag 'xfs-for-linus-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 1aef882f
      Linus Torvalds authored
      Pull xfs update from Dave Chinner:
       "This update contains:
      
         - RENAME_WHITEOUT support
      
         - conversion of per-cpu superblock accounting to use generic counters
      
         - new inode mmap lock so that we can lock page faults out of
           truncate, hole punch and other direct extent manipulation functions
           to avoid racing mmap writes from causing data corruption
      
         - rework of direct IO submission and completion to solve data
           corruption issue when running concurrent extending DIO writes.
           Also solves problem of running IO completion transactions in
           interrupt context during size extending AIO writes.
      
         - FALLOC_FL_INSERT_RANGE support for inserting holes into a file via
           direct extent manipulation to avoid needing to copy data within the
           file
      
         - attribute block header field overflow fix for 64k block size
           filesystems
      
         - Lots of changes to log messaging to be more informative and concise
           when errors occur.  Also prevent a lot of unnecessary log spamming
           due to cascading failures in error conditions.
      
         - lots of cleanups and bug fixes
      
        One thing of note is the direct IO fixes that we merged last week
        after the window opened.  Even though a little late, they fix a user
        reported data corruption and have been pretty well tested.  I figured
        there was not much point waiting another 2 weeks for -rc1 to be
        released just so I could send them to you..."
      
      * tag 'xfs-for-linus-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (49 commits)
        xfs: using generic_file_direct_write() is unnecessary
        xfs: direct IO EOF zeroing needs to drain AIO
        xfs: DIO write completion size updates race
        xfs: DIO writes within EOF don't need an ioend
        xfs: handle DIO overwrite EOF update completion correctly
        xfs: DIO needs an ioend for writes
        xfs: move DIO mapping size calculation
        xfs: factor DIO write mapping from get_blocks
        xfs: unlock i_mutex in xfs_break_layouts
        xfs: kill unnecessary firstused overflow check on attr3 leaf removal
        xfs: use larger in-core attr firstused field and detect overflow
        xfs: pass attr geometry to attr leaf header conversion functions
        xfs: disallow ro->rw remount on norecovery mount
        xfs: xfs_shift_file_space can be static
        xfs: Add support FALLOC_FL_INSERT_RANGE for fallocate
        fs: Add support FALLOC_FL_INSERT_RANGE for fallocate
        xfs: Fix incorrect positive ENOMEM return
        xfs: xfs_mru_cache_insert() should use GFP_NOFS
        xfs: %pF is only for function pointers
        xfs: fix shadow warning in xfs_da3_root_split()
        ...
      1aef882f
    • Linus Torvalds's avatar
      x86: fix special __probe_kernel_write() tail zeroing case · d869844b
      Linus Torvalds authored
      Commit cae2a173 ("x86: clean up/fix 'copy_in_user()' tail zeroing")
      fixed the failure case tail zeroing of one special case of the x86-64
      generic user-copy routine, namely when used for the user-to-user case
      ("copy_in_user()").
      
      But in the process it broke an even more unusual case: using the user
      copy routine for kernel-to-kernel copying.
      
      Now, normally kernel-kernel copies are obviously done using memcpy(),
      but we have a couple of special cases when we use the user-copy
      functions.  One is when we pass a kernel buffer to a regular user-buffer
      routine, using set_fs(KERNEL_DS).  That's a "normal" case, and continued
      to work fine, because it never takes any faults (with the possible
      exception of a silent and successful vmalloc fault).
      
      But Jan Beulich pointed out another, very unusual, special case: when we
      use the user-copy routines not because it's a path that expects a user
      pointer, but for a couple of ftrace/kgdb cases that want to do a kernel
      copy, but do so using "unsafe" buffers, and use the user-copy routine to
      gracefully handle faults.  IOW, for probe_kernel_write().
      
      And that broke for the case of a faulting kernel destination, because we
      saw the kernel destination and wanted to try to clear the tail of the
      buffer.  Which doesn't work, since that's what faults.
      
      This only triggers for things like kgdb and ftrace users (eg trying
      setting a breakpoint on read-only memory), but it's definitely a bug.
      The fix is to not compare against the kernel address start (TASK_SIZE),
      but instead use the same limits "access_ok()" uses.
      Reported-and-tested-by: default avatarJan Beulich <jbeulich@suse.com>
      Cc: stable@vger.kernel.org # 4.0
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d869844b
    • Geert Uytterhoeven's avatar
      crypto: img-hash - CRYPTO_DEV_IMGTEC_HASH should depend on HAS_DMA · 8c98ebd7
      Geert Uytterhoeven authored
      If NO_DMA=y:
      
          drivers/built-in.o: In function `img_hash_write_via_dma_stop':
          img-hash.c:(.text+0xa2b822): undefined reference to `dma_unmap_sg'
          drivers/built-in.o: In function `img_hash_xmit_dma':
          img-hash.c:(.text+0xa2b8d8): undefined reference to `dma_map_sg'
          img-hash.c:(.text+0xa2b948): undefined reference to `dma_unmap_sg'
      
      Also move the "depends" section below the "tristate" line while we're at
      it.
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      8c98ebd7
    • Ard Biesheuvel's avatar
      crypto: x86/sha512_ssse3 - fixup for asm function prototype change · 00425bb1
      Ard Biesheuvel authored
      Patch e68410eb ("crypto: x86/sha512_ssse3 - move SHA-384/512
      SSSE3 implementation to base layer") changed the prototypes of the
      core asm SHA-512 implementations so that they are compatible with
      the prototype used by the base layer.
      
      However, in one instance, the register that was used for passing the
      input buffer was reused as a scratch register later on in the code,
      and since the input buffer param changed places with the digest param
      -which needs to be written back before the function returns- this
      resulted in the scratch register to be dereferenced in a memory write
      operation, causing a GPF.
      
      Fix this by changing the scratch register to use the same register as
      the input buffer param again.
      
      Fixes: e68410eb ("crypto: x86/sha512_ssse3 - move SHA-384/512 SSSE3 implementation to base layer")
      Reported-By: default avatarBobby Powers <bobbypowers@gmail.com>
      Tested-By: default avatarBobby Powers <bobbypowers@gmail.com>
      Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      00425bb1
    • Ley Foon Tan's avatar
      nios2: rework cache · 1a70db49
      Ley Foon Tan authored
      - flush dcache before flush instruction cache
      - remork update_mmu_cache and flush_dcache_page
      - add shmparam.h
      Signed-off-by: default avatarLey Foon Tan <lftan@altera.com>
      1a70db49
    • Ezequiel Garcia's avatar
      nios2: Add types.h header required for __u32 type · 2009337e
      Ezequiel Garcia authored
      Reported by the header checker (CONFIG_HEADERS_CHECK=y):
      
        CHECK   usr/include/asm/ (31 files)
      ./usr/include/asm/ptrace.h:77: found __[us]{8,16,32,64} type without #include <linux/types.h>
      Signed-off-by: default avatarEzequiel Garcia <ezequiel@vanguardiasur.com.ar>
      Acked-by: default avatarLey Foon Tan <lftan@altera.com>
      2009337e
    • Hui Wang's avatar
      ALSA: hda - fix headset mic detection problem for one more machine · e8191a8e
      Hui Wang authored
      We have two machines with alc256 codec in the pin quirk table, so
      moving the common pins to ALC256_STANDARD_PINS.
      
      Cc: stable@vger.kernel.org
      BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1447909Signed-off-by: default avatarHui Wang <hui.wang@canonical.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      e8191a8e
    • Steven Miao's avatar
    • Chen Gang's avatar
      blackfin: Wire up missing syscalls · 4f650a59
      Chen Gang authored
      The related syscalls are below which may cause samples/kdbus building
      break in next-20150401 tree, the related information and error:
      
          CALL    scripts/checksyscalls.sh
        <stdin>:1223:2: warning: #warning syscall kcmp not implemented [-Wcpp]
        <stdin>:1226:2: warning: #warning syscall finit_module not implemented [-Wcpp]
        <stdin>:1229:2: warning: #warning syscall sched_setattr not implemented [-Wcpp]
        <stdin>:1232:2: warning: #warning syscall sched_getattr not implemented [-Wcpp]
        <stdin>:1235:2: warning: #warning syscall renameat2 not implemented [-Wcpp]
        <stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
        <stdin>:1241:2: warning: #warning syscall getrandom not implemented [-Wcpp]
        <stdin>:1244:2: warning: #warning syscall memfd_create not implemented [-Wcpp]
        <stdin>:1247:2: warning: #warning syscall bpf not implemented [-Wcpp]
        <stdin>:1250:2: warning: #warning syscall execveat not implemented [-Wcpp]
        [...]
          HOSTCC  samples/kdbus/kdbus-workers
        samples/kdbus/kdbus-workers.c: In function ‘prime_new’:
        samples/kdbus/kdbus-workers.c:930:18: error: ‘__NR_memfd_create’ undeclared (first use in this function)
          p->fd = syscall(__NR_memfd_create, "prime-area", MFD_CLOEXEC);
                          ^
        samples/kdbus/kdbus-workers.c:930:18: note: each undeclared identifier is reported only once for each function it appears in
      Signed-off-by: default avatarChen Gang <gang.chen.5i5j@gmail.com>
      4f650a59
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-dock', 'acpi-ec' and 'acpi-scan' · e0155a99
      Rafael J. Wysocki authored
      * acpi-dock:
        MAINTAINERS: remove maintainship entry of docking station driver
      
      * acpi-ec:
        ACPI / EC: fix NULL pointer dereference in acpi_ec_remove_query_handler()
      
      * acpi-scan:
        ACPI / scan: Add a scan handler for PRP0001
        ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline()
      e0155a99
    • Rafael J. Wysocki's avatar
      ACPI / scan: Add a scan handler for PRP0001 · 7d284352
      Rafael J. Wysocki authored
      If the special PRP0001 device ID is present in the given device's list
      of ACPI/PNP IDs and the device has a valid "compatible" property in
      the _DSD, it should be enumerated using the default mechanism,
      unless some scan handlers match the IDs preceding PRP0001 in the
      device's list of ACPI/PNP IDs.  In addition to that, no scan handlers
      matching the IDs following PRP0001 in that list should be attached
      to the device.
      
      To make that happen, define a scan handler that will match PRP0001
      and trigger the default enumeration for the matching devices if the
      "compatible" property is present for them.
      
      Since that requires the check for platform_id and device->handler
      to be removed from acpi_default_enumeration(), move the fallback
      invocation of acpi_default_enumeration() to acpi_bus_attach()
      (after it's checked if there's a matching ACPI driver for the
      device), which is a better place to call it, and do the platform_id
      check in there too (device->handler is guaranteed to be unset at
      the point where the function is looking for a matching ACPI driver).
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarDarren Hart <dvhart@linux.intel.com>
      7d284352
    • Rafael J. Wysocki's avatar
      ACPI / scan: Annotate physical_node_lock in acpi_scan_is_offline() · 4c533c80
      Rafael J. Wysocki authored
      acpi_scan_is_offline() may be called under the physical_node_lock
      lock of the given device object's parent, so prevent lockdep from
      complaining about that by annotating that instance with
      SINGLE_DEPTH_NESTING.
      
      Fixes: caa73ea1 (ACPI / hotplug / driver core: Handle containers in a special way)
      Reported-and-tested-by: default avatarXie XiuQi <xiexiuqi@huawei.com>
      Reviewed-by: default avatarToshi Kani <toshi.kani@hp.com>
      Cc: 3.14+ <stable@vger.kernel.org> # 3.14+
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      4c533c80