1. 23 Feb, 2021 1 commit
    • Jiri Kosina's avatar
      Merge branch 'for-5.12/core' into for-linus · 760f7e7b
      Jiri Kosina authored
      - improved handling of generic HID keyboard (no more splitting system
        and consumer controls away), in order to make it easier for userspace
        to figure out the details of the device easier. From Dmitry Torokhov.
      
      - report data sanitization fixes from Will McVicker and Randy Dunlap
      760f7e7b
  2. 18 Feb, 2021 1 commit
    • Jason Gerecke's avatar
      HID: wacom: Ignore attempts to overwrite the touch_max value from HID · 88f38846
      Jason Gerecke authored
      The `wacom_feature_mapping` function is careful to only set the the
      touch_max value a single time, but this care does not extend to the
      `wacom_wac_finger_event` function. In particular, if a device sends
      multiple HID_DG_CONTACTMAX items in a single feature report, the
      driver will end up retaining the value of last item.
      
      The HID descriptor for the Cintiq Companion 2 does exactly this. It
      incorrectly sets a "Report Count" of 2, which will cause the driver
      to process two HID_DG_CONTACTCOUNT items. The first item has the actual
      count, while the second item should have been declared as a constant
      zero. The constant zero is the value the driver ends up using, however,
      since it is the last HID_DG_CONTACTCOUNT in the report.
      
          Report ID (16),
          Usage (Contact Count Maximum),  ; Contact count maximum (55h, static value)
          Report Count (2),
          Logical Maximum (10),
          Feature (Variable),
      
      To address this, we add a check that the touch_max is not already set
      within the `wacom_wac_finger_event` function that processes the
      HID_DG_TOUCHMAX item. We emit a warning if the value is set and ignore
      the updated value.
      
      This could potentially cause problems if there is a tablet which has
      a similar issue but requires the last item to be used. This is unlikely,
      however, since it would have to have a different non-zero value for
      HID_DG_CONTACTMAX earlier in the same report, which makes no sense
      except in the case of a firmware bug. Note that cases where the
      HID_DG_CONTACTMAX items are in different reports is already handled
      (and similarly ignored) by `wacom_feature_mapping` as mentioned above.
      
      Link: https://github.com/linuxwacom/input-wacom/issues/223
      Fixes: 184eccd4 ("HID: wacom: generic: read HID_DG_CONTACTMAX from any feature report")
      Signed-off-by: default avatarJason Gerecke <jason.gerecke@wacom.com>
      CC: stable@vger.kernel.org
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      88f38846
  3. 09 Feb, 2021 4 commits
    • Hans de Goede's avatar
      HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch 10E · b7c20f38
      Hans de Goede authored
      The Acer Aspire Switch 10E (SW3-016)'s keyboard-dock uses the same USB-ids
      as the Acer One S1003 keyboard-dock. Yet they are not entirely the same:
      
      1. The S1003 keyboard-dock has the same report descriptors as the
      S1002 keyboard-dock (which has different USB-ids)
      
      2. The Acer Aspire Switch 10E's keyboard-dock has different
      report descriptors from the S1002/S1003 keyboard docks and it
      sends 0x00880078 / 0x00880079 usage events when the touchpad is
      toggled on/off (which is handled internally).
      
      This means that all Acer kbd-docks handled by the hid-ite.c drivers
      report their touchpad being toggled on/off through these custom
      usage-codes with the exception of the S1003 dock, which likely is
      a bug of that dock.
      
      Add a QUIRK_TOUCHPAD_ON_OFF_REPORT quirk for the Aspire Switch 10E / S1003
      usb-id so that the touchpad toggling will get reported to userspace on
      the Aspire Switch 10E.
      
      Since the Aspire Switch 10E's kbd-dock has different report-descriptors,
      this also requires adding support for fixing those to ite_report_fixup().
      
      Setting the quirk will also cause ite_report_fixup() to hit the
      S1002/S1003 descriptors path on the S1003. Since the S1003 kbd-dock
      never generates any input-reports for the fixed up part of the
      descriptors this does not matter; and if there are versions out there
      which do actually send input-reports for the touchpad-toggle then the
      fixup should actually help to make things work.
      
      This was tested on both an Acer Aspire Switch 10E and on an Acer One S1003.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      b7c20f38
    • Elia Devito's avatar
      HID: Ignore battery for Elan touchscreen on HP Spectre X360 15-df0xxx · decfe496
      Elia Devito authored
      Battery status is reported for the HP Spectre X360 Convertible 15-df0xxx
      even if it does not have a battery. Prevent it to always report the
      battery as low.
      Signed-off-by: default avatarElia Devito <eliadevito@gmail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      decfe496
    • Filipe Laíns's avatar
      HID: logitech-dj: add support for the new lightspeed connection iteration · fab3a956
      Filipe Laíns authored
      This new connection type is the new iteration of the Lightspeed
      connection and will probably be used in some of the newer gaming
      devices. It is currently use in the G Pro X Superlight.
      
      This patch should be backported to older versions, as currently the
      driver will panic when seing the unsupported connection. This isn't
      an issue when using the receiver that came with the device, as Logitech
      has been using different PIDs when they change the connection type, but
      is an issue when using a generic receiver (well, generic Lightspeed
      receiver), which is the case of the one in the Powerplay mat. Currently,
      the only generic Ligthspeed receiver we support, and the only one that
      exists AFAIK, is ther Powerplay.
      
      As it stands, the driver will panic when seeing a G Pro X Superlight
      connected to the Powerplay receiver and won't send any input events to
      userspace! The kernel will warn about this so the issue should be easy
      to identify, but it is still very worrying how hard it will fail :(
      
      [915977.398471] logitech-djreceiver 0003:046D:C53A.0107: unusable device of type UNKNOWN (0x0f) connected on slot 1
      Signed-off-by: default avatarFilipe Laíns <lains@riseup.net>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      fab3a956
    • You-Sheng Yang's avatar
      HID: intel-ish-hid: ipc: Add Tiger Lake H PCI device ID · 2aefba19
      You-Sheng Yang authored
      Added Tiger Lake H PCI device ID to the supported device list.
      Signed-off-by: default avatarYou-Sheng Yang <vicamo.yang@canonical.com>
      Acked-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      2aefba19
  4. 05 Feb, 2021 4 commits
  5. 02 Feb, 2021 1 commit
    • Dmitry Torokhov's avatar
      HID: hid-input: avoid splitting keyboard, system and consumer controls · 7c7d7ac7
      Dmitry Torokhov authored
      A typical USB keyboard usually splits its keys into several reports:
      
      - one for the basic alphanumeric keys, modifier keys, F<n> keys, six pack
        keys and keypad. This report's application is normally listed as
        GenericDesktop.Keyboard
      - a GenericDesktop.SystemControl report for the system control keys, such
        as power and sleep
      - Consumer.ConsumerControl report for multimedia (forward, rewind,
        play/pause, mute, etc) and other extended keys.
      - additional output, vendor specific, and feature reports
      
      Splitting each report into a separate input device is wasteful and even
      hurts userspace as it makes it harder to determine the true capabilities
      (set of available keys) of a keyboard, so let's adjust application
      matching to merge system control and consumer control reports with
      keyboard report, if one has already been processed.
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      Acked-by: default avatarPeter Hutterer <peter.hutterer@who-t.net>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      7c7d7ac7
  6. 26 Jan, 2021 1 commit
  7. 25 Jan, 2021 1 commit
  8. 18 Jan, 2021 1 commit
    • Will McVicker's avatar
      HID: make arrays usage and value to be the same · ed9be64e
      Will McVicker authored
      The HID subsystem allows an "HID report field" to have a different
      number of "values" and "usages" when it is allocated. When a field
      struct is created, the size of the usage array is guaranteed to be at
      least as large as the values array, but it may be larger. This leads to
      a potential out-of-bounds write in
      __hidinput_change_resolution_multipliers() and an out-of-bounds read in
      hidinput_count_leds().
      
      To fix this, let's make sure that both the usage and value arrays are
      the same size.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarWill McVicker <willmcvicker@google.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      ed9be64e
  9. 14 Jan, 2021 1 commit
  10. 08 Jan, 2021 3 commits
  11. 07 Jan, 2021 2 commits
  12. 04 Jan, 2021 3 commits
  13. 22 Dec, 2020 1 commit
    • Ping Cheng's avatar
      HID: wacom: Fix memory leakage caused by kfifo_alloc · 37309f47
      Ping Cheng authored
      As reported by syzbot below, kfifo_alloc'd memory would not be freed
      if a non-zero return value is triggered in wacom_probe. This patch
      creates and uses devm_kfifo_alloc to allocate and free itself.
      
      BUG: memory leak
      unreferenced object 0xffff88810dc44a00 (size 512):
        comm "kworker/1:2", pid 3674, jiffies 4294943617 (age 14.100s)
        hex dump (first 32 bytes):
         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
        backtrace:
         [<0000000023e1afac>] kmalloc_array include/linux/slab.h:592 [inline]
         [<0000000023e1afac>] __kfifo_alloc+0xad/0x100 lib/kfifo.c:43
         [<00000000c477f737>] wacom_probe+0x1a1/0x3b0 drivers/hid/wacom_sys.c:2727
         [<00000000b3109aca>] hid_device_probe+0x16b/0x210 drivers/hid/hid-core.c:2281
         [<00000000aff7c640>] really_probe+0x159/0x480 drivers/base/dd.c:554
         [<00000000778d0bc3>] driver_probe_device+0x84/0x100 drivers/base/dd.c:738
         [<000000005108dbb5>] __device_attach_driver+0xee/0x110 drivers/base/dd.c:844
         [<00000000efb7c59e>] bus_for_each_drv+0xb7/0x100 drivers/base/bus.c:431
         [<0000000024ab1590>] __device_attach+0x122/0x250 drivers/base/dd.c:912
         [<000000004c7ac048>] bus_probe_device+0xc6/0xe0 drivers/base/bus.c:491
         [<00000000b93050a3>] device_add+0x5ac/0xc30 drivers/base/core.c:2936
         [<00000000e5b46ea5>] hid_add_device+0x151/0x390 drivers/hid/hid-core.c:2437
         [<00000000c6add147>] usbhid_probe+0x412/0x560 drivers/hid/usbhid/hid-core.c:1407
         [<00000000c33acdb4>] usb_probe_interface+0x177/0x370 drivers/usb/core/driver.c:396
         [<00000000aff7c640>] really_probe+0x159/0x480 drivers/base/dd.c:554
         [<00000000778d0bc3>] driver_probe_device+0x84/0x100 drivers/base/dd.c:738
         [<000000005108dbb5>] __device_attach_driver+0xee/0x110 drivers/base/dd.c:844
      
      https://syzkaller.appspot.com/bug?extid=5b49c9695968d7250a26
      
      Reported-by: syzbot+5b49c9695968d7250a26@syzkaller.appspotmail.com
      Signed-off-by: default avatarPing Cheng <ping.cheng@wacom.com>
      Reviewed-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      37309f47
  14. 16 Dec, 2020 16 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · de925e2f
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - AMD SFH (Sensor Fusion Hub) support (Sandeep Singh)
      
       - increase of maximum HID report size to 16KB in order to support some
         of the modern devices (Dean Camera)
      
       - control interface support for hidraw (Dean Camera)
      
       - Sony DS4 power and firmware reporting fixes (Roderick Colenbrander)
      
       - support for ghlive PS3/WII U dongles (Pascal Giard)
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (27 commits)
        HID: i2c-hid: add Vero K147 to descriptor override
        HID: ite: Add support for Acer S1002 keyboard-dock
        HID: sony: support for ghlive ps3/wii u dongles
        HID: hidraw: Add additional hidraw input/output report ioctls.
        HID: Increase HID maximum report size to 16KB
        HID: elecom: drop stray comment
        HID: mf: add support for 0079:1846 Mayflash/Dragonrise USB Gamecube Adapter
        HID: elecom: add support for EX-G M-XGL20DLBK wireless mouse
        HID: elecom: rewrite report based on model specific parameters
        HID: wacom: Constify attribute_groups
        HID: input: Fix fall-through warnings for Clang
        HID: usbhid: Fix fall-through warnings for Clang
        HID: logitech-hidpp: Add hid_device_id for V470 bluetooth mouse
        HID: intel-ish-hid: Remove unnecessary assignment to variable rv
        HID: sony: Workaround for DS4 dongle hotplug kernel crash.
        HID: sony: Don't use fw_version/hw_version for sysfs cleanup.
        HID: sony: Report more accurate DS4 power status.
        SFH: fix error return check for -ERESTARTSYS
        HID: SFH: Add documentation
        HID: hid-input: occasionally report stylus battery even if not changed
        ...
      de925e2f
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 62746f92
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
      
       - Add vendor prefixes for bm, gpio-key, mentor, FII, and Ampere
      
       - Add ADP5585/ADP5589 and delta,q54sj108a2 to trivial-devices.yaml
      
       - Convert fixed-partitions, i2c-gate and fsl,dpaa2-console bindings to
         schemas
      
       - Drop PicoXcell bindings
      
       - Drop unused and undocumented 'pnx,timeout' property from LPC32xx
      
       - Add 'dynamic-power-coefficient' to Mali GPU bindings
      
       - Make 'make dt_binding_check' not error out on warnings
      
       - Various minor binding fixes
      
      * tag 'devicetree-for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (22 commits)
        dt-bindings: mali-bifrost: Add dynamic-power-coefficient
        dt-bindings: mali-midgard: Add dynamic-power-coefficient
        dt-bindings: i2c: dw: cancel mandatory requirements for "#address-cells" and "#size-cells"
        dt-bindings: Remove PicoXcell bindings
        ARM: dts: lpc32xx: Remove unused and undocumented 'pnx,timeout'
        dt-bindings: mtd: convert "fixed-partitions" to the json-schema
        dt-bindings: vendor-prefixes: Add undocumented bm, gpio-key, and mentor prefixes
        dt-bindings: pci: rcar-pci-ep: Document missing interrupts property
        dt-bindings: vendor-prefixes: Add an entry for AmpereComputing.com
        dt-bindings: vendor-prefixes: correct the spelling of TQ-Systems GmbH
        dt-bindings: mfd: fix stm32 timers example
        dt-bindings: trivial-devices: Add delta,q54sj108a2
        dt-bindings:i2c:i2c-gate: txt to yaml conversion
        dt-bindings: add ADP5585/ADP5589 entries to trivial-devices
        dt-bindings: Correct GV11B GPU register sizes
        dt-bindings: vendor-prefixes: Add FII
        dt-bindings: Fix typo on the DesignWare IP reset bindings documentation
        dt-bindings: Fix error in 'make dtbs_check' when using DT_SCHEMA_FILES
        dt-bindings: arm: vt8500: remove redundant white-spaces
        dt-bindings: fsl-imx-drm: fix example compatible string
        ...
      62746f92
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · f68e4041
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control changes for the v5.11 kernel.
      
        Drivers, drivers and drivers. Not a single core change.
      
        Some new stuff, especially a bunch of new Intel, Qualcomm and Ocelot
        SoCs.
      
        As part of the modularization attempt, I applied one patch affecting
        the firmware subsystem as a functional (not syntactic/semantic)
        dependency and then it blew up in our face, so I had to revert it,
        bummer. It will come in later, through that subsystem, I guess.
      
        New drivers:
      
         - New driver for the Microchip Serial GPIO "SGPIO".
      
         - Qualcomm SM8250 LPASS (Low Power Audio Subsystem) GPIO driver.
      
        New subdrivers:
      
         - Intel Lakefield subdriver.
      
         - Intel Elkhart Lake subdriver.
      
         - Intel Alder Lake-S subdriver.
      
         - Qualcomm MSM8953 subdriver.
      
         - Qualcomm SDX55 subdriver.
      
         - Qualcomm SDX55 PMIC subdriver.
      
         - Ocelot Luton SoC subdriver.
      
         - Ocelot Serval SoC subdriver.
      
        Modularization:
      
         - The Meson driver can now be built as modules.
      
         - The Qualcomm driver(s) can now be built as modules.
      
        Incremental improvements:
      
         - The Intel driver now supports pin configuration for GPIO-related
           configurations.
      
         - A bunch of Renesas PFC drivers have been augmented with support for
           QSPI pins, groups and functions.
      
         - Non-critical fixes to the irq handling in the Allwinner Sunxi
           driver"
      
      * tag 'pinctrl-v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (80 commits)
        pinctrl/spear: simplify the return expression of spear300_pinctrl_probe()
        pinctrl: mediatek: simplify the return expression of mtk_pinconf_bias_disable_set_rev1()
        dt-bindings: pinctrl: pinctrl-microchip-sgpio: Add irq support
        pinctrl: pinctrl-microchip-sgpio: Add irq support (for sparx5)
        pinctrl: qcom: Add sm8250 lpass lpi pinctrl driver
        dt-bindings: pinctrl: qcom: Add sm8250 lpass lpi pinctrl bindings
        pinctrl: qcom-pmic-gpio: Add support for pmx55
        dt-bindings: pinctrl: qcom-pmic-gpio: Add pmx55 support
        pinctrl: pinctrl-microchip-sgpio: Mark some symbols with static keyword
        pinctrl: at91-pio4: Make PINCTRL_AT91PIO4 depend on HAS_IOMEM to fix build error
        pinctrl: mtk: Fix low level output voltage issue
        pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe()
        pinctrl: actions: pinctrl-s500: Constify s500_padinfo[]
        pinctrl: pinctrl-microchip-sgpio: Add OF config dependency
        pinctrl: pinctrl-microchip-sgpio: Add pinctrl driver for Microsemi Serial GPIO
        dt-bindings: pinctrl: Add bindings for pinctrl-microchip-sgpio driver
        pinctrl: at91-pio4: add support for fewer lines on last PIO bank
        pinctrl: sunxi: Always call chained_irq_{enter, exit} in sunxi_pinctrl_irq_handler
        pinctrl: sunxi: Mark the irq bank not found in sunxi_pinctrl_irq_handler() with WARN_ON
        pinctrl: sunxi: fix irq bank map for the Allwinner A100 pin controller
        ...
      f68e4041
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · a701262c
      Linus Torvalds authored
      Pull MTD updates from Miquel Raynal:
       "MTD core:
         - Fix refcounting for unpartitioned MTDs
         - Fix misspelled function parameter 'section'
         - Remove unneeded break
         - cmdline parser: Fix parsing of part-names with colons
         - mtdpart: Fix misdocumented function parameter 'mtd'
      
        MTD devices:
         - phram:
            - Allow the user to set the erase page size
            - File headers are not good candidates for kernel-doc
         - physmap-bt1-rom: Fix __iomem addrspace removal warning
         - plat-ram: correctly free memory on error path in platram_probe()
         - powernv_flash: Add function names to headers and fix 'dev'
         - docg3: Fix kernel-doc 'bad line' and 'excessive doc' issues
      
        UBI cleanup fixes:
         - gluebi: Fix misnamed function parameter documentation
         - wl: Fix a couple of kernel-doc issues
         - eba: Fix a couple of misdocumentation issues
         - kapi: Correct documentation for 'ubi_leb_read_sg's 'sgl' parameter
         - Document 'ubi_num' in struct mtd_dev_param
      
        Generic NAND core ECC management:
         - Add an I/O request tweaking mechanism
         - Entire rework of the software BCH ECC driver, creation of a real
           ECC engine, getting rid of raw NAND structures, migration to more
           generic prototypes, misc fixes and style cleanup. Moved now to the
           Generic NAND layer.
         - Entire rework of the software Hamming ECC driver, creation of a
           real ECC engine, getting rid of raw NAND structures, misc renames,
           comment updates, cleanup, and style fixes. Moved now to the generic
           NAND layer.
         - Necessary plumbing at the NAND level to retrieve generic NAND ECC
           engines (softwares and on-die).
         - Update of the bindings.
      
        Raw NAND core:
         - Geting rid of the chip->ecc.priv entry.
         - Fix miscellaneous typos in kernel-doc
      
        Raw NAND controller drivers:
         - Arasan: Document 'anfc_op's 'buf' member
         - AU1550: Ensure the presence of the right includes
         - Brcmnand: Demote non-conformant kernel-doc headers
         - Cafe: Remove superfluous param doc and add another
         - Davinci: Do not use extra dereferencing
         - Diskonchip: Marking unused variables as __always_unused
         - GPMI:
            - Fix the driver only sense CS0 R/B issue
            - Fix the random DMA timeout issue
            - Use a single line for of_device_id
            - Use of_device_get_match_data()
            - Fix reference count leak in gpmi ops
            - Cleanup makefile
            - Fix binding matching of clocks on different SoCs
         - Ingenic: remove redundant get_device() in ingenic_ecc_get()
         - Intel LGM: New NAND controller driver
         - Marvell: Drop useless line
         - Meson:
            - Fix a resource leak in init
            - Fix meson_nfc_dma_buffer_release() arguments
         - mxc:
            - Use device_get_match_data()
            - Use a single line for of_device_id
            - Remove platform data support
         - Omap:
            - Fix a bunch of kernel-doc misdemeanours
            - Finish ELM half populated function header, demote empty ones
         - s3c2410: Add documentation for 2 missing struct members
         - Sunxi: Document 'sunxi_nfc's 'caps' member
         - Qcom:
            - Add support for SDX55
            - Support for IPQ6018 QPIC NAND controller
            - Fix DMA sync on FLASH_STATUS register read
         - Rockchip: New NAND controller driver for RK3308, RK2928 and others
         - Sunxi: Add MDMA support
      
        ONENAND:
         - bbt: Fix expected kernel-doc formatting
         - Fix some kernel-doc misdemeanours
         - Fix expected kernel-doc formatting
         - Use mtd->oops_panic_write as condition
      
        SPI-NAND core:
         - Creation of a SPI-NAND on-die ECC engine
         - Move ECC related definitions earlier in the driver
         - Fix typo in comment
         - Fill a default ECC provider/algorithm
         - Remove outdated comment
         - Fix OOB read
         - Allow the case where there is no ECC engine
         - Use the external ECC engine logic
      
        SPI-NAND chip drivers:
         - Micron:
            - Add support for MT29F2G01AAAED
            - Use more specific names
         - Macronix:
            - Add support for MX35LFxG24AD
            - Add support for MX35LFxGE4AD
         - Toshiba: Demote non-conformant kernel-doc header
      
        SPI-NOR core:
         - Initial support for stateful Octal DTR mode using volatile settings
         - Preliminary support for JEDEC 251 (xSPI) and JEDEC 216D standards
         - Support for Cypress Semper flash
         - Support to specify ECC block size of SPI NOR flashes
         - Fixes to avoid clearing of non-volatile Block Protection bits at
           probe
         - hisi-sfc: Demote non-conformant kernel-doc"
      
      * tag 'mtd/for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (120 commits)
        mtd: spinand: macronix: Add support for MX35LFxG24AD
        mtd: rawnand: rockchip: NFC driver for RK3308, RK2928 and others
        dt-bindings: mtd: Describe Rockchip RK3xxx NAND flash controller
        mtd: rawnand: gpmi: Use a single line for of_device_id
        mtd: rawnand: gpmi: Fix the random DMA timeout issue
        mtd: rawnand: gpmi: Fix the driver only sense CS0 R/B issue
        mtd: rawnand: qcom: Add NAND controller support for SDX55
        dt-bindings: qcom_nandc: Add SDX55 QPIC NAND documentation
        mtd: rawnand: mxc: Use a single line for of_device_id
        mtd: rawnand: mxc: Use device_get_match_data()
        mtd: rawnand: meson: Fix a resource leak in init
        mtd: rawnand: gpmi: Use of_device_get_match_data()
        mtd: rawnand: Add NAND controller support on Intel LGM SoC
        dt-bindings: mtd: Add Nand Flash Controller support for Intel LGM SoC
        mtd: spinand: micron: Add support for MT29F2G01AAAED
        mtd: spinand: micron: Use more specific names
        mtd: rawnand: gpmi: fix reference count leak in gpmi ops
        dt-bindings: mtd: gpmi-nand: Fix matching of clocks on different SoCs
        mtd: spinand: macronix: Add support for MX35LFxGE4AD
        mtd: plat-ram: correctly free memory on error path in platram_probe()
        ...
      a701262c
    • Linus Torvalds's avatar
      Merge tag 'leds-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · 945433be
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "Small cleanups/fixes mostly thanks to Marek, nothing major made it in
        this time"
      
      * tag 'leds-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds:
        leds: turris-omnia: check for LED_COLOR_ID_RGB instead LED_COLOR_ID_MULTI
        leds: turris-omnia: fix checkpatch warning
        leds: turris-omnia: wrap to 80 columns
        leds: turris-omnia: use constants instead of macros for color command
        dt-bindings: leds: Convert pwm to yaml
        leds: lp50xx: Fix an error handling path in 'lp50xx_probe_dt()'
        leds: netxbig: add missing put_device() call in netxbig_leds_get_of_pdata()
        Documentation: leds: remove invalidated information
      945433be
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.11-1' of git://github.com/cminyard/linux-ipmi · f67d6620
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
       "Some very minor changes.
      
        Nothing functional, just little syntax cleanups and a RCU warning
        suppression"
      
      * tag 'for-linus-5.11-1' of git://github.com/cminyard/linux-ipmi:
        char: ipmi: convert comma to semicolon
        ipmi: msghandler: Suppress suspicious RCU usage warning
        ipmi/watchdog: replace atomic_add() and atomic_sub()
        char: ipmi: remove unneeded break
      f67d6620
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 84e010ec
      Linus Torvalds authored
      Pull backlight update from Lee Jones:
       "Careful, it's a big one!
      
         - Fix pwm_bl driver interpolation issues by switching to a linear
           algorithm"
      
      * tag 'backlight-next-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: pwm_bl: Fix interpolation
      84e010ec
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 278f54c4
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "New Drivers
         - Add support for Intel's Platform Monitoring Technology (PMT)
      
        New Device Support:
         - Add support for PM660/PM660L to QCom SPMI PMIC
         - Add support for lots of new devices to Kontron Core
      
        New Functionality:
         - Provide syscon_regmap_lookup_by_phandle_optional() to SysCon API
      
        Fix-ups:
         - Constify; da9xxx-core; intel_*, tps65xxx, wm8xxx-core, lp8788,
           stmpe, sun4i-gpadc, 88pm800, hi655x-pmic, ioc3, etc
         - Remove superfluous code; madera, tps65910
         - Use raw APIs (rid abstractions); tps65911-comparator, tps65910
         - Whitespace/formatting fix-ups; tps65910
         - Device Tree changes/updates; bd71837-pmic, syscon
         - Use helpers/APIs (no hand rolling); altera-sysmgr
         - Mark of_match tables as __maybe_unused; twl6030-irq
         - Fix spelling; si476x-core
      
        Bug Fixes:
         - Reset on resume to ensure known state; madera-core
         - Correct ordering issues; madera-core, tps65910, kempld-core
         - Remove erroneous passing of of_compatible strings; at91-usart
         - Fix potential I2C adaptor leak; htc-i2cpld
         - Correct errorneous defines; rt5033-private
         - Resolve Kconfig issues; MFD_SL28CPLD, MFD_OMAP_USB_HOST
         - Fix dev_err_probe() handling; stmfx
         - Repair interrupt regression; motorola-cpcap
         - Allow ACPI matching of DT tables; bcm590xx, da9xx, ene-kb3930,
           fsl-imx25-tsadc, max77650, mt6397-core, rt5033, stmfx, max77686,
           sun4i-gpadc, wm8994-core, axp20x-i2c"
      
      [ The PMT updates already came in through the x86 platform tree ]
      
      * tag 'mfd-next-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (48 commits)
        mfd: kempld-core: Add support for additional devices
        mfd: si476x-core.h: Fix "regulator" spelling in comment
        mfd: twl6030: Mark of_device_id table as maybe unused
        mfd: axp20x: Skip of_device_id table when !CONFIG_OF
        mfd: wm8994: Drop of_match_ptr from of_device_id table
        mfd: sun4i: Drop of_match_ptr from of_device_id table
        mfd: max77686: Drop of_match_ptr from of_device_id table
        mfd: stmfx: Drop of_match_ptr from of_device_id table
        mfd: rt5033: Drop of_match_ptr from of_device_id table
        mfd: mt6397: Drop of_match_ptr from of_device_id table
        mfd: max77650: Drop of_match_ptr from of_device_id table
        mfd: fsl-imx25: Drop of_match_ptr from of_device_id table
        mfd: ene-kb3930: Drop of_match_ptr from of_device_id table
        mfd: da9150: Drop of_match_ptr from of_device_id table
        mfd: da9063: Drop of_match_ptr from of_device_id table
        mfd: da9062: Drop of_match_ptr from of_device_id table
        mfd: da9055: Drop of_match_ptr from of_device_id table
        mfd: bcm590xx: Drop of_match_ptr from of_device_id table
        mfd: omap-usb: Depend on COMMON_CLK to fix compile tests
        mfd: kempld-core: Check for DMI definition before ACPI
        ...
      278f54c4
    • Linus Torvalds's avatar
      Merge tag 'memblock-v5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock · fff875a1
      Linus Torvalds authored
      Pull memblock updates from Mike Rapoport:
       "memblock debug enhancements.
      
        Improve tracking of early memory allocations when memblock debug is
        enabled:
      
         - Add memblock_dbg() to memblock_phys_alloc_range() to get details
           about its usage
      
         - Make memblock allocator wrappers actually inline to track their
           callers in memblock debug messages"
      
      * tag 'memblock-v5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
        mm: memblock: drop __init from memblock functions to make it inline
        mm: memblock: add more debug logs
      fff875a1
    • Mark Rutland's avatar
      arm64: make _TIF_WORK_MASK bits contiguous · 870d1675
      Mark Rutland authored
      We need the bits of _TIF_WORK_MASK to be contiguous in order to to use
      this as an immediate argument to an AND instruction in entry.S.
      
      We happened to change these bits in commits:
      
        b5a5a01d ("arm64: uaccess: remove addr_limit_user_check()")
        192caabd ("arm64: add support for TIF_NOTIFY_SIGNAL")
      
      which each worked in isolation, but the merge resolution in commit:
      
        005b2a9d ("Merge tag 'tif-task_work.arch-2020-12-14' of git://git.kernel.dk/linux-block")
      
      happened to make the bits non-contiguous.
      
      Fix this by moving TIF_NOTIFY_SIGNAL to be bit 6, which is contiguous
      with the rest of _TIF_WORK_MASK.
      
      Otherwise, we'll get a build-time failure as below:
      
         arch/arm64/kernel/entry.S: Assembler messages:
         arch/arm64/kernel/entry.S:733: Error: immediate out of range at operand 3 -- `and x2,x19,#((1<<1)|(1<<0)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<7))'
         scripts/Makefile.build:360: recipe for target 'arch/arm64/kernel/entry.o' failed
      
      Fixes: 005b2a9d ("Merge tag 'tif-task_work.arch-2020-12-14' of git://git.kernel.dk/linux-block")
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Will Deacon <will@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      870d1675
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 19778dd5
      Linus Torvalds authored
      Pull IOMMU updates from Will Deacon:
       "There's a good mixture of improvements to the core code and driver
        changes across the board.
      
        One thing worth pointing out is that this includes a quirk to work
        around behaviour in the i915 driver (see 65f746e8 ("iommu: Add
        quirk for Intel graphic devices in map_sg")), which otherwise
        interacts badly with the conversion of the intel IOMMU driver over to
        the DMA-IOMMU APU but has being fixed properly in the DRM tree.
      
        We'll revert the quirk later this cycle once we've confirmed that
        things don't fall apart without it.
      
        Summary:
      
         - IOVA allocation optimisations and removal of unused code
      
         - Introduction of DOMAIN_ATTR_IO_PGTABLE_CFG for parameterising the
           page-table of an IOMMU domain
      
         - Support for changing the default domain type in sysfs
      
         - Optimisation to the way in which identity-mapped regions are
           created
      
         - Driver updates:
             * Arm SMMU updates, including continued work on Shared Virtual
               Memory
             * Tegra SMMU updates, including support for PCI devices
             * Intel VT-D updates, including conversion to the IOMMU-DMA API
      
         - Cleanup, kerneldoc and minor refactoring"
      
      * tag 'iommu-updates-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (50 commits)
        iommu/amd: Add sanity check for interrupt remapping table length macros
        dma-iommu: remove __iommu_dma_mmap
        iommu/io-pgtable: Remove tlb_flush_leaf
        iommu: Stop exporting free_iova_mem()
        iommu: Stop exporting alloc_iova_mem()
        iommu: Delete split_and_remove_iova()
        iommu/io-pgtable-arm: Remove unused 'level' parameter from iopte_type() macro
        iommu: Defer the early return in arm_(v7s/lpae)_map
        iommu: Improve the performance for direct_mapping
        iommu: avoid taking iova_rbtree_lock twice
        iommu/vt-d: Avoid GFP_ATOMIC where it is not needed
        iommu/vt-d: Remove set but not used variable
        iommu: return error code when it can't get group
        iommu: Fix htmldocs warnings in sysfs-kernel-iommu_groups
        iommu: arm-smmu-impl: Add a space before open parenthesis
        iommu: arm-smmu-impl: Use table to list QCOM implementations
        iommu/arm-smmu: Move non-strict mode to use io_pgtable_domain_attr
        iommu/arm-smmu: Add support for pagetable config domain attribute
        iommu: Document usage of "/sys/kernel/iommu_groups/<grp_id>/type" file
        iommu: Take lock before reading iommu group default domain type
        ...
      19778dd5
    • Linus Torvalds's avatar
      Merge branch 'stable/for-linus-5.11' of... · 007c74e1
      Linus Torvalds authored
      Merge branch 'stable/for-linus-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb
      
      Pull swiotlb update from Konrad Rzeszutek Wilk:
       "A generic (but for right now engaged only with AMD SEV) mechanism to
        adjust a larger size SWIOTLB based on the total memory of the SEV
        guests which right now require the bounce buffer for interacting with
        the outside world.
      
        Normal knobs (swiotlb=XYZ) still work"
      
      * 'stable/for-linus-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb:
        x86,swiotlb: Adjust SWIOTLB bounce buffer size for SEV guests
      007c74e1
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 009bd55d
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "A smaller set of patches, nothing stands out as being particularly
        major this cycle. The biggest item would be the new HIP09 HW support
        from HNS, otherwise it was pretty quiet for new work here:
      
         - Driver bug fixes and updates: bnxt_re, cxgb4, rxe, hns, i40iw,
           cxgb4, mlx4 and mlx5
      
         - Bug fixes and polishing for the new rts ULP
      
         - Cleanup of uverbs checking for allowed driver operations
      
         - Use sysfs_emit all over the place
      
         - Lots of bug fixes and clarity improvements for hns
      
         - hip09 support for hns
      
         - NDR and 50/100Gb signaling rates
      
         - Remove dma_virt_ops and go back to using the IB DMA wrappers
      
         - mlx5 optimizations for contiguous DMA regions"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (147 commits)
        RDMA/cma: Don't overwrite sgid_attr after device is released
        RDMA/mlx5: Fix MR cache memory leak
        RDMA/rxe: Use acquire/release for memory ordering
        RDMA/hns: Simplify AEQE process for different types of queue
        RDMA/hns: Fix inaccurate prints
        RDMA/hns: Fix incorrect symbol types
        RDMA/hns: Clear redundant variable initialization
        RDMA/hns: Fix coding style issues
        RDMA/hns: Remove unnecessary access right set during INIT2INIT
        RDMA/hns: WARN_ON if get a reserved sl from users
        RDMA/hns: Avoid filling sl in high 3 bits of vlan_id
        RDMA/hns: Do shift on traffic class when using RoCEv2
        RDMA/hns: Normalization the judgment of some features
        RDMA/hns: Limit the length of data copied between kernel and userspace
        RDMA/mlx4: Remove bogus dev_base_lock usage
        RDMA/uverbs: Fix incorrect variable type
        RDMA/core: Do not indicate device ready when device enablement fails
        RDMA/core: Clean up cq pool mechanism
        RDMA/core: Update kernel documentation for ib_create_named_qp()
        MAINTAINERS: SOFT-ROCE: Change Zhu Yanjun's email address
        ...
      009bd55d
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 60f7c503
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "This consists of the usual driver updates (ufs, qla2xxx, smartpqi,
        target, zfcp, fnic, mpt3sas, ibmvfc) plus a load of cleanups, a major
        power management rework and a load of assorted minor updates.
      
        There are a few core updates (formatting fixes being the big one) but
        nothing major this cycle"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (279 commits)
        scsi: mpt3sas: Update driver version to 36.100.00.00
        scsi: mpt3sas: Handle trigger page after firmware update
        scsi: mpt3sas: Add persistent MPI trigger page
        scsi: mpt3sas: Add persistent SCSI sense trigger page
        scsi: mpt3sas: Add persistent Event trigger page
        scsi: mpt3sas: Add persistent Master trigger page
        scsi: mpt3sas: Add persistent trigger pages support
        scsi: mpt3sas: Sync time periodically between driver and firmware
        scsi: qla2xxx: Update version to 10.02.00.104-k
        scsi: qla2xxx: Fix device loss on 4G and older HBAs
        scsi: qla2xxx: If fcport is undergoing deletion complete I/O with retry
        scsi: qla2xxx: Fix the call trace for flush workqueue
        scsi: qla2xxx: Fix flash update in 28XX adapters on big endian machines
        scsi: qla2xxx: Handle aborts correctly for port undergoing deletion
        scsi: qla2xxx: Fix N2N and NVMe connect retry failure
        scsi: qla2xxx: Fix FW initialization error on big endian machines
        scsi: qla2xxx: Fix crash during driver load on big endian machines
        scsi: qla2xxx: Fix compilation issue in PPC systems
        scsi: qla2xxx: Don't check for fw_started while posting NVMe command
        scsi: qla2xxx: Tear down session if FW say it is down
        ...
      60f7c503
    • Linus Torvalds's avatar
      Merge tag 'for-5.11/drivers-2020-12-14' of git://git.kernel.dk/linux-block · 69f637c3
      Linus Torvalds authored
      Pull block driver updates from Jens Axboe:
       "Nothing major in here:
      
         - NVMe pull request from Christoph:
              - nvmet passthrough improvements (Chaitanya Kulkarni)
              - fcloop error injection support (James Smart)
              - read-only support for zoned namespaces without Zone Append
                (Javier González)
              - improve some error message (Minwoo Im)
              - reject I/O to offline fabrics namespaces (Victor Gladkov)
              - PCI queue allocation cleanups (Niklas Schnelle)
              - remove an unused allocation in nvmet (Amit Engel)
              - a Kconfig spelling fix (Colin Ian King)
              - nvme_req_qid simplication (Baolin Wang)
      
         - MD pull request from Song:
              - Fix race condition in md_ioctl() (Dae R. Jeong)
              - Initialize read_slot properly for raid10 (Kevin Vigor)
              - Code cleanup (Pankaj Gupta)
              - md-cluster resync/reshape fix (Zhao Heming)
      
         - Move null_blk into its own directory (Damien Le Moal)
      
         - null_blk zone and discard improvements (Damien Le Moal)
      
         - bcache race fix (Dongsheng Yang)
      
         - Set of rnbd fixes/improvements (Gioh Kim, Guoqing Jiang, Jack Wang,
           Lutz Pogrell, Md Haris Iqbal)
      
         - lightnvm NULL pointer deref fix (tangzhenhao)
      
         - sr in_interrupt() removal (Sebastian Andrzej Siewior)
      
         - FC endpoint security support for s390/dasd (Jan Höppner, Sebastian
           Ott, Vineeth Vijayan). From the s390 arch guys, arch bits included
           as it made it easier for them to funnel the feature through the
           block driver tree.
      
         - Follow up fixes (Colin Ian King)"
      
      * tag 'for-5.11/drivers-2020-12-14' of git://git.kernel.dk/linux-block: (64 commits)
        block: drop dead assignments in loop_init()
        sr: Remove in_interrupt() usage in sr_init_command().
        sr: Switch the sector size back to 2048 if sr_read_sector() changed it.
        cdrom: Reset sector_size back it is not 2048.
        drivers/lightnvm: fix a null-ptr-deref bug in pblk-core.c
        null_blk: Move driver into its own directory
        null_blk: Allow controlling max_hw_sectors limit
        null_blk: discard zones on reset
        null_blk: cleanup discard handling
        null_blk: Improve implicit zone close
        null_blk: improve zone locking
        block: Align max_hw_sectors to logical blocksize
        null_blk: Fail zone append to conventional zones
        null_blk: Fix zone size initialization
        bcache: fix race between setting bdev state to none and new write request direct to backing
        block/rnbd: fix a null pointer dereference on dev->blk_symlink_name
        block/rnbd-clt: Dynamically alloc buffer for pathname & blk_symlink_name
        block/rnbd: call kobject_put in the failure path
        Documentation/ABI/rnbd-srv: add document for force_close
        block/rnbd-srv: close a mapped device from server side.
        ...
      69f637c3
    • Linus Torvalds's avatar
      Merge tag 'for-5.11/block-2020-12-14' of git://git.kernel.dk/linux-block · ac7ac461
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
       "Another series of killing more code than what is being added, again
        thanks to Christoph's relentless cleanups and tech debt tackling.
      
        This contains:
      
         - blk-iocost improvements (Baolin Wang)
      
         - part0 iostat fix (Jeffle Xu)
      
         - Disable iopoll for split bios (Jeffle Xu)
      
         - block tracepoint cleanups (Christoph Hellwig)
      
         - Merging of struct block_device and hd_struct (Christoph Hellwig)
      
         - Rework/cleanup of how block device sizes are updated (Christoph
           Hellwig)
      
         - Simplification of gendisk lookup and removal of block device
           aliasing (Christoph Hellwig)
      
         - Block device ioctl cleanups (Christoph Hellwig)
      
         - Removal of bdget()/blkdev_get() as exported API (Christoph Hellwig)
      
         - Disk change rework, avoid ->revalidate_disk() (Christoph Hellwig)
      
         - sbitmap improvements (Pavel Begunkov)
      
         - Hybrid polling fix (Pavel Begunkov)
      
         - bvec iteration improvements (Pavel Begunkov)
      
         - Zone revalidation fixes (Damien Le Moal)
      
         - blk-throttle limit fix (Yu Kuai)
      
         - Various little fixes"
      
      * tag 'for-5.11/block-2020-12-14' of git://git.kernel.dk/linux-block: (126 commits)
        blk-mq: fix msec comment from micro to milli seconds
        blk-mq: update arg in comment of blk_mq_map_queue
        blk-mq: add helper allocating tagset->tags
        Revert "block: Fix a lockdep complaint triggered by request queue flushing"
        nvme-loop: use blk_mq_hctx_set_fq_lock_class to set loop's lock class
        blk-mq: add new API of blk_mq_hctx_set_fq_lock_class
        block: disable iopoll for split bio
        block: Improve blk_revalidate_disk_zones() checks
        sbitmap: simplify wrap check
        sbitmap: replace CAS with atomic and
        sbitmap: remove swap_lock
        sbitmap: optimise sbitmap_deferred_clear()
        blk-mq: skip hybrid polling if iopoll doesn't spin
        blk-iocost: Factor out the base vrate change into a separate function
        blk-iocost: Factor out the active iocgs' state check into a separate function
        blk-iocost: Move the usage ratio calculation to the correct place
        blk-iocost: Remove unnecessary advance declaration
        blk-iocost: Fix some typos in comments
        blktrace: fix up a kerneldoc comment
        block: remove the request_queue to argument request based tracepoints
        ...
      ac7ac461