Skip to content
  1. Aug 09, 2022
    • Al Viro's avatar
      ITER_PIPE: helpers for adding pipe buffers · 47b7fcae
      Al Viro authored
      
      
      There are only two kinds of pipe_buffer in the area used by ITER_PIPE.
      
      1) anonymous - copy_to_iter() et.al. end up creating those and copying
      data there.  They have zero ->offset, and their ->ops points to
      default_pipe_page_ops.
      
      2) zero-copy ones - those come from copy_page_to_iter(), and page
      comes from caller.  ->offset is also caller-supplied - it might be
      non-zero.  ->ops points to page_cache_pipe_buf_ops.
      
      Move creation and insertion of those into helpers - push_anon(pipe, size)
      and push_page(pipe, page, offset, size) resp., separating them from
      the "could we avoid creating a new buffer by merging with the current
      head?" logics.
      
      Acked-by: default avatarJeff Layton <jlayton@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      47b7fcae
    • Al Viro's avatar
      ITER_PIPE: helper for getting pipe buffer by index · 2dcedb2a
      Al Viro authored
      
      
      pipe_buffer instances of a pipe are organized as a ring buffer,
      with power-of-2 size.  Indices are kept *not* reduced modulo ring
      size, so the buffer refered to by index N is
      	pipe->bufs[N & (pipe->ring_size - 1)].
      
      Ring size can change over the lifetime of a pipe, but not while
      the pipe is locked.  So for any iov_iter primitives it's a constant.
      Original conversion of pipes to this layout went overboard trying
      to microoptimize that - calculating pipe->ring_size - 1, storing
      it in a local variable and using through the function.  In some
      cases it might be warranted, but most of the times it only
      obfuscates what's going on in there.
      
      Introduce a helper (pipe_buf(pipe, N)) that would encapsulate
      that and use it in the obvious cases.  More will follow...
      
      Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
      Reviewed-by: default avatarChristian Brauner (Microsoft) <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      2dcedb2a
    • Al Viro's avatar
      splice: stop abusing iov_iter_advance() to flush a pipe · 0d964934
      Al Viro authored
      
      
      Use pipe_discard_from() explicitly in generic_file_read_iter(); don't bother
      with rather non-obvious use of iov_iter_advance() in there.
      
      Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
      Reviewed-by: default avatarChristian Brauner (Microsoft) <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      0d964934
    • Al Viro's avatar
    • Al Viro's avatar
      new iov_iter flavour - ITER_UBUF · fcb14cb1
      Al Viro authored
      
      
      Equivalent of single-segment iovec.  Initialized by iov_iter_ubuf(),
      checked for by iter_is_ubuf(), otherwise behaves like ITER_IOVEC
      ones.
      
      We are going to expose the things like ->write_iter() et.al. to those
      in subsequent commits.
      
      New predicate (user_backed_iter()) that is true for ITER_IOVEC and
      ITER_UBUF; places like direct-IO handling should use that for
      checking that pages we modify after getting them from iov_iter_get_pages()
      would need to be dirtied.
      
      DO NOT assume that replacing iter_is_iovec() with user_backed_iter()
      will solve all problems - there's code that uses iter_is_iovec() to
      decide how to poke around in iov_iter guts and for that the predicate
      replacement obviously won't suffice.
      
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      fcb14cb1
  2. Aug 05, 2022
    • Linus Torvalds's avatar
      Merge tag 'for-5.20/block-2022-08-04' of git://git.kernel.dk/linux-block · fa9db655
      Linus Torvalds authored
      Pull block driver updates from Jens Axboe:
      
       - NVMe pull requests via Christoph:
            - add support for In-Band authentication (Hannes Reinecke)
            - handle the persistent internal error AER (Michael Kelley)
            - use in-capsule data for TCP I/O queue connect (Caleb Sander)
            - remove timeout for getting RDMA-CM established event (Israel
              Rukshin)
            - misc cleanups (Joel Granados, Sagi Grimberg, Chaitanya Kulkarni,
              Guixin Liu, Xiang wangx)
            - use command_id instead of req->tag in trace_nvme_complete_rq()
              (Bean Huo)
            - various fixes for the new authentication code (Lukas Bulwahn,
              Dan Carpenter, Colin Ian King, Chaitanya Kulkarni, Hannes
              Reinecke)
            - small cleanups (Liu Song, Christoph Hellwig)
            - restore compat_ioctl support (Nick Bowler)
            - make a nvmet-tcp workqueue lockdep-safe (Sagi Grimberg)
            - enable generic interface (/dev/ngXnY) for unknown command sets
              (Joel Granados, Christoph Hellwig)
            - don't always build constants.o (Christoph Hellwig)
            - print the command name of aborted commands (Christoph Hellwig)
      
       - MD pull requests via Song:
            - Improve raid5 lock contention, by Logan Gunthorpe.
            - Misc fixes to raid5, by Logan Gunthorpe.
            - Fix race condition with md_reap_sync_thread(), by Guoqing Jiang.
            - Fix potential deadlock with raid5_quiesce and
              raid5_get_active_stripe, by Logan Gunthorpe.
            - Refactoring md_alloc(), by Christoph"
            - Fix md disk_name lifetime problems, by Christoph Hellwig
            - Convert prepare_to_wait() to wait_woken() api, by Logan
              Gunthorpe;
            - Fix sectors_to_do bitmap issue, by Logan Gunthorpe.
      
       - Work on unifying the null_blk module parameters and configfs API
         (Vincent)
      
       - drbd bitmap IO error fix (Lars)
      
       - Set of rnbd fixes (Guoqing, Md Haris)
      
       - Remove experimental marker on bcache async device registration (Coly)
      
       - Series from cleaning up the bio splitting (Christoph)
      
       - Removal of the sx8 block driver. This hardware never really
         widespread, and it didn't receive a lot of attention after the
         initial merge of it back in 2005 (Christoph)
      
       - A few fixes for s390 dasd (Eric, Jiang)
      
       - Followup set of fixes for ublk (Ming)
      
       - Support for UBLK_IO_NEED_GET_DATA for ublk (ZiyangZhang)
      
       - Fixes for the dio dma alignment (Keith)
      
       - Misc fixes and cleanups (Ming, Yu, Dan, Christophe
      
      * tag 'for-5.20/block-2022-08-04' of git://git.kernel.dk/linux-block: (136 commits)
        s390/dasd: Establish DMA alignment
        s390/dasd: drop unexpected word 'for' in comments
        ublk_drv: add support for UBLK_IO_NEED_GET_DATA
        ublk_cmd.h: add one new ublk command: UBLK_IO_NEED_GET_DATA
        ublk_drv: cleanup ublksrv_ctrl_dev_info
        ublk_drv: add SET_PARAMS/GET_PARAMS control command
        ublk_drv: fix ublk device leak in case that add_disk fails
        ublk_drv: cancel device even though disk isn't up
        block: fix leaking page ref on truncated direct io
        block: ensure bio_iov_add_page can't fail
        block: ensure iov_iter advances for added pages
        drivers:md:fix a potential use-after-free bug
        md/raid5: Ensure batch_last is released before sleeping for quiesce
        md/raid5: Move stripe_request_ctx up
        md/raid5: Drop unnecessary call to r5c_check_stripe_cache_usage()
        md/raid5: Make is_inactive_blocked() helper
        md/raid5: Refactor raid5_get_active_stripe()
        block: pass struct queue_limits to the bio splitting helpers
        block: move bio_allowed_max_sectors to blk-merge.c
        block: move the call to get_max_io_size out of blk_bio_segment_split
        ...
      fa9db655
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · e4952747
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "This cycle we got a new RDMA driver "ERDMA" for the Alibaba cloud
        environment. Otherwise the changes are dominated by rxe fixes.
      
        There is another RDMA driver on the list that might get merged next
        cycle, 'MANA' for the Azure cloud environment.
      
        Summary:
      
         - Bug fixes and small features for irdma, hns, siw, qedr, hfi1, mlx5
      
         - General spelling/grammer fixes
      
         - rdma cm can follow changes in neighbours for control packets
      
         - Significant amounts of rxe fixes and spec compliance changes
      
         - Use the modern NAPI API
      
         - Use the bitmap API instead of open coding
      
         - Performance improvements for rtrs
      
         - Add the ERDMA driver for Alibaba cloud
      
         - Fix a use after free bug in SRP"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (99 commits)
        RDMA/ib_srpt: Unify checking rdma_cm_id condition in srpt_cm_req_recv()
        RDMA/rxe: Fix error unwind in rxe_create_qp()
        RDMA/mlx5: Add missing check for return value in get namespace flow
        RDMA/rxe: Split qp state for requester and completer
        RDMA/rxe: Generate error completion for error requester QP state
        RDMA/rxe: Update wqe_index for each wqe error completion
        RDMA/srpt: Fix a use-after-free
        RDMA/srpt: Introduce a reference count in struct srpt_device
        RDMA/srpt: Duplicate port name members
        IB/qib: Fix repeated "in" within comments
        RDMA/erdma: Add driver to kernel build environment
        RDMA/erdma: Add the ABI definitions
        RDMA/erdma: Add the erdma module
        RDMA/erdma: Add connection management (CM) support
        RDMA/erdma: Add verbs implementation
        RDMA/erdma: Add verbs header file
        RDMA/erdma: Add event queue implementation
        RDMA/erdma: Add cmdq implementation
        RDMA/erdma: Add main include file
        RDMA/erdma: Add the hardware related definitions
        ...
      e4952747
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 746fc76b
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "Updates to the usual drivers (ufs, qla2xx, target, lpfc, smartpqi,
        mpi3mr).
      
        The main driver change that might cause issues on down the road is the
        conversion of some of our oldest surviving drivers to the DMA API
        (should only affect m68k).
      
        The only major core change is the rework of async resume; the rest are
        either completely trivial or for updating deprecated APIs"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (195 commits)
        scsi: target: Remove XDWRITEREAD emulated support
        scsi: megaraid: Remove the static variable initialisation
        scsi: ch: Do not initialise statics to 0
        scsi: ufs: core: Fix spelling mistake "Cannnot" -> "Cannot"
        scsi: target: iscsi: Do not require target authentication
        scsi: target: iscsi: Allow AuthMethod=None
        scsi: target: iscsi: Support base64 in CHAP
        scsi: target: iscsi: Add support for extended CDB AHS
        scsi: ufs: dt-bindings: Add SC8280XP binding
        scsi: target: iscsi: Fix clang -Wformat warnings
        scsi: ufs: core: Read device property for ref clock
        scsi: libsas: Resume SAS host for phy reset or enable via sysfs
        scsi: hisi_sas: Modify v3 HW SATA completion error processing
        scsi: hisi_sas: Relocate DMA unmap of SMP task
        scsi: hisi_sas: Remove unnecessary variable to hold DMA map elements
        scsi: hisi_sas: Call hisi_sas_slave_configure() from slave_configure_v3_hw()
        scsi: mpi3mr: Delete a stray tab
        scsi: mpi3mr: Unlock on error path
        scsi: mpi3mr: Reduce VD queue depth on detecting throttling
        scsi: mpi3mr: Resource Based Metering
        ...
      746fc76b
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 328141e5
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Add support for the asynchronous SDIO wakeup interrupts
         - Skip redundant evaluation of eMMC HS400 caps when no-MMC-cap
         - Add support to store error stats from host drivers
         - Extend debugfs to show error stats from host drivers
         - Add single I/O read support in the recovery path for 4k sector cards
      
        MMC host:
         - dw_mmc-exynos: Convert corresponding DT bindings to the dtschema
         - dw_mmc-rockchip: Add support for the Rockchip RV1126 variant
         - mmc_spi: Convert corresponding DT bindings to the dtschema
         - mtk-sd: Extend support for interrupts/pinctrls for SDIO low-power mode
         - mtk-sd: Add support for SDIO wake irqs
         - mtk-sd: Add support for the Mediatek MT8188 variant
         - renesas_sdhi: Drop redundant manual tap correction for newer SoCs
         - renesas_sdhi: Add support for the R-Car S4-8 and generic Gen4 variants
         - sdhci/cqhci: Add support to capture ...
      328141e5
    • Linus Torvalds's avatar
      Merge tag 'pci-v5.20-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · eff0cb3d
      Linus Torvalds authored
      Pull pci updates from Bjorn Helgaas:
       "Enumeration:
      
         - Consolidate duplicated 'next function' scanning and extend to allow
           'isolated functions' on s390, similar to existing hypervisors
           (Niklas Schnelle)
      
        Resource management:
         - Implement pci_iobar_pfn() for sparc, which allows us to remove the
           sparc-specific pci_mmap_page_range() and pci_mmap_resource_range().
      
           This removes the ability to map the entire PCI I/O space using
           /proc/bus/pci, but we believe that's already been broken since
           v2.6.28 (Arnd Bergmann)
      
         - Move common PCI definitions to asm-generic/pci.h and rework others
           to be be more specific and more encapsulated in arches that need
           them (Stafford Horne)
      
        Power management:
      
         - Convert drivers to new *_PM_OPS macros to avoid need for '#ifdef
           CONFIG_PM_SLEEP' or '__maybe_unused' (Bjorn Helgaas)
      
        Virtualization:
      
         - Add ACS quirk for Broadcom BCM575...
      eff0cb3d
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · 31be1d0f
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "New support / Core:
      
         - Remove DMA_MEMCPY_SG for lack of users
      
         - Tegra 234 dmaengine support
      
         - Mediatek MT8365 dma support
      
         - Apple ADMAC driver
      
        Updates:
      
         - Yaml conversion for ST-Ericsson DMA40 binding and Freescale edma
      
         - rz-dmac updates and device_synchronize support
      
         - Bunch of typo in comments fixes in drivers
      
         - multithread support in sf-pdma driver"
      
      * tag 'dmaengine-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (50 commits)
        dmaengine: mediatek: mtk-hsdma: Fix typo 'the the' in comment
        dmaengine: axi-dmac: check cache coherency register
        dmaengine: sh: rz-dmac: Add device_synchronize callback
        dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed
        dmaengine: tegra: Add terminate() for Tegra234
        dt-bindings: dmaengine: Add compatible for Tegra234
        dmaengine: xilinx: use strscpy to replace strlcpy
        dmaengine: imx-sdma: Add FIFO stride support for multi FIFO script
        dmaengine: idxd: Correct IAX operation code names
        dmaengine: imx-dma: Cast of_device_get_match_data() with (uintptr_t)
        dmaengine: dw-axi-dmac: ignore interrupt if no descriptor
        dmaengine: dw-axi-dmac: do not print NULL LLI during error
        dmaengine: altera-msgdma: Fixed some inconsistent function name descriptions
        dmaengine: imx-sdma: Add missing struct documentation
        dmaengine: sf-pdma: Add multithread support for a DMA channel
        dt-bindings: dma: dw-axi-dmac: extend the number of interrupts
        dmaengine: dmatest: use strscpy to replace strlcpy
        dmaengine: ste_dma40: fix typo in comment
        dmaengine: jz4780: fix typo in comment
        dmaengine: s3c24xx: fix typo in comment
        ...
      31be1d0f
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 36001a2f
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "The clk core gains a new set of APIs that allow drivers to both
        acquire clks and prepare and enable them at the same time. This also
        comes with devm support so that drivers can make a single call to get
        and prepare and enable the clk and have that all undone when their
        driver is removed.
      
        Many folks have requested this feature over the years, but we've had
        disagreements about how to implement it and if it was worthwhile to
        encourage drivers to use such an API.
      
        Now it's here, so let's see how it goes.
      
        I hope that by introducing this API we can identify drivers that would
        benefit from further consolidation of clk API usage, possibly by
        moving such logic to the bus layer and out of drivers altogether.
      
        Outside of that major API update, we have the usual collection of
        driver updates. A few new SoCs are supported, mostly Qualcomm and
        Renesas this time around. Then we have the long tail of non-critical
        fixes and minor feature additions to various clk drivers.
      
        And finally more clk provider migration to struct clk_parent_data,
        reducing boot times in the process.
      
        Summary:
      
        Core:
      
         - devm helpers for clk_get() + clk_prepare() and clk_enable()
      
        New Drivers:
      
         - Support for the camera clock controller in Qualcomm SM8450 and the
           display and gpu clock controllers in Qualcomm SM8350
      
         - Add support for the Renesas RZ/Five SoC
      
        Updates:
      
         - Various fixes, new clocks and USB GDSCs are introduced for Qualcomm
           IPQ8074
      
         - Fixes to Qualcomm MSM8939 for issues introduced by inheriting the
           MSM8916 GCC driver
      
         - Support for a new type of voteable GDSCs used by Qualcomm SC8280XP
           PCIe GDSCs
      
         - Qualcomm SC8280XP pipe clocks transitioned to the new phy-mux
           implementation
      
         - Qualcomm MSM8996 GCC, RPM clock driver and some clocks in MSM8994
           GCC are migrated to use clk_parent_data
      
         - Corrected the topology for Titan (camera) GDSCs on Qualcomm SDM845
           and SM8250
      
         - Qualcomm MSM8916 gains more possible frequencies for its GP clocks.
      
         - The GCC and tsens handling on Qualcomm MSM8960 is reworked to mimic
           the design in IPQ8074 to allow the GCC driver to probe earlier.
      
         - The regulator based mmcx supply for Qualcomm dispcc and videocc is
           dropped, as the only upstream target that adapted this interface
           was transitioned several kernel versions ago
      
         - Qualcomm GDSCs found to be enabled at boot will now reflect in the
           enable count of the supply, as was done with the regulator supplies
           previously
      
         - Correct adc1, nic_media and edma1's parents for NXP i.MX93
      
         - rdiv, mfd values, the return rate in recalc_rate and add more
           frequencies in the table for fracn-gppll on i.MX
      
         - Remove Allwinner workaround logic/compatible in fixed factor code
      
         - MediaTek clk driver cleanups
      
         - Add reset support to more MediaTek clk drivers
      
         - deduplicate Allwinner ccu_clks arrays
      
         - Allwinner H6 GPU DFS support
      
         - Adjust Allwinner Kconfig to limit choice
      
         - Fix initconst confusion on Renesas R-Car Gen4
      
         - Add GPT/POEG (PWM) clocks and resets on Renesas RZ/G2L
      
         - Add PFC and WDT clocks and resets on Renesas RZ/V2M
      
         - Add thermal, SDHI, Z (CPU core), PCIe, and HSCIF (serial) clocks on
           Renesas R-Car S4-8"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (124 commits)
        clk: fixed-factor: Introduce *clk_hw_register_fixed_factor_parent_hw()
        clk: mux: Introduce devm_clk_hw_register_mux_parent_hws()
        clk: divider: Introduce devm_clk_hw_register_divider_parent_hw()
        clk: qcom: gcc-msm8994: use parent_hws for gpll0/4
        clk: qcom: clk-rpm: convert to parent_data API
        dt-bindings: clock: fix wrong clock documentation for qcom,rpmcc
        clk: qcom: gcc-msm8939: Add missing USB HS system clock frequencies
        clk: qcom: gcc-msm8939: Add missing MDSS MDP clock frequencies
        clk: qcom: gcc-msm8939: Add missing CAMSS CPP clock frequencies
        clk: qcom: gcc-msm8939: Fix venus0_vcodec0_clk frequency definitions
        clk: qcom: gcc-msm8939: Add missing CAMSS CCI bus clock
        clk: qcom: gcc-msm8939: Fix weird field spacing in ftbl_gcc_camss_cci_clk
        clk: qcom: gdsc: Bump parent usage count when GDSC is found enabled
        clk: qcom: Drop mmcx gdsc supply for dispcc and videocc
        clk: qcom: fix build error initializer element is not constant
        clk: sprd: Add dt-bindings include file for UMS512
        dt-bindings: clk: sprd: Add bindings for ums512 clock controller
        clk: sunxi-ng: sun50i: h6: Modify GPU clock configuration to support DFS
        dt-bindings: clock: qcom,gcc-msm8996: add more GCC clock sources
        clk: qcom: add support for SM8350 DISPCC
        ...
      36001a2f
    • Linus Torvalds's avatar
      Merge tag 'gpio-updates-for-v6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 37644cac
      Linus Torvalds authored
      Pull gpio updates from Bartosz Golaszewski:
       "Here are the updates for this merge window from the GPIO subsystem.
      
        We have more lines removed than added thanks to dropping of a driver
        for a platform that's no longer supported. Otherwise the changes are
        pretty straightforward: support for some new models, various
        improvements to existing drivers, some tweaks to the core library code
        and DT bindings updates.
      
        Summary:
      
         - remove gpio-vr41xx driver as the only platform using it got dropped
           too
      
         - add support for suspend/resume to gpio-davinci
      
         - improvements to the GPIO character device code
      
         - add support for disabling bias for in-kernel users (up until now
           only user-space could set it)
      
         - drop unused devm_gpio_free()
      
         - fix a refcount issue in gpiolib OF
      
         - use device match helpers where applicable
      
         - add support for a new model to gpio-rockchip
      
         - non-functional improvements in gpio-adp5588
      
         - improve and simplify teardown in gpio-twl4030 and gpio-ucb1400
      
         - modernize the gpio-74xx-mmio and gpio-adnp drivers
      
         - coding style improvements in gpio-xilinx, gpio-104-idi-48
      
         - support new model (pca9571) in gpio-pca9570
      
         - convert the DT bindings to YAML for gpio-mvebu and update the
           document
      
         - don't return error codes from remove() in gpio-brcmstb
      
         - add a library for the intel 8255 PPI interface and use it in
           drivers
      
         - reduce using magic numbers and improve code readability in several
           drivers
      
         - convert DT bindings to YAML for gpio-tpic2810
      
         - add new models to DT bindings for gpio-frl-imx
      
         - Kconfig improvements
      
         - other minor tweaks and improvements"
      
      * tag 'gpio-updates-for-v6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (52 commits)
        dt-bindings: gpio: fsl-imx-gpio: Add i.MXRT compatibles
        gpio: 74xx-mmio: Use bits instead of plain numbers for flags
        gpio: xilinx: add missing blank line after declarations
        MAINTAINERS: Update Intel 8255 GPIO driver file list
        gpio: gpio-mm: Implement and utilize register structures
        gpio: 104-idi-48: Implement and utilize register structures
        gpio: 104-dio-48e: Implement and utilize register structures
        gpio: i8255: Introduce the Intel 8255 interface library module
        gpio: 104-idio-16: Implement and utilize register structures
        gpio: ws16c48: Implement and utilize register structures
        gpio: remove VR41XX related gpio driver
        dt-bindings: gpio: add pull-disable flag
        gpiolib: acpi: support bias pull disable
        gpiolib: of: support bias pull disable
        gpiolib: add support for bias pull disable
        gpio: 74xx-mmio: use bits.h macros for all masks
        gpio: 74xx-mmio: Check MMIO_74XX_DIR_IN flag in mmio_74xx_dir_in()
        gpio: 74xx-mmio: Make use of device properties
        gpiolib: cdev: compile out HTE unless CONFIG_HTE selected
        gpiolib: cdev: consolidate edge detector configuration flags
        ...
      37644cac
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v6.0-1' of... · 5f084819
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver updates from Hans de Goede:
      
       - Microsoft Surface:
           - SSAM hot unplug support
           - Surface Pro 8 keyboard cover support
           - Tablet mode switch support for Surface Pro 8 and Surface Laptop
             Studio
      
       - thinkpad_acpi:
           - AMD Automatice Mode Transitions (AMT) support
      
       - Mellanox:
           - Vulcan chassis COMe NVSwitch management support
           - XH3000 support
      
       - New generic/shared Intel P2SB (Primary to Sideband) support
      
       - Lots of small cleanups
      
       - Various small bugfixes
      
       - Various new hardware ids / quirks additions
      
      * tag 'platform-drivers-x86-v6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (105 commits)
        platform/x86/intel/vsec: Fix wrong type for local status variables
        platform/x86: p2sb: Move out of X86_PLATFORM_DEVICES dependency
        platform/x86: pmc_atom: Fix comment typo
        platform/surface: gpe: Add support for 13" Intel version of Surface Laptop 4
        platform/olpc: Fix uninitialized data in debugfs write
        platform/mellanox: mlxreg-lc: Fix error flow and extend verbosity
        platform/x86: pmc_atom: Match all Lex BayTrail boards with critclk_systems DMI table
        platform/x86: sony-laptop: Remove useless comparisons in sony_pic_read_possible_resource()
        tools/power/x86/intel-speed-select: Remove unneeded semicolon
        tools/power/x86/intel-speed-select: Fix off by one check
        platform/surface: tabletsw: Fix __le32 integer access
        Documentation/ABI: Add new attributes for mlxreg-io sysfs interfaces
        Documentation/ABI: mlxreg-io: Fix contact info
        platform/mellanox: mlxreg-io: Add locking for io operations
        platform/x86: mlx-platform: Add COME board revision register
        platform/x86: mlx-platform: Add support for new system XH3000
        platform/x86: mlx-platform: Introduce support for COMe NVSwitch management module for Vulcan chassis
        platform/x86: mlx-platform: Add support for systems equipped with two ASICs
        platform/x86: mlx-platform: Add cosmetic changes for alignment
        platform/x86: mlx-platform: Make activation of some drivers conditional
        ...
      5f084819
    • Linus Torvalds's avatar
      Merge tag 'tag-chrome-platform-for-v5.20' of... · 5bb3bf24
      Linus Torvalds authored
      Merge tag 'tag-chrome-platform-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform updates from Tzung-Bi Shih:
       "cros_ec_proto:
         - Leverage Kunit and add Kunit test cases
         - Clean-ups
         - Fix typo
      
        cros_ec_commands:
         - Fix typo
         - Fix compile errors
      
        cros_kbd_led_backlight:
         - Support OF match
         - Support EC PWM backend
      
        cros_ec:
         - Always expose the last resume result to fix sleep hang detection on
           ARM-based chromebooks
      
        wilco_ec:
         - Fix typo
      
        cros_ec_typec:
         - Clean-ups
         - Use Type-C framework utilities to manage altmode structs"
      
      * tag 'tag-chrome-platform-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux: (59 commits)
        platform/chrome: cros_kunit_util: add default value for `msg->result`
        platform/chrome: merge Kunit utils and test cases
        platform/chrome: cros_kbd_led_backlight: fix build warning
        platform/chrome: cros_ec_proto: add Kunit test for cros_ec_cmd()
        platform/chrome: cros_ec_proto: add Kunit tests for get_sensor_count
        platform/chrome: cros_ec_proto: add Kunit tests for check_features
        platform/chrome: cros_ec_proto: add Kunit tests for get_host_event
        platform/chrome: cros_ec_proto: add Kunit tests for get_next_event
        platform/chrome: cros_ec_proto: add Kunit test for cros_ec_map_error()
        platform/chrome: cros_ec_proto: add Kunit tests for cmd_xfer_status
        platform/chrome: cros_ec_proto: return -EPROTO if empty payload
        platform/chrome: cros_ec_proto: add Kunit test for empty payload
        platform/chrome: cros_ec_proto: return -EAGAIN when retries timed out
        platform/chrome: cros_ec_proto: change Kunit expectation when timed out
        platform/chrome: cros_ec_proto: separate cros_ec_wait_until_complete()
        platform/chrome: cros_ec_proto: separate cros_ec_xfer_command()
        platform/chrome: cros_ec_proto: add Kunit tests for cros_ec_send_command()
        platform/chrome: cros_ec_proto: add Kunit tests for cros_ec_cmd_xfer()
        platform/chrome: cros_ec_proto: add "cros_ec_" prefix to send_command()
        platform/chrome: cros_ec_typec: Register port altmodes
        ...
      5bb3bf24
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · da8d07af
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
       "Bindings:
      
         - Add spi-peripheral-props.yaml references to various SPI device
           bindings
      
         - Convert qcom,pm8916-wdt, ds1307, Qualcomm BAM DMA, is31fl319x,
           skyworks,aat1290, Rockchip EMAC, gpio-ir-receiver, ahci-ceva, Arm
           CCN PMU, rda,8810pl-intc, sil,sii9022, ps2-gpio, and
           arm-firmware-suite bindings to DT schema format
      
         - New bindings for Arm virtual platforms display, Qualcomm IMEM
           memory region, Samsung S5PV210 ChipID, EM Microelectronic EM3027
           RTC, and arm,cortex-a78ae
      
         - Add vendor prefixes for asrock, bytedance, hxt, ingrasys, inventec,
           quanta, and densitron
      
         - Add missing MSI and IOMMU properties to host-generic-pci
      
         - Remove bindings for removed EFM32 platform
      
         - Remove old chosen.txt binding (replaced by schema)
      
         - Treewide add missing type information for properties
      
         - Treewide fixing of typos and its vs. it's in bindings. Its all good
           now.
      
         - Drop unnecessary quoting in power related schemas
      
         - Several LED binding updates which didn't get picked up
      
         - Move various bindings to proper directories
      
        DT core code:
      
         - Convert unittest GPIO related tests to use fwnode
      
         - Check ima-kexec-buffer against memory bounds
      
         - Print reserved-memory allocation/reservation failures as errors
      
         - Cleanup early_init_dt_reserve_memory_arch()
      
         - Simplify of_overlay_fdt_apply() tail"
      
      * tag 'devicetree-for-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (65 commits)
        dt-bindings: mtd: microchip,mchp48l640: use spi-peripheral-props.yaml
        dt-bindings: power: supply: drop quotes when not needed
        dt-bindings: power: reset: drop quotes when not needed
        dt-bindings: power: drop quotes when not needed
        dt-bindings: PCI: host-generic-pci: Allow IOMMU and MSI properties
        of/fdt: declared return type does not match actual return type
        devicetree/bindings: correct possessive "its" typos
        dt-bindings: net: convert emac_rockchip.txt to YAML
        dt-bindings: eeprom: microchip,93lc46b: move to eeprom directory
        dt-bindings: eeprom: at25: use spi-peripheral-props.yaml
        dt-bindings: display: use spi-peripheral-props.yaml
        dt-bindings: watchdog: qcom,pm8916-wdt: convert to dtschema
        dt-bindings: power: reset: qcom,pon: use absolute path to other schema
        dt-bindings: iio/dac: adi,ad5766: Add missing type to 'output-range-microvolts'
        dt-bindings: power: supply: charger-manager: Add missing type for 'cm-battery-stat'
        dt-bindings: panel: raydium,rm67191: Add missing type to 'video-mode'
        of/fdt: Clean up early_init_dt_reserve_memory_arch()
        dt-bindings: PCI: fsl,imx6q-pcie: Add missing type for 'reset-gpio-active-high'
        dt-bindings: rtc: Add EM Microelectronic EM3027 bindings
        dt-bindings: rtc: ds1307: Convert to json-schema
        ...
      da8d07af
    • Linus Torvalds's avatar
      Merge tag 'for-linus-2022080201' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 8d9420ca
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - support for AMD SOCs using SFH1.1 memory access (Basavaraj Natikar)
      
       - XP-PEN Deco L support (José Expósito)
      
       - support for Elan eKTH6915 touchscreens (Douglas Anderson)
      
       - other small assorted fixes and device ID additions
      
      * tag 'for-linus-2022080201' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (39 commits)
        HID: amd_sfh: Handle condition of "no sensors"
        HID: amd_sfh: Fix implicit declaration error on i386
        HID: apple: Add "GANSS" to the non-Apple list
        HID: alps: Declare U1_UNICORN_LEGACY support
        HID: wacom: Force pen out of prox if no events have been received in a while
        HID: nintendo: Add missing array termination
        HID: lg-g15: Fix comment typo
        HID: amd_sfh: Implement SFH1.1 functionality
        HID: amd_sfh: Move interrupt handling to common interface
        HID: amd_sfh: Move amd_sfh_work to common interface
        HID: amd_sfh: Move global functions to static
        HID: amd_sfh: Add remove operation in amd_mp2_ops
        HID: amd_sfh: Add PM operations in amd_mp2_ops
        HID: amd_sfh: Add descriptor operations in amd_mp2_ops
        HID: amd_sfh: Move request_list variable to client data
        HID: amd_sfh: Move request_list struct to header file
        HID: amd_sfh: Move common macros and structures
        HID: amd_sfh: Add NULL check for hid device
        HID: core: remove unneeded assignment in hid_process_report()
        ID: intel-ish-hid: hid-client: drop unexpected word "the" in the comments
        ...
      8d9420ca
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20220804' of https://github.com/jcmvbkbc/linux-xtensa · c040862b
      Linus Torvalds authored
      Pull xtensa updates from Max Filippov:
      
       - support KCOV
      
       - enable ARCH_HAS_GCOV_PROFILE_ALL
      
       - minor ISS network driver cleanups
      
      * tag 'xtensa-20220804' of https://github.com/jcmvbkbc/linux-xtensa:
        xtensa: enable ARCH_HAS_GCOV_PROFILE_ALL
        xtensa: enable KCOV support
        xtensa: iss: fix handling error cases in iss_net_configure()
        xtensa: iss/network: provide release() callback
        xtensa: iss/network: drop 'devices' list
      c040862b
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm · 995177a4
      Linus Torvalds authored
      Pull ARM updates from Russell King:
       "Not much this time around, the 5.20-rc1 development updates for arm
        are:
      
         - add KASAN support for vmalloc space on arm
      
         - some sparse fixes from Ben Dooks
      
         - rework amba device handling (so device addition isn't deferred)"
      
      * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
        ARM: 9220/1: amba: Remove deferred device addition
        ARM: 9219/1: fix undeclared soft_restart
        ARM: 9218/1: dma-mapping: fix pointer/integer warning
        ARM: 9217/1: add definition of arch_irq_work_raise()
        ARM: 9203/1: kconfig: fix MODULE_PLTS for KASAN with KASAN_VMALLOC
        ARM: 9202/1: kasan: support CONFIG_KASAN_VMALLOC
      995177a4
    • Linus Torvalds's avatar
      Merge tag 'csky-for-linus-6.0-rc1' of https://github.com/c-sky/csky-linux · 7df9075e
      Linus Torvalds authored
      Pull csky updates from Guo Ren:
      
       - Add jump-label implementation
      
       - Add qspinlock support
      
       - Enable ARCH_INLINE_READ*/WRITE*/SPIN*
      
       - Some fixups and a coding convention
      
      * tag 'csky-for-linus-6.0-rc1' of https://github.com/c-sky/csky-linux:
        csky: abiv1: Fixup compile error
        csky: cmpxchg: Coding convention for BUILD_BUG()
        csky: Enable ARCH_INLINE_READ*/WRITE*/SPIN*
        csky: Add qspinlock support
        csky: Add jump-label implementation
        csky: Move HEAD_TEXT_SECTION out of __init_begin-end
        csky: Correct position of _stext
        csky: Use the bitmap API to allocate bitmaps
        csky/kprobe: reclaim insn_slot on kprobe unregistration
      7df9075e
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 · 25e6bed5
      Linus Torvalds authored
      Pull AVR32 updates from Hans-Christian Noren Egtvedt:
       "Mostly changes to documentation and comments"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:
        video:backlight: remove reference to AVR32 architecture in ltv350qv
        video: remove support for non-existing atmel,at32ap-lcdc in atmel_lcdfb
        usb:udc: remove reference to AVR32 architecture in Atmel USBA Kconfig
        sound:spi: remove reference to AVR32 in Atmel AT73C213 DAC driver
        net: remove cdns,at32ap7000-macb device tree entry
        misc: update maintainer email address and description for atmel-ssc
        mfd: remove reference to AVR32 architecture in atmel-smc.c
        dma:dw: remove reference to AVR32 architecture in core.c
      25e6bed5
    • Eric Farman's avatar
      s390/dasd: Establish DMA alignment · bc792884
      Eric Farman authored
      linux-next commit bf8d0853
      
       ("iomap: add support for dma aligned
      direct-io") changes the alignment requirement to come from the block
      device rather than the block size, and the default alignment
      requirement is 512-byte boundaries. Since DASD I/O has page
      alignments for IDAW/TIDAW requests, let's override this value to
      restore the expected behavior.
      
      Make this change for both ECKD and DIAG disciplines, as they both
      would fall into this category. Leave FBA alone, since it is always
      comprised of 512-byte blocks.
      
      Signed-off-by: default avatarEric Farman <farman@linux.ibm.com>
      Acked-by: default avatarHalil Pasic <pasic@linux.ibm.com>
      Reviewed-by: default avatarStefan Haberland <sth@linux.ibm.com>
      Signed-off-by: default avatarStefan Haberland <sth@linux.ibm.com>
      Link: https://lore.kernel.org/r/20220804213926.3361574-3-sth@linux.ibm.com
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      bc792884
    • Jiang Jian's avatar
      s390/dasd: drop unexpected word 'for' in comments · bcee43dc
      Jiang Jian authored
      
      
      there is an unexpected word 'for' in the comments that need to be dropped
      
      file - drivers/s390/block/dasd.c
      line - 1728
      
      	/* check for for attention message */
      
      changed to:
      
      	/* check for attention message */
      
      Signed-off-by: default avatarJiang Jian <jiangjian@cdjrlc.com>
      Link: https://lore.kernel.org/r/20220623102114.33249-1-jiangjian@cdjrlc.com
      
      
      Signed-off-by: default avatarStefan Haberland <sth@linux.ibm.com>
      Link: https://lore.kernel.org/r/20220804213926.3361574-2-sth@linux.ibm.com
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      bcee43dc
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.0-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 7447691e
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - a series fine tuning virtio support for Xen guests, including removal
         the now again unused "platform_has()" feature.
      
       - a fix for host admin triggered reboot of Xen guests
      
       - a simple spelling fix
      
      * tag 'for-linus-6.0-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen: don't require virtio with grants for non-PV guests
        kernel: remove platform_has() infrastructure
        virtio: replace restricted mem access flag with callback
        xen: Fix spelling mistake
        xen/manage: Use orderly_reboot() to reboot
      7447691e
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 7c5c3a61
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "Quite a large pull request due to a selftest API overhaul and some
        patches that had come in too late for 5.19.
      
        ARM:
      
         - Unwinder implementations for both nVHE modes (classic and
           protected), complete with an overflow stack
      
         - Rework of the sysreg access from userspace, with a complete rewrite
           of the vgic-v3 view to allign with the rest of the infrastructure
      
         - Disagregation of the vcpu flags in separate sets to better track
           their use model.
      
         - A fix for the GICv2-on-v3 selftest
      
         - A small set of cosmetic fixes
      
        RISC-V:
      
         - Track ISA extensions used by Guest using bitmap
      
         - Added system instruction emulation framework
      
         - Added CSR emulation framework
      
         - Added gfp_custom flag in struct kvm_mmu_memory_cache
      
         - Added G-stage ioremap() and iounmap() functions
      
         - Added support for Svpbmt inside Guest
      
        s390:
      
         - add an interface to provide a hypervisor dump for secure guests
      
         - improve selftests to use TAP interface
      
         - enable interpretive execution of zPCI instructions (for PCI
           passthrough)
      
         - First part of deferred teardown
      
         - CPU Topology
      
         - PV attestation
      
         - Minor fixes
      
        x86:
      
         - Permit guests to ignore single-bit ECC errors
      
         - Intel IPI virtualization
      
         - Allow getting/setting pending triple fault with
           KVM_GET/SET_VCPU_EVENTS
      
         - PEBS virtualization
      
         - Simplify PMU emulation by just using PERF_TYPE_RAW events
      
         - More accurate event reinjection on SVM (avoid retrying
           instructions)
      
         - Allow getting/setting the state of the speaker port data bit
      
         - Refuse starting the kvm-intel module if VM-Entry/VM-Exit controls
           are inconsistent
      
         - "Notify" VM exit (detect microarchitectural hangs) for Intel
      
         - Use try_cmpxchg64 instead of cmpxchg64
      
         - Ignore benign host accesses to PMU MSRs when PMU is disabled
      
         - Allow disabling KVM's "MONITOR/MWAIT are NOPs!" behavior
      
         - Allow NX huge page mitigation to be disabled on a per-vm basis
      
         - Port eager page splitting to shadow MMU as well
      
         - Enable CMCI capability by default and handle injected UCNA errors
      
         - Expose pid of vcpu threads in debugfs
      
         - x2AVIC support for AMD
      
         - cleanup PIO emulation
      
         - Fixes for LLDT/LTR emulation
      
         - Don't require refcounted "struct page" to create huge SPTEs
      
         - Miscellaneous cleanups:
            - MCE MSR emulation
            - Use separate namespaces for guest PTEs and shadow PTEs bitmasks
            - PIO emulation
            - Reorganize rmap API, mostly around rmap destruction
            - Do not workaround very old KVM bugs for L0 that runs with nesting enabled
            - new selftests API for CPUID
      
        Generic:
      
         - Fix races in gfn->pfn cache refresh; do not pin pages tracked by
           the cache
      
         - new selftests API using struct kvm_vcpu instead of a (vm, id)
           tuple"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (606 commits)
        selftests: kvm: set rax before vmcall
        selftests: KVM: Add exponent check for boolean stats
        selftests: KVM: Provide descriptive assertions in kvm_binary_stats_test
        selftests: KVM: Check stat name before other fields
        KVM: x86/mmu: remove unused variable
        RISC-V: KVM: Add support for Svpbmt inside Guest/VM
        RISC-V: KVM: Use PAGE_KERNEL_IO in kvm_riscv_gstage_ioremap()
        RISC-V: KVM: Add G-stage ioremap() and iounmap() functions
        KVM: Add gfp_custom flag in struct kvm_mmu_memory_cache
        RISC-V: KVM: Add extensible CSR emulation framework
        RISC-V: KVM: Add extensible system instruction emulation framework
        RISC-V: KVM: Factor-out instruction emulation into separate sources
        RISC-V: KVM: move preempt_disable() call in kvm_arch_vcpu_ioctl_run
        RISC-V: KVM: Make kvm_riscv_guest_timer_init a void function
        RISC-V: KVM: Fix variable spelling mistake
        RISC-V: KVM: Improve ISA extension by using a bitmap
        KVM, x86/mmu: Fix the comment around kvm_tdp_mmu_zap_leafs()
        KVM: SVM: Dump Virtual Machine Save Area (VMSA) to klog
        KVM: x86/mmu: Treat NX as a valid SPTE bit for NPT
        KVM: x86: Do not block APIC write for non ICR registers
        ...
      7c5c3a61
    • Sudip Mukherjee's avatar
      drm/amd/amdgpu: fix build failure due to implicit declaration · f0a892f5
      Sudip Mukherjee authored
      
      
      The builds for alpha and mips allmodconfig fails with the error:
      
        drivers/gpu/drm/amd/amdgpu/psp_v13_0.c:534:23: error: implicit declaration of function 'vmalloc'; did you mean 'kvmalloc'? [-Werror=implicit-function-declaration]
        drivers/gpu/drm/amd/amdgpu/psp_v13_0.c:534:21: error: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Werror=int-conversion]
        drivers/gpu/drm/amd/amdgpu/psp_v13_0.c:545:33: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
      
      Add the header file for vmalloc and vfree.
      
      Reported-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarSudip Mukherjee <sudipm.mukherjee@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f0a892f5
    • Linus Torvalds's avatar
      Merge tag 'spdx-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx · c1c76700
      Linus Torvalds authored
      Pull SPDX updates from Greg KH:
       "Here is the set of SPDX comment updates for 6.0-rc1.
      
        Nothing huge here, just a number of updated SPDX license tags and
        cleanups based on the review of a number of common patterns in GPLv2
        boilerplate text.
      
        Also included in here are a few other minor updates, two USB files,
        and one Documentation file update to get the SPDX lines correct.
      
        All of these have been in the linux-next tree for a very long time"
      
      * tag 'spdx-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx: (28 commits)
        Documentation: samsung-s3c24xx: Add blank line after SPDX directive
        x86/crypto: Remove stray comment terminator
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_406.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_398.RULE
        treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_391.RULE
        treewide: Replace GPLv2 boilerpl...
      c1c76700
    • Linus Torvalds's avatar
      Merge tag 'staging-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 723c188d
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the big set of staging driver patches for 6.0-rc1.
      
        Another round where we removed more lines of code than added, always a
        nice progression. Some of that came from the movement of the vme code
        back into staging, and removal of some other of the vme driver code as
        there are no known users and it is very obsolete and unmaintained. It
        can be added back easily if someone offers to maintain it.
      
        Other than that this merge has lots of little things:
      
         - huge cleanups for r8188eu driver
      
         - minor cleanups for other wifi drivers
      
         - tiny loop fixes for greybus code
      
         - other small coding style fixes
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (191 commits)
        staging: r8188eu: fix potential uninitialised variable use in rtw_pwrctr...
      723c188d
    • Nathan Chancellor's avatar
      usb: cdns3: Don't use priv_dev uninitialized in cdns3_gadget_ep_enable() · 78acd4ca
      Nathan Chancellor authored
      Clang warns:
      
        drivers/usb/cdns3/cdns3-gadget.c:2290:11: error: variable 'priv_dev' is uninitialized when used here [-Werror,-Wuninitialized]
                        dev_dbg(priv_dev->dev, "usbss: invalid parameters\n");
                                ^~~~~~~~
        include/linux/dev_printk.h:155:18: note: expanded from macro 'dev_dbg'
                dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
                                ^~~
        include/linux/dynamic_debug.h:167:7: note: expanded from macro 'dynamic_dev_dbg'
                                dev, fmt, ##__VA_ARGS__)
                                ^~~
        include/linux/dynamic_debug.h:152:56: note: expanded from macro '_dynamic_func_call'
                __dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
                                                                    ^~~~~~~~~~~
        include/linux/dynamic_debug.h:134:15: note: expanded from macro '__dynamic_func_call'
                        func(&id, ##__VA_ARGS__);               \
                                    ^~~~~~~~~~~
        drivers/usb/cdns3/cdns3-gadget.c:2278:31: note: initialize the variable 'priv_dev' to silence this warning
                struct cdns3_device *priv_dev;
                                            ^
                                            = NULL
        1 error generated.
      
      The priv_dev assignment was moved below the if statement to avoid
      potentially dereferencing ep before it was checked but priv_dev is used
      in the dev_dbg() call.
      
      To fix this, move the priv_dev and comp_desc assignments back to their
      original spot and hoist the ep check above those assignments with a call
      to pr_debug() instead of dev_dbg().
      
      Fixes: c3ffc9c4 ("usb: cdns3: change place of 'priv_ep' assignment in cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable()")
      Link: https://github.com/ClangBuiltLinux/linux/issues/1680
      
      
      Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      78acd4ca
    • Linus Torvalds's avatar
      Merge tag 'usb-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 9e2e5ea3
      Linus Torvalds authored
      Pull USB / Thunderbolt updates from Greg KH:
       "Here is the big set of Thunderbolt and USB changes for 6.0-rc1.
      
        Lots of little things here, nothing major, just constant development
        on some new hardware support and cleanups of older drivers. Highlights
        are:
      
         - lots of typec changes and improvements for new hardware
      
         - new gadget controller driver
      
         - thunderbolt support for new hardware
      
         - the normal set of new usb-serial device ids and cleanups
      
         - loads of dwc3 controller fixes and improvements
      
         - mtu3 driver updates
      
         - testusb fixes for longtime issues (not many people use this tool it
           seems.)
      
         - minor driver fixes and improvements over the USB tree
      
         - chromeos platform driver changes were added and then reverted as
           they depened on some typec changes, but the cross-tree merges
           caused problems so they will come back later through the platform
           tree.
      
        All of these have been in linux-next for a while now with no reported
        issues"
      
      * tag 'usb-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (193 commits)
        usb: misc: onboard_usb_hub: Remove duplicated power_on delay
        usb: misc: onboard_usb_hub: Add TI USB8041 hub support
        usb: misc: onboard_usb_hub: Add reset-gpio support
        USB: usbsevseg: convert sysfs snprintf to sysfs_emit
        dt-bindings: usb: Add binding for TI USB8041 hub controller
        ARM: multi_v7_defconfig: enable USB onboard HUB driver
        ARM: dts: stm32: add support for USB2514B onboard hub on stm32mp15xx-dkx
        usb: misc: onboard-hub: add support for Microchip USB2514B USB 2.0 hub
        dt-bindings: usb: generic-ehci: allow usb-hcd schema properties
        usb: typec: ucsi: stm32g0: add bootloader support
        usb: typec: ucsi: stm32g0: add support for stm32g0 controller
        dt-bindings: usb: typec: add bindings for stm32g0 controller
        usb: typec: ucsi: Acknowledge the GET_ERROR_STATUS command completion
        usb: cdns3: change place of 'priv_ep' assignment in cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable()
        usb/chipidea: fix repeated words in comments
        usb: renesas-xhci: Do not print any log while fw verif success
        usb: typec: retimer: Add missing id check in match callback
        USB: xhci: Fix comment typo
        usb/typec/tcpm: fix repeated words in comments
        usb/musb: fix repeated words in comments
        ...
      9e2e5ea3
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · cfeafd94
      Linus Torvalds authored
      Pull driver core / kernfs updates from Greg KH:
       "Here is the set of driver core and kernfs changes for 6.0-rc1.
      
        The "biggest" thing in here is some scalability improvements for
        kernfs for large systems. Other than that, included in here are:
      
         - arch topology and cache info changes that have been reviewed and
           discussed a lot.
      
         - potential error path cleanup fixes
      
         - deferred driver probe cleanups
      
         - firmware loader cleanups and tweaks
      
         - documentation updates
      
         - other small things
      
        All of these have been in the linux-next tree for a while with no
        reported problems"
      
      * tag 'driver-core-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (63 commits)
        docs: embargoed-hardware-issues: fix invalid AMD contact email
        firmware_loader: Replace kmap() with kmap_local_page()
        sysfs docs: ABI: Fix typo in comment
        kobject: fix Kconfig.debug "its" grammar
        kernfs: Fix typo 'the the' in comment
        docs: driver-api: firmware: add driver firmware guidelines. (v3)
        arch_topology: Fix cache attributes detection in the CPU hotplug path
        ACPI: PPTT: Leave the table mapped for the runtime usage
        cacheinfo: Use atomic allocation for percpu cache attributes
        drivers/base: fix userspace break from using bin_attributes for cpumap and cpulist
        MAINTAINERS: Change mentions of mpm to olivia
        docs: ABI: sysfs-devices-soc: Update Lee Jones' email address
        docs: ABI: sysfs-class-pwm: Update Lee Jones' email address
        Documentation/process: Add embargoed HW contact for LLVM
        Revert "kernfs: Change kernfs_notify_list to llist."
        ACPI: Remove the unused find_acpi_cpu_cache_topology()
        arch_topology: Warn that topology for nested clusters is not supported
        arch_topology: Add support for parsing sockets in /cpu-map
        arch_topology: Set cluster identifier in each core/thread from /cpu-map
        arch_topology: Limit span of cpu_clustergroup_mask()
        ...
      cfeafd94
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 228dfe98
      Linus Torvalds authored
      Pull char / misc driver updates from Greg KH:
       "Here is the large set of char and misc and other driver subsystem
        changes for 6.0-rc1.
      
        Highlights include:
      
         - large set of IIO driver updates, additions, and cleanups
      
         - new habanalabs device support added (loads of register maps much
           like GPUs have)
      
         - soundwire driver updates
      
         - phy driver updates
      
         - slimbus driver updates
      
         - tiny virt driver fixes and updates
      
         - misc driver fixes and updates
      
         - interconnect driver updates
      
         - hwtracing driver updates
      
         - fpga driver updates
      
         - extcon driver updates
      
         - firmware driver updates
      
         - counter driver update
      
         - mhi driver fixes and updates
      
         - binder driver fixes and updates
      
         - speakup driver fixes
      
        All of these have been in linux-next for a while without any reported
        problems"
      
      * tag 'char-misc-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/ch...
      228dfe98
    • Dave Airlie's avatar
      drm/amd/display: restore code for plane with no modifiers · 798cd57c
      Dave Airlie authored
      When this file was split in commit 5d945cbc ("drm/amd/display:
      Create a file dedicated to planes") this chunk seemed to get dropped.
      
      Linus noticed on this rx580 and I've reproduced on FIJI which makes
      sense as these are pre-modifier GPUs.
      
      With this applied, I get gdm back.
      
      Fixes: 5d945cbc
      
       ("drm/amd/display: Create a file dedicated to planes")
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      Reported-and-tested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      798cd57c
    • Bjorn Helgaas's avatar
      Merge branch 'pci/header-cleanup-immutable' · c4f36c3a
      Bjorn Helgaas authored
      - Remove pci_get_legacy_ide_irq(); use ATA_PRIMARY_IRQ() and
        ATA_SECONDARY_IRQ() instead (Stafford Horne)
      
      - Remove isa_dma_bridge_buggy, except for x86_32, the only place it's used
        (Stafford Horne)
      
      - Define ARCH_GENERIC_PCI_MMAP_RESOURCE for csky (Stafford Horne)
      
      - Move common PCI definitions that arches sometimes override to
        asm-generic/pci.h (Stafford Horne)
      
      - Include <linux/isa-dma.h> for 'isa_dma_bridge_buggy' when needed
        (bisection hole here) (Randy Dunlap)
      
      * pci/header-cleanup-immutable:
        PCI: Stub __pci_ioport_map() for arches that don't support it at all
        x86/cyrix: include header linux/isa-dma.h
        asm-generic: Add new pci.h and use it
        csky: PCI: Define ARCH_GENERIC_PCI_MMAP_RESOURCE
        PCI: Move isa_dma_bridge_buggy out of asm/dma.h
        PCI: Remove pci_get_legacy_ide_irq() and asm-generic/pci.h
      c4f36c3a
    • Bjorn Helgaas's avatar
      Merge branch 'pci/misc' · 805f91bc
      Bjorn Helgaas authored
      - Drop of_match_ptr() to avoid unused variables when CONFIG_OF is unset
        (Bjorn Helgaas)
      
      - Fix ARM pci_remap_iospace() when CONFIG_MMU unset to avoid build errors
        (Pali Rohár)
      
      * pci/misc:
        PCI/ACPI: Update link to PCI firmware specification
        PCI: Drop of_match_ptr() to avoid unused variables
      805f91bc
    • Bjorn Helgaas's avatar
      Merge branch 'pci/ctrl/pm-ops' · ed89d69a
      Bjorn Helgaas authored
      - Convert to new *_PM_OPS macros to avoid need for "#ifdef CONFIG_PM_SLEEP"
        or "__maybe_unused" (Bjorn Helgaas)
      
      * pci/ctrl/pm-ops:
        PCI: Convert to new *_PM_OPS macros
      ed89d69a
    • Bjorn Helgaas's avatar
      Merge branch 'pci/ctrl/xilinx-cpm' · 56ebef0a
      Bjorn Helgaas authored
      - Add DT binding and driver support for Versal CPM5 Gen5 Root Port (Bharat
        Kumar Gogada)
      
      * pci/ctrl/xilinx-cpm:
        MAINTAINERS: Add Xilinx Versal CPM Root Port maintainers
        PCI: xilinx-cpm: Add support for Versal CPM5 Root Port
        dt-bindings: PCI: xilinx-cpm: Add Versal CPM5 Root Port
      56ebef0a
    • Bjorn Helgaas's avatar
      Merge branch 'pci/ctrl/vmd' · a91c6db7
      Bjorn Helgaas authored
      - Use devm_kasprintf() instead of simple kasprintf() (Subramanian Mohan)
      
      - Add [8086:7D0B] and [8086:AD0B] devices to VMD driver (Francisco Munoz)
      
      * pci/ctrl/vmd:
        PCI: vmd: Add DID 8086:7D0B and 8086:AD0B for Intel MTL SKUs
        PCI: vmd: Use devm_kasprintf() instead of simple kasprintf()
      a91c6db7
    • Bjorn Helgaas's avatar
      Merge branch 'pci/ctrl/tegra194' · 64451ac8
      Bjorn Helgaas authored
      - Fix tegra_pcie_config_ep() power management in error path (Miaoqian Lin)
      
      - Convert DT binding to json-schema (Vidya Sagar)
      
      - Add DT bindings and driver support for Tegra234 Root Port and Endpoint
        mode (Vidya Sagar)
      
      - Disable MSI for Tegra234 Root Ports so they use INTx for all events (PCIe
        doesn't allow mixing INTx and MSI/MSI-X) (Vidya Sagar)
      
      - Search for Vendor-Specific RAS-DEC capability instead of hard-coding
        offset (Vidya Sagar)
      
      - Fix unintentional APPL_INTR_STATUS_L0 value overwrite in Root Port
        interrupt handling (Vidya Sagar)
      
      - Clear Bandwidth Management interrupt status bit to avoid interrupt storm
        (Vidya Sagar)
      
      - Set default Max Payload Size to 256 bytes (Vidya Sagar)
      
      - Fix offset when clearing bit in Data Link Feature capability (Vidya
        Sagar)
      
      - Extend Endpoint mode support to devices beyond Controller-5 (Vidya Sagar)
      
      * pci/ctrl/tegra194:
        PCI: tegra194: Add Tegra234 PCIe support
        PCI: tegra194: Extend Endpoint mode support
        PCI: tegra194: Fix link up retry sequence
        PCI: tegra194: Clean up the exit path for Endpoint mode
        PCI: tegra194: Enable support for 256 Byte payload
        PCI: tegra194: Clear bandwidth management status
        PCI: tegra194: Fix Root Port interrupt handling
        PCI: tegra194: Find RAS DES PCIe capability offset
        Revert "PCI: tegra194: Rename tegra_pcie_dw to tegra194_pcie"
        PCI: Disable MSI for Tegra234 Root Ports
        dt-bindings: PCI: tegra234: Add schema for tegra234 Endpoint mode
        dt-bindings: PCI: tegra234: Add schema for tegra234 Root Port mode
        dt-bindings: PCI: tegra194: Convert to json-schema
        PCI: tegra194: Fix PM error handling in tegra_pcie_config_ep()
      
      # Conflicts:
      #	drivers/pci/controller/dwc/pcie-designware.h
      #	drivers/pci/controller/dwc/pcie-tegra194.c
      64451ac8
    • Bjorn Helgaas's avatar
      Merge branch 'pci/ctrl/switchtec' · 085c2d67
      Bjorn Helgaas authored
      - Prefer ida_alloc()/free() over ida_simple_get()/remove() (Ke Liu)
      
      * pci/ctrl/switchtec:
        PCI: switchtec: Prefer ida_alloc()/free() over ida_simple_get()/remove()
      085c2d67