1. 04 11月, 2016 2 次提交
    • B
      HID: intel-ish-hid: Fix !CONFIG_PM build warning · 1793e1c5
      Borislav Petkov 提交于
      Fix
      
        drivers/hid/intel-ish-hid/ipc/pci-ish.c:247:12: warning: ‘ish_suspend’ defined but not used [-Wunused-function]
         static int ish_suspend(struct device *device)
                    ^
        drivers/hid/intel-ish-hid/ipc/pci-ish.c:282:12: warning: ‘ish_resume’ defined but not used [-Wunused-function]
         static int ish_resume(struct device *device)
                  ^
      by sticking them in the CONFIG_PM range too.
      Signed-off-by: NBorislav Petkov <bp@suse.de>
      Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Cc: Jiri Kosina <jikos@kernel.org>
      Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
      Cc: Wei Yongjun <weiyongjun1@huawei.com>
      Cc: linux-input@vger.kernel.org
      Acked-by: NSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      1793e1c5
    • S
      HID: sensor-hub: Fix packing of result buffer for feature report · 5459ada2
      Srinivas Pandruvada 提交于
      When report count is more than one and report size is not 4 bytes, then we
      need some packing into result buffer from the caller of function
      sensor_hub_get_feature.
      By default the value extracted from a field is 4 bytes from hid core
      (using hid_hw_request(hsdev->hdev, report, HID_REQ_GET_REPORT)), even
      if report size if less than 4 byte. So when we copy data to user buffer in
      sensor_hub_get_feature, we need to only copy report size bytes even
      when report count is more than 1. This is
      not an issue for most of the sensor hub fields as report count will be 1
      where we already copy only report size bytes, but some string fields
      like description, it is a problem as the report count will be more than 1.
      For example:
          Field(6)
            Physical(Sensor.OtherCustom)
            Application(Sensor.Sensor)
            Usage(11)
              Sensor.0306
              Sensor.0306
              Sensor.0306
              Sensor.0306
              Sensor.0306
              Sensor.0306
              Sensor.0306
              Sensor.0306
              Sensor.0306
              Sensor.0306
              Sensor.0306
            Report Size(16)
            Report Count(11)
      
      Here since the report size is 2 bytes, we will have 2 additional bytes of
      0s copied into user buffer, if we directly copy to user buffer from
      report->field[]->value
      
      This change will copy report size bytes into the buffer of caller for each
      usage report->field[]->value. So for example without this change, the
      data displayed for a custom sensor field "sensor-model":
      
      76 00 101 00 110 00 111 00 118 00 111
      (truncated to report count of 11)
      
      With change
      
      76 101 110 111 118 111 32 89 111 103 97
      ("Lenovo Yoga" in ASCII )
      Signed-off-by: NSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      5459ada2
  2. 10 10月, 2016 4 次提交
    • S
      HID: add quirk for Akai MIDImix. · 4973ca9a
      Steinar H. Gunderson 提交于
      The Akai MIDImix (09e8:0031) is a MIDI fader controller that speaks
      regular MIDI and works well with Linux. However, initialization gets
      delayed due to reports timeout:
      
        [3643645.631124] hid-generic 0003:09E8:0031.0020: timeout initializing reports
        [3643645.632416] hid-generic 0003:09E8:0031.0020: hiddev0: USB HID v1.11 Device [AKAI MIDI Mix] on usb-0000:00:14.0-2/input0
      
      Adding "usbhid.quirks=0x09e8:0x0031:0x20000000" on the kernel
      command line makes the issues go away.
      Signed-off-by: NSteinar H. Gunderson <sgunderson@bigfoot.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      4973ca9a
    • I
      Revert "HID: dragonrise: fix HID Descriptor for 0x0006 PID" · 1bcaa05e
      Ioan-Adrian Ratiu 提交于
      This reverts commit 18339f59 ("HID: dragonrise: fix HID...") because it
      breaks certain dragonrise 0079:0006 gamepads. While it may fix a breakage
      caused by commit 79346d62 ("HID: input: force generic axis to be mapped
      to their user space axis"), it is probable that the manufacturer released
      different hardware with the same PID so this fix works for only a subset
      and breaks the other gamepads sharing the PID.
      
      What is needed is another more generic solution which fixes 79346d62
      ("HID: input: force generic axis ...") breakage for this controller: we
      need to add an exception for this driver to make it keep the old behaviour
      previous to the initial breakage (this is done in patch 2 of this series).
      Signed-off-by: NIoan-Adrian Ratiu <adi@adirat.com>
      Reviewed-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      1bcaa05e
    • I
      HID: hid-dr: add input mapping for axis selection · e1594409
      Ioan-Adrian Ratiu 提交于
      Commit 79346d62 ("HID: input: force generic axis to be mapped to their
      user space axis") made mapping generic axes to their userspace equivalents
      mandatory and some lower end gamepads which were depending on the previous
      behaviour suffered severe regressions because they were reusing axes and
      expecting hid-input to multiplex their map to the respective userspace axis
      by always searching for and using the next available axis.
      
      One solution is to add a hid quirk for this type of "previous" behaviour in
      hid-input to bypass the new axes policy in favour of the old one, but since
      only one hardware vendor seems to be affected negatively we're better off
      making and exception and mapping in the driver for now; if more vendors or
      drivers turn out to experience the problem we should reconsider the quirk
      solution.
      Signed-off-by: NIoan-Adrian Ratiu <adi@adirat.com>
      Reviewed-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      e1594409
    • H
      HID: hid-led: fix issue with transfer buffer not being dma capable · 3d1355b3
      Heiner Kallweit 提交于
      The hid-led driver works fine under 4.8.0, however with the next
      kernel from today I get this:
      
      ------------[ cut here ]------------
      WARNING: CPU: 0 PID: 2578 at drivers/usb/core/hcd.c:1584 usb_hcd_map_urb_for_dma+0x373/0x550 [usbcore]
      transfer buffer not dma capable
      Modules linked in: hid_led(+) usbhid vfat fat ir_sony_decoder iwlmvm led_class mac80211 snd_hda_codec_realtek snd_hda_codec_generic x86_pkg_temp_thermal iwlwifi crc32c_intel snd_hda_codec_hdmi i2c_i801 i2c_smbus snd_hda_intel cfg80211 snd_hda_codec snd_hda_core snd_pcm r8169 snd_timer mei_me mii snd mei ir_lirc_codec lirc_dev nuvoton_cir rc_core btusb btintel bluetooth rfkill usb_storage efivarfs ipv6 ehci_pci ehci_hcd xhci_pci xhci_hcd usbcore usb_common ext4 jbd2 mbcache ahci libahci libata
      CPU: 0 PID: 2578 Comm: systemd-udevd Not tainted 4.8.0-rc8-next-20161003 #1
      Hardware name: ZOTAC ZBOX-CI321NANO/ZBOX-CI321NANO, BIOS B246P105 06/01/2015
       ffffc90003dbb7e0 ffffffff81280425 ffffc90003dbb830 0000000000000000
       ffffc90003dbb820 ffffffff8105b086 0000063003dbb800 ffff88006f374480
       0000000000000000 0000000000000000 0000000000000001 ffff880079544000
      Call Trace:
       [<ffffffff81280425>] dump_stack+0x68/0x93
       [<ffffffff8105b086>] __warn+0xc6/0xe0
       [<ffffffff8105b0ea>] warn_slowpath_fmt+0x4a/0x50
       [<ffffffffa0143a43>] usb_hcd_map_urb_for_dma+0x373/0x550 [usbcore]
       [<ffffffffa01441b6>] usb_hcd_submit_urb+0x316/0x9c0 [usbcore]
       [<ffffffff810bce80>] ? rcu_read_lock_sched_held+0x40/0x80
       [<ffffffff810e0043>] ? module_assert_mutex_or_preempt+0x13/0x50
       [<ffffffff810e0c07>] ? __module_address+0x27/0xf0
       [<ffffffffa01456e4>] usb_submit_urb+0x2c4/0x520 [usbcore]
       [<ffffffffa0145fea>] usb_start_wait_urb+0x5a/0xe0 [usbcore]
       [<ffffffffa014612c>] usb_control_msg+0xbc/0xf0 [usbcore]
       [<ffffffff810e0c07>] ? __module_address+0x27/0xf0
       [<ffffffffa079a724>] usbhid_raw_request+0xa4/0x180 [usbhid]
       [<ffffffffa07a93b1>] hidled_recv+0x71/0xe0 [hid_led]
       [<ffffffffa07a947d>] thingm_init+0x2d/0x50 [hid_led]
       [<ffffffffa07a969b>] hidled_probe+0xcb/0x24a [hid_led]
       [<ffffffff814d96f2>] hid_device_probe+0xd2/0x150
       [<ffffffff8146023d>] driver_probe_device+0x1fd/0x2c0
       [<ffffffff8146039a>] __driver_attach+0x9a/0xa0
       [<ffffffff81460300>] ? driver_probe_device+0x2c0/0x2c0
       [<ffffffff8145e25d>] bus_for_each_dev+0x5d/0x90
       [<ffffffff8145fa79>] driver_attach+0x19/0x20
       [<ffffffff8145f5ff>] bus_add_driver+0x11f/0x220
       [<ffffffffa07ac000>] ? 0xffffffffa07ac000
       [<ffffffff8146086b>] driver_register+0x5b/0xd0
       [<ffffffffa07ac000>] ? 0xffffffffa07ac000
       [<ffffffff814d83d1>] __hid_register_driver+0x61/0xa0
       [<ffffffffa07ac01e>] hidled_driver_init+0x1e/0x20 [hid_led]
       [<ffffffff81000408>] do_one_initcall+0x38/0x150
       [<ffffffff810bce80>] ? rcu_read_lock_sched_held+0x40/0x80
       [<ffffffff81194ca0>] ? kmem_cache_alloc_trace+0x1d0/0x230
       [<ffffffff811342f9>] do_init_module+0x5a/0x1cb
       [<ffffffff810e3862>] load_module+0x1e42/0x2530
       [<ffffffff810e0990>] ? __symbol_put+0x50/0x50
       [<ffffffff810dfc50>] ? show_coresize+0x30/0x30
       [<ffffffff811ad650>] ? kernel_read_file+0x100/0x190
       [<ffffffff811ad794>] ? kernel_read_file_from_fd+0x44/0x70
       [<ffffffff810e415a>] SYSC_finit_module+0xba/0xc0
       [<ffffffff810e4179>] SyS_finit_module+0x9/0x10
       [<ffffffff815e082a>] entry_SYSCALL_64_fastpath+0x18/0xad
      ---[ end trace c9e6ea27003ecf9e ]---
      
      Fix this by using a kmalloc'ed buffer when calling hid_hw_raw_request.
      Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com>
      Reviewed-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      3d1355b3
  3. 08 10月, 2016 6 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · bc75450c
      Linus Torvalds 提交于
      Pull HID updates from Jiri Kosina:
      
       - Integrated Sensor Hub support (Cherrytrail+) from Srinivas Pandruvada
      
       - Big cleanup of Wacom driver; namely it's now using devres, and the
         standardized LED API so that libinput doesn't need to have root
         access any more, with substantial amount of other cleanups
         piggy-backing on top. All this from Benjamin Tissoires
      
       - Report descriptor parsing would now ignore and out-of-range System
         controls in case of the application actually being System Control.
         This fixes quite some issues with several devices, and allows us to
         remove a few ->report_fixup callbacks. From Benjamin Tissoires
      
       - ... a lot of other assorted small fixes and device ID additions
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (76 commits)
        HID: add missing \n to end of dev_warn messages
        HID: alps: fix multitouch cursor issue
        HID: hid-logitech: Documentation updates/corrections
        HID: hid-logitech: Improve Wingman Formula Force GP support
        HID: hid-logitech: Rewrite of descriptor for all DF wheels
        HID: hid-logitech: Compute combined pedals value
        HID: hid-logitech: Add combined pedal support Logitech wheels
        HID: hid-logitech: Introduce control for combined pedals feature
        HID: sony: Update copyright and add Dualshock 4 rate control note
        HID: sony: Defer the initial USB Sixaxis output report
        HID: sony: Relax duplicate checking for USB-only devices
        Revert "HID: microsoft: fix invalid rdesc for 3k kbd"
        HID: alps: fix error return code in alps_input_configured()
        HID: alps: fix stick device not working after resume
        HID: support for keyboard - Corsair STRAFE
        HID: alps: Fix memory leak
        HID: uclogic: Add support for UC-Logic TWHA60 v3
        HID: uclogic: Override constant descriptors
        HID: uclogic: Support UGTizer GP0610 partially
        HID: uclogic: Add support for several more tablets
        ...
      bc75450c
    • L
      Merge tag 'pci-v4.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · e6e3d8f8
      Linus Torvalds 提交于
      Pull PCI updates from Bjorn Helgaas:
       "Summary of PCI changes for the v4.9 merge window:
      
        Enumeration:
         - microblaze: Add multidomain support for procfs (Bharat Kumar Gogada)
      
        Resource management:
         - Ignore requested alignment for PROBE_ONLY and fixed resources (Yongji Xie)
         - Ignore requested alignment for VF BARs (Yongji Xie)
      
        PCI device hotplug:
         - Make core explicitly non-modular (Paul Gortmaker)
      
        PCIe native device hotplug:
         - Rename pcie_isr() locals for clarity (Bjorn Helgaas)
         - Return IRQ_NONE when we can't read interrupt status (Bjorn Helgaas)
         - Remove unnecessary guard (Bjorn Helgaas)
         - Clean up dmesg "Slot(%s)" messages (Bjorn Helgaas)
         - Remove useless pciehp_get_latch_status() calls (Bjorn Helgaas)
         - Clear attention LED on device add (Keith Busch)
         - Allow exclusive userspace control of indicators (Keith Busch)
         - Process all hotplug events before looking for new ones (Mayurkumar Patel)
         - Don't re-read Slot Status when queuing hotplug event (Mayurkumar Patel)
         - Don't re-read Slot Status when handling surprise event (Mayurkumar Patel)
         - Make explicitly non-modular (Paul Gortmaker)
      
        Power management:
         - Afford direct-complete to devices with non-standard PM (Lukas Wunner)
         - Query platform firmware for device power state (Lukas Wunner)
         - Recognize D3cold in pci_update_current_state() (Lukas Wunner)
         - Avoid unnecessary resume after direct-complete (Lukas Wunner)
         - Make explicitly non-modular (Paul Gortmaker)
      
        Virtualization:
         - Mark Atheros AR9580 to avoid bus reset (Maik Broemme)
         - Check for pci_setup_device() failure in pci_iov_add_virtfn() (Po Liu)
      
        MSI:
         - Enable PCI_MSI_IRQ_DOMAIN support for ARC (Joao Pinto)
      
        AER:
         - Remove aerdriver.nosourceid kernel parameter (Bjorn Helgaas)
         - Remove aerdriver.forceload kernel parameter (Bjorn Helgaas)
         - Fix aer_probe() kernel-doc comment (Cao jin)
         - Add bus flag to skip source ID matching (Jon Derrick)
         - Avoid memory allocation in interrupt handling path (Jon Derrick)
         - Cache capability position (Keith Busch)
         - Make explicitly non-modular (Paul Gortmaker)
         - Remove duplicate AER severity translation (Tyler Baicar)
         - Send correct severity to calculate AER severity (Tyler Baicar)
      
        Precision Time Measurement:
         - Add Precision Time Measurement (PTM) support (Jonathan Yong)
         - Add PTM clock granularity information (Bjorn Helgaas)
         - Add pci_enable_ptm() for drivers to enable PTM on endpoints (Bjorn Helgaas)
      
        Generic host bridge driver:
         - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
         - Make explicitly non-modular (Paul Gortmaker)
      
        Altera host bridge driver:
         - Remove redundant platform_get_resource() return value check (Bjorn Helgaas)
         - Poll for link training status after retraining the link (Ley Foon Tan)
         - Rework config accessors for use without a struct pci_bus (Ley Foon Tan)
         - Move retrain from fixup to altera_pcie_host_init() (Ley Foon Tan)
         - Make MSI explicitly non-modular (Paul Gortmaker)
         - Make explicitly non-modular (Paul Gortmaker)
         - Relax device number checking to allow SR-IOV (Po Liu)
      
        ARM Versatile host bridge driver:
         - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
      
        Axis ARTPEC-6 host bridge driver:
         - Drop __init from artpec6_add_pcie_port() (Niklas Cassel)
      
        Freescale i.MX6 host bridge driver:
         - Make explicitly non-modular (Paul Gortmaker)
      
        Intel VMD host bridge driver:
         - Add quirk for AER to ignore source ID (Jon Derrick)
         - Allocate IRQ lists with correct MSI-X count (Jon Derrick)
         - Convert to use pci_alloc_irq_vectors() API (Jon Derrick)
         - Eliminate vmd_vector member from list type (Jon Derrick)
         - Eliminate index member from IRQ list (Jon Derrick)
         - Synchronize with RCU freeing MSI IRQ descs (Keith Busch)
         - Request userspace control of PCIe hotplug indicators (Keith Busch)
         - Move VMD driver to drivers/pci/host (Keith Busch)
      
        Marvell Aardvark host bridge driver:
         - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
         - Remove redundant dev_err call in advk_pcie_probe() (Wei Yongjun)
      
        Microsoft Hyper-V host bridge driver:
         - Use zero-length array in struct pci_packet (Dexuan Cui)
         - Use pci_function_description[0] in struct definitions (Dexuan Cui)
         - Remove the unused 'wrk' in struct hv_pcibus_device (Dexuan Cui)
         - Handle vmbus_sendpacket() failure in hv_compose_msi_msg() (Dexuan Cui)
         - Handle hv_pci_generic_compl() error case (Dexuan Cui)
         - Use list_move_tail() instead of list_del() + list_add_tail() (Wei Yongjun)
      
        NVIDIA Tegra host bridge driver:
         - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
         - Remove redundant _data suffix (Thierry Reding)
         - Use of_device_get_match_data() (Thierry Reding)
      
        Qualcomm host bridge driver:
         - Make explicitly non-modular (Paul Gortmaker)
      
        Renesas R-Car host bridge driver:
         - Consolidate register space lookup and ioremap (Bjorn Helgaas)
         - Don't disable/unprepare clocks on prepare/enable failure (Geert Uytterhoeven)
         - Add multi-MSI support (Grigory Kletsko)
         - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
         - Fix some checkpatch warnings (Sergei Shtylyov)
         - Try increasing PCIe link speed to 5 GT/s at boot (Sergei Shtylyov)
      
        Rockchip host bridge driver:
         - Add DT bindings for Rockchip PCIe controller (Shawn Lin)
         - Add Rockchip PCIe controller support (Shawn Lin)
         - Improve the deassert sequence of four reset pins (Shawn Lin)
         - Fix wrong transmitted FTS count (Shawn Lin)
         - Increase the Max Credit update interval (Rajat Jain)
      
        Samsung Exynos host bridge driver:
         - Make explicitly non-modular (Paul Gortmaker)
      
        ST Microelectronics SPEAr13xx host bridge driver:
         - Make explicitly non-modular (Paul Gortmaker)
      
        Synopsys DesignWare host bridge driver:
         - Return data directly from dw_pcie_readl_rc() (Bjorn Helgaas)
         - Exchange viewport of `MEMORYs' and `CFGs/IOs' (Dong Bo)
         - Check LTSSM training bit before deciding link is up (Jisheng Zhang)
         - Move link wait definitions to .c file (Joao Pinto)
         - Wait for iATU enable (Joao Pinto)
         - Add iATU Unroll feature (Joao Pinto)
         - Fix pci_remap_iospace() failure path (Lorenzo Pieralisi)
         - Make explicitly non-modular (Paul Gortmaker)
         - Relax device number checking to allow SR-IOV (Po Liu)
         - Keep viewport fixed for IO transaction if num_viewport > 2 (Pratyush Anand)
         - Remove redundant platform_get_resource() return value check (Wei Yongjun)
      
        TI DRA7xx host bridge driver:
         - Make explicitly non-modular (Paul Gortmaker)
      
        TI Keystone host bridge driver:
         - Propagate request_irq() failure (Wei Yongjun)
      
        Xilinx AXI host bridge driver:
         - Keep both legacy and MSI interrupt domain references (Bharat Kumar Gogada)
         - Clear interrupt register for invalid interrupt (Bharat Kumar Gogada)
         - Clear correct MSI set bit (Bharat Kumar Gogada)
         - Dispose of MSI virtual IRQ (Bharat Kumar Gogada)
         - Make explicitly non-modular (Paul Gortmaker)
         - Relax device number checking to allow SR-IOV (Po Liu)
      
        Xilinx NWL host bridge driver:
         - Expand error logging (Bharat Kumar Gogada)
         - Enable all MSI interrupts using MSI mask (Bharat Kumar Gogada)
         - Make explicitly non-modular (Paul Gortmaker)
      
        Miscellaneous:
         - Drop CONFIG_KEXEC_CORE ifdeffery (Lukas Wunner)
         - portdrv: Make explicitly non-modular (Paul Gortmaker)
         - Make DPC explicitly non-modular (Paul Gortmaker)"
      
      * tag 'pci-v4.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (105 commits)
        x86/PCI: VMD: Move VMD driver to drivers/pci/host
        PCI: rockchip: Fix wrong transmitted FTS count
        PCI: rockchip: Improve the deassert sequence of four reset pins
        PCI: rockchip: Increase the Max Credit update interval
        PCI: rcar: Try increasing PCIe link speed to 5 GT/s at boot
        PCI/AER: Fix aer_probe() kernel-doc comment
        PCI: Ignore requested alignment for VF BARs
        PCI: Ignore requested alignment for PROBE_ONLY and fixed resources
        PCI: Avoid unnecessary resume after direct-complete
        PCI: Recognize D3cold in pci_update_current_state()
        PCI: Query platform firmware for device power state
        PCI: Afford direct-complete to devices with non-standard PM
        PCI/AER: Cache capability position
        PCI/AER: Avoid memory allocation in interrupt handling path
        x86/PCI: VMD: Request userspace control of PCIe hotplug indicators
        PCI: pciehp: Allow exclusive userspace control of indicators
        ACPI / APEI: Send correct severity to calculate AER severity
        PCI/AER: Remove duplicate AER severity translation
        x86/PCI: VMD: Synchronize with RCU freeing MSI IRQ descs
        x86/PCI: VMD: Eliminate index member from IRQ list
        ...
      e6e3d8f8
    • L
      Merge tag 'vfio-v4.9-rc1' of git://github.com/awilliam/linux-vfio · fbbea389
      Linus Torvalds 提交于
      Pull VFIO updates from Alex Williamson:
       - comment fixes (Wei Jiangang)
       - static symbols (Baoyou Xie)
       - FLR virtualization (Alex Williamson)
       - catching INTx enabling after MSI/X teardown (Alex Williamson)
       - update to pci_alloc_irq_vectors helpers (Christoph Hellwig)
      
      * tag 'vfio-v4.9-rc1' of git://github.com/awilliam/linux-vfio:
        vfio_pci: use pci_alloc_irq_vectors
        vfio-pci: Disable INTx after MSI/X teardown
        vfio-pci: Virtualize PCIe & AF FLR
        vfio: platform: mark symbols static where possible
        vfio/pci: Fix typos in comments
      fbbea389
    • L
      Merge tag 'md/4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md · c23112e0
      Linus Torvalds 提交于
      Pull MD updates from Shaohua Li:
       "This update includes:
      
         - new AVX512 instruction based raid6 gen/recovery algorithm
      
         - a couple of md-cluster related bug fixes
      
         - fix a potential deadlock
      
         - set nonrotational bit for raid array with SSD
      
         - set correct max_hw_sectors for raid5/6, which hopefuly can improve
           performance a little bit
      
         - other minor fixes"
      
      * tag 'md/4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
        md: set rotational bit
        raid6/test/test.c: bug fix: Specify aligned(alignment) attributes to the char arrays
        raid5: handle register_shrinker failure
        raid5: fix to detect failure of register_shrinker
        md: fix a potential deadlock
        md/bitmap: fix wrong cleanup
        raid5: allow arbitrary max_hw_sectors
        lib/raid6: Add AVX512 optimized xor_syndrome functions
        lib/raid6/test/Makefile: Add avx512 gen_syndrome and recovery functions
        lib/raid6: Add AVX512 optimized recovery functions
        lib/raid6: Add AVX512 optimized gen_syndrome functions
        md-cluster: make resync lock also could be interruptted
        md-cluster: introduce dlm_lock_sync_interruptible to fix tasks hang
        md-cluster: convert the completion to wait queue
        md-cluster: protect md_find_rdev_nr_rcu with rcu lock
        md-cluster: clean related infos of cluster
        md: changes for MD_STILL_CLOSED flag
        md-cluster: remove some unnecessary dlm_unlock_sync
        md-cluster: use FORCEUNLOCK in lockres_free
        md-cluster: call md_kick_rdev_from_array once ack failed
      c23112e0
    • L
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 4dfddf50
      Linus Torvalds 提交于
      Pull SCSI updates from James Bottomley:
       "This update includes the usual round of major driver updates (hpsa,
        be2iscsi, hisi_sas, zfcp, cxlflash). There's a new incarnation of hpsa
        called smartpqi for which a driver is added, there's some cleanup work
        of the ibm vscsi target and updates to libfc, plus a whole host of
        minor fixes and updates and finally the removal of several ISA drivers
        which seem not to have been used for years"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (173 commits)
        scsi: mvsas: Mark symbols static where possible
        scsi: pm8001: Mark symbols static where possible
        scsi: arcmsr: Simplify user_len checking
        scsi: fcoe: fix off by one in eth2fc_speed()
        scsi: dtc: remove from tree
        scsi: t128: remove from tree
        scsi: pas16: remove from tree
        scsi: u14-34f: remove from tree
        scsi: ultrastor: remove from tree
        scsi: in2000: remove from tree
        scsi: wd7000: remove from tree
        scsi: scsi_dh_alua: Fix memory leak in alua_rtpg()
        scsi: lpfc: Mark symbols static where possible
        scsi: hpsa: correct call to hpsa_do_reset
        scsi: ufs: Get a TM service response from the correct offset
        scsi: ibmvfc: Fix I/O hang when port is not mapped
        scsi: megaraid_sas: clean function declarations in megaraid_sas_base.c up
        scsi: ipr: Remove redundant messages at adapter init time
        scsi: ipr: Don't log unnecessary 9084 error details
        scsi: smartpqi: raid bypass lba calculation fix
        ...
      4dfddf50
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · d4e65476
      Linus Torvalds 提交于
      Pull input subsystem updates from Dmitry Torokhov:
       "You will get
      
         - a new driver for Elan eKTF2127 touchscreen controllers
      
         - a new "gpio-decoder" driver to read and report state of several
           GPIO lines
      
         - an ADC resistor ladder driver
      
         - the ft6326 driver is removed because edt-ft5x06 handles the same
           devices just fine.
      
        .. plus the regular slew of driver fixes/enhancements"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (26 commits)
        Input: elan_i2c - fix return tests of i2c_smbus_read_block_data()
        Input: ektf2127 - mark PM functions as __maybe_unused
        Input: snvs_pwrkey - drop input_free_device call if input_register_device fails
        Input: add support for Elan eKTF2127 touchscreen controller
        Input: serio - add hangup support
        Input: tps65218-pwrbutton - add support for tps65217 variant
        Input: jornada720_ts - get rid of mach/irqs.h and mach/hardware.h includes
        Input: jornada720_kbd - remove unneeded mach/hardware.h include
        Input: focaltech - mark focaltech_set_resolution() static
        Input: wdt87xx_i2c - fix the flash erase issue
        Input: gpio-keys-polled - don't use unit-address with button nodes
        Input: add generic input driver to read encoded GPIO lines
        Input: add ADC resistor ladder driver
        Input: pegasus_notetaker - directly include workqueue header
        Input: elants_i2c - get product id on recovery mode for FW update
        Input: wm97xx - remove deprecated create_singletheread_workqueue
        Input: mc13783_ts - remove deprecated create_singletheread_workqueue
        Input: psmouse - remove deprecated create_singletheread_workqueue
        Input: jornada720_kbd - switch to using dev_dbg
        Input: jornada720_kbd - get rid of mach/irqs.h include
        ...
      d4e65476
  4. 07 10月, 2016 16 次提交
    • L
      Merge tag 'mfd-for-linus-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · d0423808
      Linus Torvalds 提交于
      Pull MFD updates from Lee Jones:
       "Core framework:
         - Add the MFD bindings doc to MAINTAINERS
      
        New drivers:
         - X-Powers AC100 Audio CODEC and RTC
         - TI LP873x PMIC
         - Rockchip RK808 PMIC
         - Samsung Exynos Low Power Audio
      
        New device support:
         - Add support for STMPE1600 variant to stmpe
         - Add support for PM8018 PMIC to pm8921-core
         - Add support for AXP806 PMIC in axp20x
         - Add support for AXP209 GPIO in axp20x
      
        New functionality:
         - Add support for Reset to all STMPE variants
         - Add support for MKBP event support to cros_ec
         - Add support for USB to intel_soc_pmic_bxtwc
         - Add support for IRQs and Power Button to tps65217
      
        Fix-ups:
         - Clean-up defunct author emails (da9063, max14577)
         - Kconfig fixups (wm8350-i2c, as37220
         - Constify (altera-a10sr, sm501)
         - Supply PCI IDs (intel-lpss-pci)
         - Improve clocking (qcom_rpm)
         - Fix IRQ probing (ucb1x00-core)
         - Ensure fault log is cleared (da9052)
         - Remove NO_IRQ check (ucb1x00-core)
         - Supply I2C properties (intel-lpss-acpi, intel-lpss-pci)
         - Non standard declaration (tps65217, max8997-irq)
         - Remove unused code (lp873x, db8500-prcmu, ab8500-debugfs,
           cros_ec_spi)
         - Make non-modular (altera-a10sr, intel_msic, smsc-ece1099,
           sun6i-prcm, twl-core)
         - OF bindings (ac100, stmpe, qcom-pm8xxx, qcom-rpm, rk808, axp20x,
           lp873x, exynos5433-lpass, act8945a, aspeed-scu, twl6040, arizona)
      
        Bugfixes:
         - Release OF pointer (qcom_rpm)
         - Avoid double shifting in suspend/resume (88pm80x)
         - Fix 'defined but not used' error (exynos-lpass)
         - Fix 'sleeping whilst attomic' (atmel-hlcdc)"
      
      * tag 'mfd-for-linus-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (69 commits)
        mfd: arizona: Handle probe deferral for reset GPIO
        mfd: arizona: Remove arizona_of_get_named_gpio helper function
        mfd: arizona: Add DT options for max_channels_clocked and PDM speaker config
        mfd: twl6040: Register child device for twl6040-pdmclk
        mfd: cros_ec_spi: Remove unused variable 'request'
        mfd: omap-usb-host: Return value is not 'const int'
        mfd: ab8500-debugfs: Remove 'weak' function suspend_test_wake_cause_interrupt_is_mine()
        mfd: ab8500-debugfs: Remove ab8500_dump_all_banks_to_mem()
        mfd: db8500-prcmu: Remove unused *prcmu_set_ddr_opp() calls
        mfd: ab8500-debugfs: Prevent initialised field from being over-written
        mfd: max8997-irq: 'inline' should be at the beginning of the declaration
        mfd: rk808: Fix RK818_IRQ_DISCHG_ILIM initializer
        mfd: tps65217: Fix nonstandard declaration
        mfd: lp873x: Remove unused mutex lock from struct lp873x
        mfd: atmel-hlcdc: Do not sleep in atomic context
        mfd: exynos-lpass: Mark PM functions as __maybe_unused
        mfd: intel-lpss: Add default I2C device properties for Apollo Lake
        mfd: twl-core: Make it explicitly non-modular
        mfd: sun6i-prcm: Make it explicitly non-modular
        mfd: smsc-ece1099: Make it explicitly non-modular
        ...
      d0423808
    • J
      Merge branches 'for-4.8/upstream-fixes', 'for-4.9/alps', 'for-4.9/hid-input',... · 179023e6
      Jiri Kosina 提交于
      Merge branches 'for-4.8/upstream-fixes', 'for-4.9/alps', 'for-4.9/hid-input', 'for-4.9/intel-ish', 'for-4.9/kye-uclogic-waltop-fixes', 'for-4.9/logitech', 'for-4.9/sony', 'for-4.9/upstream' and 'for-4.9/wacom' into for-linus
      179023e6
    • L
      Merge tag 'backlight-for-linus-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 3477d168
      Linus Torvalds 提交于
      Pull backlight updates from Lee Jones:
       "Fix-ups:
      
         - Remove unused .owner assignment; tosa_bl
         - Enable GPIO sleeping; pwm_bl"
      
      * tag 'backlight-for-linus-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: pwm_bl: Handle gpio that can sleep
        backlight-tosa: Delete unnecessary assignment for the field "owner"
      3477d168
    • L
      Merge tag 'hsi-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 9a687aea
      Linus Torvalds 提交于
      Pull HSI fix from Sebastian Reichel:
       "Fix hsi userspace header"
      
      * tag 'hsi-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: hsi_char.h: use __u32 from linux/types.h
      9a687aea
    • L
      Merge tag 'for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 021723e6
      Linus Torvalds 提交于
      Pull power supply and reset updates from Sebastian Reichel:
       - move power supply drivers to drivers/power/supply
       - unify location of power supply DT documentation
       - tps65217-charger: IRQ support
       - act8945a-charger: misc. cleanups & improvements
       - sbs-battery cleanup
       - fix users of deprecated create_singlethread_workqueue()
       - misc fixes.
      
      * tag 'for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (46 commits)
        power: supply: bq27xxx_battery: allow kernel poll_interval parameter runtime update
        power: supply: sbs-battery: Cleanup removal of chip->pdata
        power: reset: st: Remove obsolete platforms from dt doc
        power: reset: st-poweroff: Remove obsolete platforms.
        power: reset: zx-reboot: Unmap region obtained by of_iomap
        power: reset: xgene-reboot: Unmap region obtained by of_iomap
        power: supply: ab8500: cleanup with list_first_entry_or_null()
        power: reset: add in missing white space in error message text
        sbs-battery: make writes to ManufacturerAccess optional
        power: bq24257: Fix use of uninitialized pointer bq->charger
        power: supply: sbs-battery: simplify DT parsing
        power: supply: bq24735-charger: Request status GPIO with initial input setup
        power: supply: sbs-battery: Use gpio_desc and sleeping calls for battery detect
        power: supply: act8945a_charger: Add max current property
        power: supply: act8945a_charger: Add capacity level property
        doc: bindings: power: act8945a-charger: Update properties.
        power: supply: act8945a_charger: Fix the power supply type
        power: supply: act8945a_charger: Add status change update support
        power: supply: act8945a_charger: Improve state handling
        power: supply: act8945a_charger: Remove "battery_temperature"
        ...
      021723e6
    • L
      Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration · c6594fc6
      Linus Torvalds 提交于
      Pull mailbox updates from Jussi Brar:
       "New driver and DT bindings for MHU controller integrated on Amlogic
        Meson platform"
      
      * 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
        dt-bindings: mailbox: Add Amlogic Meson MHU Bindings
        mailbox: Add Platform Message-Handling-Unit variant driver
      c6594fc6
    • L
      Merge tag 'dmaengine-4.9-rc1' of git://git.infradead.org/users/vkoul/slave-dma · 553911c6
      Linus Torvalds 提交于
      Pull dmaengine updates from Vinod Koul:
       "This is bit large pile of code which bring in some nice additions:
      
         - Error reporting: we have added a new mechanism for users of
           dmaenegine to register a callback_result which tells them the
           result of the dma transaction. Right now only one user (ntb) is
           using it.
      
         - As we discussed on KS mailing list and pointed out NO_IRQ has no
           place in kernel, this also remove NO_IRQ from dmaengine subsystem
           (both arm and ppc users)
      
         - Support for IOMMU slave transfers and its implementation for arm.
      
         - To get better build coverage, enable COMPILE_TEST for bunch of
           driver, and fix the warning and sparse complaints on these.
      
         - Apart from above, usual updates spread across drivers"
      
      * tag 'dmaengine-4.9-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (169 commits)
        async_pq_val: fix DMA memory leak
        dmaengine: virt-dma: move function declarations
        dmaengine: omap-dma: Enable burst and data pack for SG
        DT: dmaengine: rcar-dmac: document R8A7743/5 support
        dmaengine: fsldma: Unmap region obtained by of_iomap
        dmaengine: jz4780: fix resource leaks on error exit return
        dma-debug: fix ia64 build, use PHYS_PFN
        dmaengine: coh901318: fix integer overflow when shifting more than 32 places
        dmaengine: edma: avoid uninitialized variable use
        dma-mapping: fix m32r build warning
        dma-mapping: fix ia64 build, use PHYS_PFN
        dmaengine: ti-dma-crossbar: enable COMPILE_TEST
        dmaengine: omap-dma: enable COMPILE_TEST
        dmaengine: edma: enable COMPILE_TEST
        dmaengine: ti-dma-crossbar: Fix of_device_id data parameter usage
        dmaengine: ti-dma-crossbar: Correct type for of_find_property() third parameter
        dmaengine/ARM: omap-dma: Fix the DMAengine compile test on non OMAP configs
        dmaengine: edma: Rename set_bits and remove unused clear_bits helper
        dmaengine: edma: Use correct type for of_find_property() third parameter
        dmaengine: edma: Fix of_device_id data parameter usage (legacy vs TPCC)
        ...
      553911c6
    • L
      Merge tag 'rpmsg-v4.9' of git://github.com/andersson/remoteproc · 521f3970
      Linus Torvalds 提交于
      Pull rpmsg updates from Bjorn Andersson:
       "The bulk of these patches involve splitting the rpmsg implementation
        into a framework/API part and a virtio specific backend part. It then
        adds the Qualcomm Shared Memory Device (SMD) as an additional
        supported wire format.
      
        Also included is a set of code style cleanups that have been lingering
        for a while"
      
      * tag 'rpmsg-v4.9' of git://github.com/andersson/remoteproc: (26 commits)
        rpmsg: smd: fix dependency on QCOM_SMD=n
        rpmsg: Introduce Qualcomm SMD backend
        rpmsg: Allow callback to return errors
        rpmsg: Move virtio specifics from public header
        rpmsg: virtio: Hide vrp pointer from the public API
        rpmsg: Hide rpmsg indirection tables
        rpmsg: Split rpmsg core and virtio backend
        rpmsg: Split off generic tail of create_channel()
        rpmsg: Move helper for finding rpmsg devices to core
        rpmsg: Move endpoint related interface to rpmsg core
        rpmsg: Indirection table for rpmsg_endpoint operations
        rpmsg: Move rpmsg_device API to new file
        rpmsg: Introduce indirection table for rpmsg_device operations
        rpmsg: Clean up rpmsg device vs channel naming
        rpmsg: Make rpmsg_create_ept() take channel_info struct
        rpmsg: rpmsg_send() operations takes rpmsg_endpoint
        rpmsg: Name rpmsg devices based on channel id
        rpmsg: Enable matching devices with drivers based on DT
        rpmsg: Drop prototypes for non-existing functions
        samples/rpmsg: add support for multiple instances
        ...
      521f3970
    • L
      Merge tag 'rproc-v4.9' of git://github.com/andersson/remoteproc · d880e5ad
      Linus Torvalds 提交于
      Pull remoteproc updates from Bjorn Andersson:
       "In addition to a slew of minor fixes and cleanups these patches
        refactor how we deal with remoteprocs that will be auto-booting
        themselves.
      
        That does clean up the remote resource handling but makes for
        additional work to clarify responsibilities and life cycles of
        resources. We also revise how module locking of remoteproc drivers
        work, so that they are locked as we hand out references to them to
        third parties, rather than only when booted by anyone.
      
        In addition to that we also introduce the Qualcomm Wireless Subsystem
        remoteproc driver"
      
      * tag 'rproc-v4.9' of git://github.com/andersson/remoteproc: (26 commits)
        remoteproc: Refactor rproc module locking
        remoteproc: Split driver and consumer dereferencing
        remoteproc: Correct resource handling upon boot failure
        remoteproc: Drop unnecessary NULL check
        remoteproc: core: transform struct fw_rsc_vdev_vring reserved field in pa
        remoteproc: Modify FW_RSC_ADDR_ANY definition
        remoteproc: qcom: wcnss: Fix return value check in wcnss_probe()
        remoteproc: qcom: Introduce WCNSS peripheral image loader
        dt-binding: remoteproc: Introduce Qualcomm WCNSS loader binding
        remoteproc: Only update table_ptr if we have a loaded table
        remoteproc: Move handling of cached table to boot/shutdown
        remoteproc: Move vdev handling to boot/shutdown
        remoteproc: Calculate max_notifyid during load
        remoteproc: Introduce auto-boot flag
        remoteproc/omap: revise a minor error trace message
        remoteproc/omap: fix various code formatting issues
        remoteproc: print hex numbers with a leading 0x format
        remoteproc: align code with open parenthesis
        remoteproc: fix bare unsigned type usage
        remoteproc: use variable names for sizeof() operator
        ...
      d880e5ad
    • L
      Merge tag 'for-f2fs-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 4c1fad64
      Linus Torvalds 提交于
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've investigated how f2fs deals with errors given by
        our fault injection facility. With this, we could fix several corner
        cases. And, in order to improve the performance, we set inline_dentry
        by default and enhance the exisiting discard issue flow. In addition,
        we added f2fs_migrate_page for better memory management.
      
        Enhancements:
         - set inline_dentry by default
         - improve discard issue flow
         - add more fault injection cases in f2fs
         - allow block preallocation for encrypted files
         - introduce migrate_page callback function
         - avoid truncating the next direct node block at every checkpoint
      
        Bug fixes:
         - set page flag correctly between write_begin and write_end
         - missing error handling cases detected by fault injection
         - preallocate blocks regarding to 4KB alignement correctly
         - dentry and filename handling of encryption
         - lost xattrs of directories"
      
      * tag 'for-f2fs-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (69 commits)
        f2fs: introduce update_ckpt_flags to clean up
        f2fs: don't submit irrelevant page
        f2fs: fix to commit bio cache after flushing node pages
        f2fs: introduce get_checkpoint_version for cleanup
        f2fs: remove dead variable
        f2fs: remove redundant io plug
        f2fs: support checkpoint error injection
        f2fs: fix to recover old fault injection config in ->remount_fs
        f2fs: do fault injection initialization in default_options
        f2fs: remove redundant value definition
        f2fs: support configuring fault injection per superblock
        f2fs: adjust display format of segment bit
        f2fs: remove dirty inode pages in error path
        f2fs: do not unnecessarily null-terminate encrypted symlink data
        f2fs: handle errors during recover_orphan_inodes
        f2fs: avoid gc in cp_error case
        f2fs: should put_page for summary page
        f2fs: assign return value in f2fs_gc
        f2fs: add customized migrate_page callback
        f2fs: introduce cp_lock to protect updating of ckpt_flags
        ...
      4c1fad64
    • L
      Merge tag 'pstore-v4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 0fb3ca44
      Linus Torvalds 提交于
      Pull pstore updates from Kees Cook:
      
       - Fix bug in module unloading
      
       - Switch to always using spinlock over cmpxchg
      
       - Explicitly define pstore backend's supported modes
      
       - Remove bounce buffer from pmsg
      
       - Switch to using memcpy_to/fromio()
      
       - Error checking improvements
      
      * tag 'pstore-v4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        ramoops: move spin_lock_init after kmalloc error checking
        pstore/ram: Use memcpy_fromio() to save old buffer
        pstore/ram: Use memcpy_toio instead of memcpy
        pstore/pmsg: drop bounce buffer
        pstore/ram: Set pstore flags dynamically
        pstore: Split pstore fragile flags
        pstore/core: drop cmpxchg based updates
        pstore/ramoops: fixup driver removal
      0fb3ca44
    • L
      Merge tag 'for-linus-4.9-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · 3940ee36
      Linus Torvalds 提交于
      Pull orangefs updates from Mike Marshall:
       "Miscellaneous improvements:
         - clean up debugfs globals
         - remove dead code in sysfs
         - reorganize duplicated sysfs attribute structs
         - consolidate sysfs show and store functions
         - remove duplicated sysfs_ops structures
         - describe organization of sysfs
         - make devreq_mutex static
         - g_orangefs_stats -> orangefs_stats for consistency
         - rename most remaining global variables
      
        Feature negotiation:
         - enable Orangefs userspace and kernel module to negotiate mutually
           supported features"
      
      * tag 'for-linus-4.9-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        Revert "orangefs: bump minimum userspace version"
        orangefs: bump minimum userspace version
        orangefs: rename most remaining global variables
        orangefs: g_orangefs_stats -> orangefs_stats for consistency
        orangefs: make devreq_mutex static
        orangefs: describe organization of sysfs
        orangefs: remove duplicated sysfs_ops structures
        orangefs: consolidate sysfs show and store functions
        orangefs: reorganize duplicated sysfs attribute structs
        orangefs: remove dead code in sysfs
        orangefs: clean up debugfs globals
        orangefs: do not allow client readahead cache without feature bit
        orangefs: add features op
        orangefs: record userspace version for feature compatbility
        orangefs: add readahead count and size to sysfs
        orangefs: re-add flush_racache from out-of-tree
        orangefs: turn param response value into union
        orangefs: add missing param request ops
        orangefs: rename remaining bits of mmap readahead cache
      3940ee36
    • L
      Merge tag 'trace-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 95107b30
      Linus Torvalds 提交于
      Pull tracing updates from Steven Rostedt:
       "This release cycle is rather small.  Just a few fixes to tracing.
      
        The big change is the addition of the hwlat tracer. It not only
        detects SMIs, but also other latency that's caused by the hardware. I
        have detected some latency from large boxes having bus contention"
      
      * tag 'trace-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Call traceoff trigger after event is recorded
        ftrace/scripts: Add helper script to bisect function tracing problem functions
        tracing: Have max_latency be defined for HWLAT_TRACER as well
        tracing: Add NMI tracing in hwlat detector
        tracing: Have hwlat trace migrate across tracing_cpumask CPUs
        tracing: Add documentation for hwlat_detector tracer
        tracing: Added hardware latency tracer
        ftrace: Access ret_stack->subtime only in the function profiler
        function_graph: Handle TRACE_BPUTS in print_graph_comment
        tracing/uprobe: Drop isdigit() check in create_trace_uprobe
      95107b30
    • L
      Merge tag 'for-linus-4.9-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 541efb76
      Linus Torvalds 提交于
      Pull xen updates from David Vrabel:
       "xen features and fixes for 4.9:
      
         - switch to new CPU hotplug mechanism
      
         - support driver_override in pciback
      
         - require vector callback for HVM guests (the alternate mechanism via
           the platform device has been broken for ages)"
      
      * tag 'for-linus-4.9-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/x86: Update topology map for PV VCPUs
        xen/x86: Initialize per_cpu(xen_vcpu, 0) a little earlier
        xen/pciback: support driver_override
        xen/pciback: avoid multiple entries in slot list
        xen/pciback: simplify pcistub device handling
        xen: Remove event channel notification through Xen PCI platform device
        xen/events: Convert to hotplug state machine
        xen/x86: Convert to hotplug state machine
        x86/xen: add missing \n at end of printk warning message
        xen/grant-table: Use kmalloc_array() in arch_gnttab_valloc()
        xen: Make VPMU init message look less scary
        xen: rename xen_pmu_init() in sys-hypervisor.c
        hotplug: Prevent alloc/free of irq descriptors during cpu up/down (again)
        xen/x86: Move irq allocation from Xen smp_op.cpu_up()
      541efb76
    • L
      Merge tag 'kvm-4.9-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 6218590b
      Linus Torvalds 提交于
      Pull KVM updates from Radim Krčmář:
       "All architectures:
         - move `make kvmconfig` stubs from x86
         - use 64 bits for debugfs stats
      
        ARM:
         - Important fixes for not using an in-kernel irqchip
         - handle SError exceptions and present them to guests if appropriate
         - proxying of GICV access at EL2 if guest mappings are unsafe
         - GICv3 on AArch32 on ARMv8
         - preparations for GICv3 save/restore, including ABI docs
         - cleanups and a bit of optimizations
      
        MIPS:
         - A couple of fixes in preparation for supporting MIPS EVA host
           kernels
         - MIPS SMP host & TLB invalidation fixes
      
        PPC:
         - Fix the bug which caused guests to falsely report lockups
         - other minor fixes
         - a small optimization
      
        s390:
         - Lazy enablement of runtime instrumentation
         - up to 255 CPUs for nested guests
         - rework of machine check deliver
         - cleanups and fixes
      
        x86:
         - IOMMU part of AMD's AVIC for vmexit-less interrupt delivery
         - Hyper-V TSC page
         - per-vcpu tsc_offset in debugfs
         - accelerated INS/OUTS in nVMX
         - cleanups and fixes"
      
      * tag 'kvm-4.9-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (140 commits)
        KVM: MIPS: Drop dubious EntryHi optimisation
        KVM: MIPS: Invalidate TLB by regenerating ASIDs
        KVM: MIPS: Split kernel/user ASID regeneration
        KVM: MIPS: Drop other CPU ASIDs on guest MMU changes
        KVM: arm/arm64: vgic: Don't flush/sync without a working vgic
        KVM: arm64: Require in-kernel irqchip for PMU support
        KVM: PPC: Book3s PR: Allow access to unprivileged MMCR2 register
        KVM: PPC: Book3S PR: Support 64kB page size on POWER8E and POWER8NVL
        KVM: PPC: Book3S: Remove duplicate setting of the B field in tlbie
        KVM: PPC: BookE: Fix a sanity check
        KVM: PPC: Book3S HV: Take out virtual core piggybacking code
        KVM: PPC: Book3S: Treat VTB as a per-subcore register, not per-thread
        ARM: gic-v3: Work around definition of gic_write_bpr1
        KVM: nVMX: Fix the NMI IDT-vectoring handling
        KVM: VMX: Enable MSR-BASED TPR shadow even if APICv is inactive
        KVM: nVMX: Fix reload apic access page warning
        kvmconfig: add virtio-gpu to config fragment
        config: move x86 kvm_guest.config to a common location
        arm64: KVM: Remove duplicating init code for setting VMID
        ARM: KVM: Support vgic-v3
        ...
      6218590b
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · 14986a34
      Linus Torvalds 提交于
      Pull namespace updates from Eric Biederman:
       "This set of changes is a number of smaller things that have been
        overlooked in other development cycles focused on more fundamental
        change. The devpts changes are small things that were a distraction
        until we managed to kill off DEVPTS_MULTPLE_INSTANCES. There is an
        trivial regression fix to autofs for the unprivileged mount changes
        that went in last cycle. A pair of ioctls has been added by Andrey
        Vagin making it is possible to discover the relationships between
        namespaces when referring to them through file descriptors.
      
        The big user visible change is starting to add simple resource limits
        to catch programs that misbehave. With namespaces in general and user
        namespaces in particular allowing users to use more kinds of
        resources, it has become important to have something to limit errant
        programs. Because the purpose of these limits is to catch errant
        programs the code needs to be inexpensive to use as it always on, and
        the default limits need to be high enough that well behaved programs
        on well behaved systems don't encounter them.
      
        To this end, after some review I have implemented per user per user
        namespace limits, and use them to limit the number of namespaces. The
        limits being per user mean that one user can not exhause the limits of
        another user. The limits being per user namespace allow contexts where
        the limit is 0 and security conscious folks can remove from their
        threat anlysis the code used to manage namespaces (as they have
        historically done as it root only). At the same time the limits being
        per user namespace allow other parts of the system to use namespaces.
      
        Namespaces are increasingly being used in application sand boxing
        scenarios so an all or nothing disable for the entire system for the
        security conscious folks makes increasing use of these sandboxes
        impossible.
      
        There is also added a limit on the maximum number of mounts present in
        a single mount namespace. It is nontrivial to guess what a reasonable
        system wide limit on the number of mount structure in the kernel would
        be, especially as it various based on how a system is using
        containers. A limit on the number of mounts in a mount namespace
        however is much easier to understand and set. In most cases in
        practice only about 1000 mounts are used. Given that some autofs
        scenarious have the potential to be 30,000 to 50,000 mounts I have set
        the default limit for the number of mounts at 100,000 which is well
        above every known set of users but low enough that the mount hash
        tables don't degrade unreaonsably.
      
        These limits are a start. I expect this estabilishes a pattern that
        other limits for resources that namespaces use will follow. There has
        been interest in making inotify event limits per user per user
        namespace as well as interest expressed in making details about what
        is going on in the kernel more visible"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (28 commits)
        autofs:  Fix automounts by using current_real_cred()->uid
        mnt: Add a per mount namespace limit on the number of mounts
        netns: move {inc,dec}_net_namespaces into #ifdef
        nsfs: Simplify __ns_get_path
        tools/testing: add a test to check nsfs ioctl-s
        nsfs: add ioctl to get a parent namespace
        nsfs: add ioctl to get an owning user namespace for ns file descriptor
        kernel: add a helper to get an owning user namespace for a namespace
        devpts: Change the owner of /dev/pts/ptmx to the mounter of /dev/pts
        devpts: Remove sync_filesystems
        devpts: Make devpts_kill_sb safe if fsi is NULL
        devpts: Simplify devpts_mount by using mount_nodev
        devpts: Move the creation of /dev/pts/ptmx into fill_super
        devpts: Move parse_mount_options into fill_super
        userns: When the per user per user namespace limit is reached return ENOSPC
        userns; Document per user per user namespace limits.
        mntns: Add a limit on the number of mount namespaces.
        netns: Add a limit on the number of net namespaces
        cgroupns: Add a limit on the number of cgroup namespaces
        ipcns: Add a  limit on the number of ipc namespaces
        ...
      14986a34
  5. 06 10月, 2016 12 次提交
    • L
      Merge tag 'xfs-for-linus-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs · 8d370595
      Linus Torvalds 提交于
      Pull xfs and iomap updates from Dave Chinner:
       "The main things in this update are the iomap-based DAX infrastructure,
        an XFS delalloc rework, and a chunk of fixes to how log recovery
        schedules writeback to prevent spurious corruption detections when
        recovery of certain items was not required.
      
        The other main chunk of code is some preparation for the upcoming
        reflink functionality. Most of it is generic and cleanups that stand
        alone, but they were ready and reviewed so are in this pull request.
      
        Speaking of reflink, I'm currently planning to send you another pull
        request next week containing all the new reflink functionality. I'm
        working through a similar process to the last cycle, where I sent the
        reverse mapping code in a separate request because of how large it
        was. The reflink code merge is even bigger than reverse mapping, so
        I'll be doing the same thing again....
      
        Summary for this update:
      
         - change of XFS mailing list to linux-xfs@vger.kernel.org
      
         - iomap-based DAX infrastructure w/ XFS and ext2 support
      
         - small iomap fixes and additions
      
         - more efficient XFS delayed allocation infrastructure based on iomap
      
         - a rework of log recovery writeback scheduling to ensure we don't
           fail recovery when trying to replay items that are already on disk
      
         - some preparation patches for upcoming reflink support
      
         - configurable error handling fixes and documentation
      
         - aio access time update race fixes for XFS and
           generic_file_read_iter"
      
      * tag 'xfs-for-linus-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (40 commits)
        fs: update atime before I/O in generic_file_read_iter
        xfs: update atime before I/O in xfs_file_dio_aio_read
        ext2: fix possible integer truncation in ext2_iomap_begin
        xfs: log recovery tracepoints to track current lsn and buffer submission
        xfs: update metadata LSN in buffers during log recovery
        xfs: don't warn on buffers not being recovered due to LSN
        xfs: pass current lsn to log recovery buffer validation
        xfs: rework log recovery to submit buffers on LSN boundaries
        xfs: quiesce the filesystem after recovery on readonly mount
        xfs: remote attribute blocks aren't really userdata
        ext2: use iomap to implement DAX
        ext2: stop passing buffer_head to ext2_get_blocks
        xfs: use iomap to implement DAX
        xfs: refactor xfs_setfilesize
        xfs: take the ilock shared if possible in xfs_file_iomap_begin
        xfs: fix locking for DAX writes
        dax: provide an iomap based fault handler
        dax: provide an iomap based dax read/write path
        dax: don't pass buffer_head to copy_user_dax
        dax: don't pass buffer_head to dax_insert_mapping
        ...
      8d370595
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · d230ec72
      Linus Torvalds 提交于
      Pull networking fixups from David Miller:
       "Here are the build and merge fixups for the networking stuff"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        phy: micrel.c: Enable ksz9031 energy-detect power-down mode
        netfilter: merge fixup for "nf_tables_netdev: remove redundant ip_hdr assignment"
        netfilter: nft_limit: fix divided by zero panic
        netfilter: fix namespace handling in nf_log_proc_dostring
        netfilter: xt_hashlimit: Fix link error in 32bit arch because of 64bit division
        netfilter: accommodate different kconfig in nf_set_hooks_head
        netfilter: Fix potential null pointer dereference
      d230ec72
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · f84d9fa8
      Linus Torvalds 提交于
      Pull sparc updates from David Miller:
       "Besides some cleanups the major thing here is supporting relaxed
        ordering PCIe transactions on newer sparc64 machines, from Chris
        Hyser"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: fixing ident and beautifying code
        sparc64: Enable setting "relaxed ordering" in IOMMU mappings
        sparc64: Enable PCI IOMMU version 2 API
        sparc: migrate exception table users off module.h and onto extable.h
      f84d9fa8
    • L
      Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 82fa407d
      Linus Torvalds 提交于
      Pull ARM updates from Russell King:
      
       - Correct ARMs dma-mapping to use the correct printk format strings.
      
       - Avoid defining OBJCOPYFLAGS globally which upsets lkdtm rodata
         testing.
      
       - Cleanups to ARMs asm/memory.h include.
      
       - L2 cache cleanups.
      
       - Allow flat nommu binaries to be executed on ARM MMU systems.
      
       - Kernel hardening - add more read-only after init annotations,
         including making some kernel vdso variables const.
      
       - Ensure AMBA primecell clocks are appropriately defaulted.
      
       - ARM breakpoint cleanup.
      
       - Various StrongARM 11x0 and companion chip (SA1111) updates to bring
         this legacy platform to use more modern APIs for (eg) GPIOs and
         interrupts, which will allow us in the future to reduce some of the
         board-level driver clutter and elimate function callbacks into board
         code via platform data. There still appears to be interest in these
         platforms!
      
       - Remove the now redundant secure_flush_area() API.
      
       - Module PLT relocation optimisations. Ard says: This series of 4
         patches optimizes the ARM PLT generation code that is invoked at
         module load time, to get rid of the O(n^2) algorithm that results in
         pathological load times of 10 seconds or more for large modules on
         certain STB platforms.
      
       - ARMv7M cache maintanence support.
      
       - L2 cache PMU support
      
      * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (35 commits)
        ARM: sa1111: provide to_sa1111_device() macro
        ARM: sa1111: add sa1111_get_irq()
        ARM: sa1111: clean up duplication in IRQ chip implementation
        ARM: sa1111: implement a gpio_chip for SA1111 GPIOs
        ARM: sa1111: move irq cleanup to separate function
        ARM: sa1111: use devm_clk_get()
        ARM: sa1111: use devm_kzalloc()
        ARM: sa1111: ensure we only touch RAB bus type devices when removing
        ARM: 8611/1: l2x0: add PMU support
        ARM: 8610/1: V7M: Add dsb before jumping in handler mode
        ARM: 8609/1: V7M: Add support for the Cortex-M7 processor
        ARM: 8608/1: V7M: Indirect proc_info construction for V7M CPUs
        ARM: 8607/1: V7M: Wire up caches for V7M processors with cache support.
        ARM: 8606/1: V7M: introduce cache operations
        ARM: 8605/1: V7M: fix notrace variant of save_and_disable_irqs
        ARM: 8604/1: V7M: Add support for reading the CTR with read_cpuid_cachetype()
        ARM: 8603/1: V7M: Add addresses for mem-mapped V7M cache operations
        ARM: 8602/1: factor out CSSELR/CCSIDR operations that use cp15 directly
        ARM: kernel: avoid brute force search on PLT generation
        ARM: kernel: sort relocation sections before allocating PLTs
        ...
      82fa407d
    • L
      Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm · c7f5d36a
      Linus Torvalds 提交于
      Pull ARM fix from Russell King:
       "A 5% error in delay calculation was introduced during the last merge
        window, which had gone un-noticed until yesterday"
      
      * 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: fix delays
      c7f5d36a
    • B
      xen/x86: Update topology map for PV VCPUs · a6a198bc
      Boris Ostrovsky 提交于
      Early during boot topology_update_package_map() computes
      logical_pkg_ids for all present processors.
      
      Later, when processors are brought up, identify_cpu() updates
      these values based on phys_pkg_id which is a function of
      initial_apicid. On PV guests the latter may point to a
      non-existing node, causing logical_pkg_ids to be set to -1.
      
      Intel's RAPL uses logical_pkg_id (as topology_logical_package_id())
      to index its arrays and therefore in this case will point to index
      65535 (since logical_pkg_id is a u16). This could lead to either a
      crash or may actually access random memory location.
      
      As a workaround, we recompute topology during CPU bringup to reset
      logical_pkg_id to a valid value.
      
      (The reason for initial_apicid being bogus is because it is
      initial_apicid of the processor from which the guest is launched.
      This value is CPUID(1).EBX[31:24])
      Signed-off-by: NBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      a6a198bc
    • M
      backlight: pwm_bl: Handle gpio that can sleep · 0c9501f8
      Maxime Ripard 提交于
      Some backlight GPIOs might be connected to some i2c based expanders whose
      access might sleep.
      
      Since it's not in any critical path, use the cansleep variant of the GPIO
      API.
      Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      0c9501f8
    • M
      backlight-tosa: Delete unnecessary assignment for the field "owner" · 35879103
      Markus Elfring 提交于
      The field "owner" is set by the core.
      Thus delete an unneeded initialisation.
      
      Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci
      Signed-off-by: NMarkus Elfring <elfring@users.sourceforge.net>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      35879103
    • R
      Merge branch 'devel-stable' into for-linus · 81a63001
      Russell King 提交于
      81a63001
    • R
      Merge branches 'misc' and 'sa1111-base' into for-linus · 301a36fa
      Russell King 提交于
      301a36fa
    • R
      ARM: fix delays · fb833b1f
      Russell King 提交于
      Commit 215e362d ("ARM: 8306/1: loop_udelay: remove bogomips value
      limitation") tried to increase the bogomips limitation, but in doing
      so messed up udelay such that it always gives about a 5% error in the
      delay, even if we use a timer.
      
      The calculation is:
      
      	loops = UDELAY_MULT * us_delay * ticks_per_jiffy >> UDELAY_SHIFT
      
      Originally, UDELAY_MULT was ((UL(2199023) * HZ) >> 11) and UDELAY_SHIFT
      30.  Assuming HZ=100, us_delay of 1000 and ticks_per_jiffy of 1660000
      (eg, 166MHz timer, 1ms delay) this would calculate:
      
      	((UL(2199023) * HZ) >> 11) * 1000 * 1660000 >> 30
      		=> 165999
      
      With the new values of 2047 * HZ + 483648 * HZ / 1000000 and 31, we get:
      
      	(2047 * HZ + 483648 * HZ / 1000000) * 1000 * 1660000 >> 31
      		=> 158269
      
      which is incorrect.  This is due to a typo - correcting it gives:
      
      	(2147 * HZ + 483648 * HZ / 1000000) * 1000 * 1660000 >> 31
      		=> 165999
      
      i.o.w, the original value.
      
      Fixes: 215e362d ("ARM: 8306/1: loop_udelay: remove bogomips value limitation")
      Cc: <stable@vger.kernel.org>
      Reviewed-by: NNicolas Pitre <nico@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      fb833b1f
    • N
      sparc: fixing ident and beautifying code · 98e98eb6
      netmonk@netmonk.org 提交于
      Good evening,
      
      Following LinuxCodingStyle documentation and with the help of Sam, fixed
      severals identation issues in the code, and few others cosmetic changes
      
      And last and i hope least fixing my name :)
      
      Signed-off-by : Dominique Carrel <netmonk@netmonk.org>
      Acked-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      98e98eb6