Commit graph

1122266 commits

Author SHA1 Message Date
Matthew Wilcox (Oracle)
4fdc08d418 block: Convert read_part_sector() to use a folio
This relatively straightforward converion saves a call to compound_head()
hidden inside put_page().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2022-08-02 12:34:03 -04:00
Matthew Wilcox (Oracle)
069fc464f1 block: Use PAGE_SECTORS_SHIFT
The bare use of '9' confuses some people.  We also don't need this cast,
since the compiler does exactly that cast for us.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2022-08-02 12:34:03 -04:00
Matthew Wilcox (Oracle)
98d8ba69ff block: Handle partition read errors more consistently
Set p->v to NULL if we try to read beyond the end of the disk, just like
we do if we get an error returned from trying to read the disk.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2022-08-02 12:34:03 -04:00
Matthew Wilcox (Oracle)
8b5d143c95 block: Simplify read_part_sector()
That rather complicated expression is just trying to find the offset
of this sector within a page, and there are easier ways to express that.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2022-08-02 12:34:03 -04:00
Matthew Wilcox (Oracle)
cf948cbc35 cramfs: read_mapping_page() is synchronous
Since commit 67f9fd91f9, the code to wait for the read to complete has
been dead.  That commit wrongly stated that the read was synchronous
already; this seems to have been a confusion about which ->readpage
operation was being called.  Instead of reintroducing an asynchronous
version of read_mapping_page(), call the readahead code directly to
submit all reads first before waiting for them in read_mapping_page().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2022-08-02 12:34:02 -04:00
Matthew Wilcox (Oracle)
97a3a383c4 ocfs2: Use filemap_write_and_wait_range() in ocfs2_cow_sync_writeback()
Remove the open-coding of filemap_fdatawait_range().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2022-08-02 12:34:02 -04:00
Matthew Wilcox (Oracle)
e775dfb33d hostfs: Handle page write errors correctly
If a page can't be written back, we need to call mapping_set_error(),
not clear the page's Uptodate flag.  Also remove the clearing of PageError
on success; that flag is used for read errors, not write errors.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2022-08-02 12:34:02 -04:00
Matthew Wilcox (Oracle)
31e748e4b1 squashfs: Return the actual error from squashfs_read_folio()
Since we actually know what error happened, we can report it instead
of having the generic code return -EIO for pages that were unlocked
without being marked uptodate.  Also remove a test of PageError since
we have the return value at this point.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2022-08-02 12:34:02 -04:00
Matthew Wilcox (Oracle)
b7a6eb22ba buffer: Don't test folio error in block_read_full_folio()
We can cache this information in a local variable instead of communicating
from one part of the function to another via folio flags.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
2022-08-02 12:34:02 -04:00
Linus Torvalds
7d0d3fa733 ARM: boardfile deprecation for 6.0
Over the past ten years, new machine support was based on device tree,
 and an initial set of about 400 boards using ATAGS with boardfile
 for booting were grandfathered in, with about half of them either
 removed or converted to DT over time.
 
 Based on the recent mailing list discussion I started, I have now
 turned the findings into a set of patches that marks most board files as
 'depends on UNUSED_BOARD_FILES', leaving only 38 of the 196 boards.
 
 For the boards that are marked as unused, there are two final chances
 for potential users: The removal is scheduled to take place after the
 longterm stable kernel at the end of 2022, so users can stay on that
 version for another few years, and if anyone still has one of these
 machines and is planning to keep updating kernels beyond that version,
 they can speak up now to have their boards taken off the list again.
 
 Waiting for the LTS release also makes sure that there will be at
 least one longterm kernel that contains the recent multiplatform
 conversion along while still supporting all legacy boards.
 
 The short summary of the current status is:
 
  - The s3c24xx, cns3xxx, iop32x and mv78xx0 platforms have no known
    users and will be removed entirely.
 
  - The mmp and davinci platforms have DT support for the important
    machines and will become DT-only after this.
 
  - s3c64xx, dove, orion5x, and pxa keep some board files to allow
    those to be migrated over to DT more easily, but most board files
    are getting removed now. DT support on these platforms is partially
    working but requires changes to additional drivers for the other
    boards.
 
  - omap1, ep93xx, sa1100, footbridge and rpc have no DT support at
    the moment but have some boards with known users. Removing the board
    files that nobody uses should make it easier to try a DT conversion
    if anyone cares.
 
 There is no explicit timeline what happens with the boards that remain
 after this removal, but I expect to revisit this in the future, and
 with most boards gone, there will be a good time to do a treewide
 review of platform drivers that never gained DT support and have no
 remaining in-tree board files.
 
 Link: https://lore.kernel.org/linux-arm-kernel/CAK8P3a0Z9vGEQbVRBo84bSyPFM-LF+hs5w8ZA51g2Z+NsdtDQA@mail.gmail.com/
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLo+30ACgkQmmx57+YA
 GNnibw//anM6PmfEX9Oeh2sJb7B7scUOMYrhUiw7e//pJ3kD68thviWwkMC0O8x6
 05bjFscnCo+AXuZ6TKChFHDrZxJXdJzEpFmGaKVu9LAZjVBGjWaXVeI5xiTGn01b
 Og9tqPsRqHFfeo3MzrubVUmOv/lbceXoqrep7i+MHfYvmAMWwfGg54JChmABvYSZ
 6si4NNLj1U+Eav0uj9Ge2ucBfzN6z1nJeo6I68GXTuAjZcrtlgAEcgTK0X6yMnTF
 Sv3TzX/B3QG7t0Jib+PSYrDDVxqMJM+e+m8d/qyHFW5am/9ML/fSn2OyPYigfs1+
 0/dgh0+Qu6GG+Xjr+wx5DY7EE/uM9AqvdJiKhGWPfGv++K5H2r/wMeIvbmXlzlrr
 JRWpKXUHCPdcGKyouJlDOiT3XfBU7X1gfMUK6Os/WYLxLgPo+9+syQtJBMA2PtnJ
 USlS31vLJbitInDgj9DWtXagBvDvzaUdW9NBwHtE2I3FqsvSZXCqvTpNgkmX7a1v
 qYJuoMHeppFP6Ylq4Lcu+5DHR9rDfG4z35BC7KWC/7EIkzOapqtYjuzwZg5N5HM2
 NOm7gLigOmQl4Jue+2ziUGllo6knPNZdcnRZXUWt+pF77smQS+BSGXAm4xjuwn6B
 lPD8CQUN83QZdZtVkkvrC9rDGp3ZJCkII9XzvSBf/Cl+C+6ejqY=
 =wd/l
 -----END PGP SIGNATURE-----

Merge tag 'arm-boardfiles-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM boardfile deprecation from Arnd Bergmann:
 "Over the past ten years, new machine support was based on device tree,
  and an initial set of about 400 boards using ATAGS with boardfile for
  booting were grandfathered in, with about half of them either removed
  or converted to DT over time.

  Based on the recent mailing list discussion I started, I have now
  turned the findings into a set of patches that marks most board files
  as 'depends on UNUSED_BOARD_FILES', leaving only 38 of the 196 boards.

  For the boards that are marked as unused, there are two final chances
  for potential users: The removal is scheduled to take place after the
  longterm stable kernel at the end of 2022, so users can stay on that
  version for another few years, and if anyone still has one of these
  machines and is planning to keep updating kernels beyond that version,
  they can speak up now to have their boards taken off the list again.

  Waiting for the LTS release also makes sure that there will be at
  least one longterm kernel that contains the recent multiplatform
  conversion along while still supporting all legacy boards.

  The short summary of the current status is:

   - The s3c24xx, cns3xxx, iop32x and mv78xx0 platforms have no known
     users and will be removed entirely.

   - The mmp and davinci platforms have DT support for the important
     machines and will become DT-only after this.

   - s3c64xx, dove, orion5x, and pxa keep some board files to allow
     those to be migrated over to DT more easily, but most board files
     are getting removed now. DT support on these platforms is partially
     working but requires changes to additional drivers for the other
     boards.

   - omap1, ep93xx, sa1100, footbridge and rpc have no DT support at the
     moment but have some boards with known users. Removing the board
     files that nobody uses should make it easier to try a DT conversion
     if anyone cares.

  There is no explicit timeline what happens with the boards that remain
  after this removal, but I expect to revisit this in the future, and
  with most boards gone, there will be a good time to do a treewide
  review of platform drivers that never gained DT support and have no
  remaining in-tree board files"

Link: https://lore.kernel.org/linux-arm-kernel/CAK8P3a0Z9vGEQbVRBo84bSyPFM-LF+hs5w8ZA51g2Z+NsdtDQA@mail.gmail.com/

* tag 'arm-boardfiles-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  ARM: cns3xxx: add CONFIG_UNUSED_BOARD_FILES dependency
  ARM: iop32x: mark as unused
  ARM: s3c: mark most board files as unused
  ARM: omap1: add Kconfig dependencies for unused boards
  ARM: sa1100: mark most boards as unused
  ARM: footbridge: mark cats board for removal
  ARM: mmp: mark all board files for removal
  ARM: ep93xx: mark most board files as unused
  ARM: davinci: mark all ATAGS board files as unused
  ARM: orion: add ATAGS dependencies
  ARM: pxa: add Kconfig dependencies for ATAGS based boards
  ARM: add CONFIG_UNUSED_BOARD_FILES
  ARM: add ATAGS dependencies to non-DT platforms
2022-08-02 08:35:17 -07:00
Linus Torvalds
dd65b96492 ARM: new SoC support for 6.0
This adds initial support for two SoC families that have been under
 review for a while. In both cases, the origonal idea was to have a
 minimally functional version, but we ended up leaving out the clk drivers
 that are still under review and will be merged through the corresponding
 subsystem tree.
 
 The Nuvoton NPCM8xx is a 64-bit Baseboard Management Controller and
 based on the 32-bit NPCM7xx family but is now getting added to
 arch/arm64 as well.
 
 Sunplus SP7021, also known as Plus1, is a general-purpose
 System-in-Package design based on the 32-bit Cortex-A7 SoC
 on the main chip, plus an I/O chip and memory in the same
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLo+24ACgkQmmx57+YA
 GNkPVw//XAC/uK7WR4oz1D1YaPPNhEvFa6hV1gjGB7Iif72SzyDJmC+36MATU/AY
 neQjCOLJMhxI0hpDGY9nLYe+aP1C6vD32zsjffjt/+s9em+YZZCUkRJuQ5xO3fID
 Uk8ZAnCIcOqX9sjXr9ChW8irlcWFbKzhgWXnPqwQmycIaE7QVz1wx32dbc64YuAK
 S+290U8wbj8bukr33TyZPMdYlfqNU3c1W+dCaeVsQlX1juoHEV3stmIjslRefd6X
 Jre22YJE41VlPufZej76nHXuVnjKf54Oi347TcbPOWNDtEAIESt3mzKy+zICBT2p
 v01rNBf0SogyOtSbWDPTFCAH9W9hujSOJIUOWpbOLaPdfElXxcoTBwj2e2LMoW0k
 ke7YR1m6FKDam5GFU9Oe98CWIiVm/GnTA5mnhhETU1QTXQ3KeZ+Z8X779YuSWPv9
 kJuOPRSk9NdcfRtxZz1vpCvhv/2hBbeBuz+GZi3bisMWdvVqS3lFqVbr6kziQbJZ
 kE6KJH48FdL0VLVvuy+aNSF2umLT42b+5+cmQFuP2zePQgo1DEMKEtFXpZjQJbha
 3iu3sHnieOFMLcbNzbqSz2im3yYNBjl1M5qoGEXaw3Rkzqiht0kMNvAa4LmAejbh
 E+5BIczwWNbaUKgToV1ij65O4a78Bw98m2SIS7awEZC5MW/nXYA=
 =7Id+
 -----END PGP SIGNATURE-----

Merge tag 'arm-newsoc-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM new SoC support from Arnd Bergmann:
 "This adds initial support for two SoC families that have been under
  review for a while. In both cases, the origonal idea was to have a
  minimally functional version, but we ended up leaving out the clk
  drivers that are still under review and will be merged through the
  corresponding subsystem tree.

  The Nuvoton NPCM8xx is a 64-bit Baseboard Management Controller and
  based on the 32-bit NPCM7xx family but is now getting added to
  arch/arm64 as well.

  Sunplus SP7021, also known as Plus1, is a general-purpose
  System-in-Package design based on the 32-bit Cortex-A7 SoC on the main
  chip, plus an I/O chip and memory in the same"

* tag 'arm-newsoc-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (25 commits)
  MAINTAINERS: rectify entry for ARM/NUVOTON NPCM ARCHITECTURE
  arm64: defconfig: Add Nuvoton NPCM family support
  arm64: dts: nuvoton: Add initial NPCM845 EVB device tree
  arm64: dts: nuvoton: Add initial NPCM8XX device tree
  arm64: npcm: Add support for Nuvoton NPCM8XX BMC SoC
  dt-bindings: arm: npcm: Add nuvoton,npcm845 GCR compatible string
  dt-bindings: arm: npcm: Add nuvoton,npcm845 compatible string
  dt-bindings: arm: npcm: Add maintainer
  reset: npcm: Add NPCM8XX support
  dt-bindings: reset: npcm: Add support for NPCM8XX
  reset: npcm: using syscon instead of device data
  ARM: dts: nuvoton: add reset syscon property
  dt-bindings: reset: npcm: add GCR syscon property
  dt-binding: clk: npcm845: Add binding for Nuvoton NPCM8XX Clock
  dt-bindings: watchdog: npcm: Add npcm845 compatible string
  dt-bindings: timer: npcm: Add npcm845 compatible string
  ARM: dts: Add Sunplus SP7021-Demo-V3 board device tree
  ARM: sp7021_defconfig: Add Sunplus SP7021 defconfig
  ARM: sunplus: Add initial support for Sunplus SP7021 SoC
  irqchip: Add Sunplus SP7021 interrupt controller driver
  ...
2022-08-02 08:29:18 -07:00
Linus Torvalds
3a829d267e ARM: SoC defconfig updates for 6.0
This branch includes the usual updates to defconfig files, enabling
 additional driver support for the supported platforms.
 
 There is also a global refresh for all of them that reorders the
 lines according to the 'savedefconfig' output, but without removing
 lines that are no longer part of the refresh.
 
 I went through the most common removed lines to also address them
 while making sure to catch renamed options and add them back
 under the new name.
 
 The boardfile deprecation branch is based on top of this to avoid
 conflicts against removing the unused boardfile configs from the
 generic defconfig files.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLo+14ACgkQmmx57+YA
 GNnFGw/+Ml2Jich+21ZIcgcAHjrMXq89lCoRa+3clGcxjDl97ZshNumqmRlgXqhM
 SlcqoA8gxFzx6SAFkCgxmi2m3+Cf8041VglM9YG9zcQnKxvcaRmAnLJ6X8ruwrRy
 OLHimRi187Wp33c4Y4On0s51g+F+cDHAJA9zmAoGISqPCluTkh/QeD9LXWSfBvFI
 6203Hpbge69WzOL520zW7DBaLIRNL8qxSL3Pau6VUwHm2I2GvJ1WHE1S5kQwrd1a
 LKERfZswaBQtV3RJFRPigEqXzdzWAnD6XBLe1idGzaU52YAY6pxqQHTzOeVxlEPP
 m+w4jN6wEGK+iu8f0hjEnfr2qtM1Qx45UCvmg+tyY7WIwMWN304WDi+vgCpXPUWp
 W+IZNk6KPY9Bd3OauFtsiHHz9xXALidJRJT2JojnKDnQKK9J/iTpnBU2fPbpDNiC
 XOWcbm6e2R7U34LZZE2ursVqPk1iklXfb49/A+nl2x4MkxeX2va1QgyqJf6T6I9y
 1avFY4V62lWvrEEMyKu+d7lpRKs3gj0Ky8W/R6+zLlnh4R2r9R+/BJAWi1MiP7qU
 ZpqWPc7m6cJcUC8Jgf2k+sDG8FNUWn0o6LNbCgv1m5GEYzzr1K9b3+KKV5JB1A9C
 Hjz9NMRXEOHm+QNvmbgXpCZjx9ga3Av+XAKN4pZ7JG9gc8fnrp0=
 =2GbW
 -----END PGP SIGNATURE-----

Merge tag 'arm-defconfig-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM SoC defconfig updates from Arnd Bergmann:
 "This branch includes the usual updates to defconfig files, enabling
  additional driver support for the supported platforms.

  There is also a global refresh for all of them that reorders the lines
  according to the 'savedefconfig' output, but without removing lines
  that are no longer part of the refresh.

  I went through the most common removed lines to also address them
  while making sure to catch renamed options and add them back under the
  new name.

  The boardfile deprecation branch is based on top of this to avoid
  conflicts against removing the unused boardfile configs from the
  generic defconfig files"

* tag 'arm-defconfig-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
  arm64: defconfig: Sync some configs with savedefconfig
  arm64: refresh defconfig file
  ARM: defconfig: kill remnants of CONFIG_LEDS
  ARM: defconfig: remove broken CONFIG_THUMB disables
  ARM: defconfig: address renamed CONFIG_DEBUG_INFO=y
  ARM: defconfig: remove stale CONFIG_ZBOOT_ROM entries
  ARM: defconfig: remove irda remnants
  ARM: refresh defconfig files
  arm64: defconfig: Demote Qualcomm USB PHYs to modules
  arm64: defconfig: Enable Qualcomm SC8280XP providers
  ARM: multi_v7_defconfig: Update configs for BCM63138
  arm64: defconfig: enable Qualcomm Bandwidth Monitor
  arm64: defconfig: Enable Allwinner built in CODECs
  arm64: defconfig: Enable qcom interconnect drivers
  arm64: defconfig: Enable qcom ss & hs usb phy
  arm64: defconfig: enable Qualcomm LPG leds driver
  arm64: defconfig: Enable gpio-fan support
  arm64: defconfig: Enable DRM_V3D
  ARM: configs: Enable DRM_V3D
  arm64: defconfig: Enable R8A779G0 SoC
  ...
2022-08-02 08:21:58 -07:00
Linus Torvalds
3976d758e0 ARM: DT changes for 6.0
As usual, the bulk of the changes for the SoC tree are devicetree file
 updates, and most of these changes are for 64-bit embedded machines.
 As before, there are a ton of style cleanups, and additional hardware
 support for existing machines.
 
 Looking only at the new SoC, the notable additions are:
 
  - A whole family of Broadcom broadband SoCs, both 32-bit and 64-bit:
    BCM63178, BCM63158, BCM4912, BCM6858, BCM6878, BCM6846, BCM63146,
    BCM6856, BCM6855, BCM6756, BCM63148, and BCM6813.
    Each SoC comes with a corresponding reference board.
 
  - The new NXP i.MX93 SoC, the follow-up to the popular i.MX6 and
    i.MX8 embedded SoCs, now using Cortex-A55 cores and the
    Ethos-U65 NPU.
 
  - Qualcomm Snapdragon 8cx Gen3 (SC8280XP), the current high end
    of Arm based Laptop SoCs, and its automotive cousin, the
    SA8540P. The SC8280XP is used in the Lenovo Thinkpad X13s
    laptop that also gets added here in addition to the reference
    boards.
 
  - Allwinner H616, a newer version of the H6 SoC, targeted at
    Set-top-box applications. It comes with dts files for the
    Orange Pi zero2 single-board computer and the X96 Mate
    set-top-box
 
  - Marvell Prestera 98DX2530 (AlleyCat5), a network switch chip
    in the Armada SoC family based on the Cortex-A55 core.
 
 New machines based on previously supported SoCs include:
 
  - Several new machines on NXP i.MX platforms: multiple Toradex
    Colibri boards using the "Iris" and "Ixora" carriers,
    DH electronics i.MX8M Plus DHCOM and PDK2, TQ-Systems
    TQMa8MPQL, and phytech phyBOARD-Polis-i.MX8MM.
 
  - Google Chameleon v3 FPGA board based on Intel Arria10 and
    Stratix 10 Software Virtual platform, both in the SoCFPGA
    platform.
 
  - Two new wireless devices based on Broadcom SoCs:
    The Asus GT-AX6000 Router and the Cisco Meraki MR26 access point
 
  - Improved Chromebook support for both the Mediatek and Qualcomm
    SoC families brought added machines: Acer Chromebook 514 (MT8192),
    Acer Chromebook Spin 513 (MT8195) and a couple of SC7180 based
    machines including the Lenovo IdeaPad Chromebook Duet 3.
 
  - Xiaomi Mi Mix2s, LG G7 and LG V35 are mobile phones based on
    Qualcomm SDM845, while Mi 5s Plus is based on MSM8996.
 
  - Finally, there are a few development board on other chips:
    PCB8309 (Microchip lan966x), Radxa Rock Pi S (Rockchips RK3308)
    DH DRC Compact (ST STM32MP1) and Inforce IFC6560 (Qualcomm
    SDM660)
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLo+7MACgkQmmx57+YA
 GNlTQQ//QnOoW3fl2l4TvuBuP1Vxp7KW3GxZEkWBEfy7lfgkfBzksJ2GT+c96fxk
 +XEvSJcDsSo8zNYXXu/q0jjVKW4lEkiBtaB53NbLayNTFtJccKPiL4hccUkwSg1K
 zOhfu6SEgkwuYNAhtcQOfIec+gdF2PvpZSWUfuGvM2Z3rNhhyfhgoRRZCpc62eeS
 VQ+bVJH/7hG4XAJEcwmNK+8GoCcLbOclCa14oa9/LuEVjfYwOblfPjSflmfALzbM
 BoTDdeMbZoOdy3LOmLpT26Wv7zWQxLhTpiSYiSV0CI4NHUfzJj8ncNh+w9OiN+KO
 Z7cblHhveW5WSEP/jDp9YTf2XXA5UgpFQQjuXS8zQVECw5YxrSBB96GroQhvpcmT
 oSS0BVvlmp5snBRx4Oev2ldJ0BuyYYljF0DmmTrQ6s2gvB4WBlRSqplCAkDy59Im
 +mc5BBTqZYoxzCpzXEZR7VPzk1jzAO5wnYYd1mLJSHVExlSw8CQijy1a4YXxsvmK
 4Sysrm8UbmPN/0anbiyPKeIkuNuufFUvUCR3Vm2HnMzNPza8YBJ0xm6zr8J7ecXe
 QcucpXyLi17GTLOm+pcyj2fQ19yVqO3xbutP4sy9StctEXLZe3rH2hY+GPK6N+Uj
 83MbABMCmpUAyPMzR0AwTKx/RwWbf1jjYvcKg2VW8NNV5kkQQzM=
 =X6mA
 -----END PGP SIGNATURE-----

Merge tag 'arm-dt-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM DT updates from Arnd Bergmann:
 "As usual, the bulk of the changes for the SoC tree are devicetree file
  updates, and most of these changes are for 64-bit embedded machines.
  As before, there are a ton of style cleanups, and additional hardware
  support for existing machines.

  Looking only at the new SoC, the notable additions are:

   - A whole family of Broadcom broadband SoCs, both 32-bit and 64-bit:
     BCM63178, BCM63158, BCM4912, BCM6858, BCM6878, BCM6846, BCM63146,
     BCM6856, BCM6855, BCM6756, BCM63148, and BCM6813. Each SoC comes
     with a corresponding reference board.

   - The new NXP i.MX93 SoC, the follow-up to the popular i.MX6 and
     i.MX8 embedded SoCs, now using Cortex-A55 cores and the Ethos-U65
     NPU.

   - Qualcomm Snapdragon 8cx Gen3 (SC8280XP), the current high end of
     Arm based Laptop SoCs, and its automotive cousin, the SA8540P. The
     SC8280XP is used in the Lenovo Thinkpad X13s laptop that also gets
     added here in addition to the reference boards.

   - Allwinner H616, a newer version of the H6 SoC, targeted at
     Set-top-box applications. It comes with dts files for the Orange Pi
     zero2 single-board computer and the X96 Mate set-top-box

   - Marvell Prestera 98DX2530 (AlleyCat5), a network switch chip in the
     Armada SoC family based on the Cortex-A55 core.

  New machines based on previously supported SoCs include:

   - Several new machines on NXP i.MX platforms: multiple Toradex
     Colibri boards using the "Iris" and "Ixora" carriers, DH
     electronics i.MX8M Plus DHCOM and PDK2, TQ-Systems TQMa8MPQL, and
     phytech phyBOARD-Polis-i.MX8MM.

   - Google Chameleon v3 FPGA board based on Intel Arria10 and Stratix
     10 Software Virtual platform, both in the SoCFPGA platform.

   - Two new wireless devices based on Broadcom SoCs: The Asus GT-AX6000
     Router and the Cisco Meraki MR26 access point

   - Improved Chromebook support for both the Mediatek and Qualcomm SoC
     families brought added machines: Acer Chromebook 514 (MT8192), Acer
     Chromebook Spin 513 (MT8195) and a couple of SC7180 based machines
     including the Lenovo IdeaPad Chromebook Duet 3.

   - Xiaomi Mi Mix2s, LG G7 and LG V35 are mobile phones based on
     Qualcomm SDM845, while Mi 5s Plus is based on MSM8996.

   - Finally, there are a few development board on other chips: PCB8309
     (Microchip lan966x), Radxa Rock Pi S (Rockchips RK3308) DH DRC
     Compact (ST STM32MP1) and Inforce IFC6560 (Qualcomm SDM660)"

* tag 'arm-dt-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (829 commits)
  dt-bindings: soc: bcm: use absolute path to other schema
  dt-bindings: soc: bcm: drop quotes when not needed
  dt-bindings: soc: microchip: use absolute path to other schema
  dt-bindings: soc: microchip: drop quotes when not needed
  ARM: dts: lan966x: keep lan966 entries alphabetically sorted
  ARM: dts: lan966x: add support for pcb8309
  dt-bindings: arm: at91: add lan966 pcb8309 board
  ARM: dts: lan966x: Enable network driver on pcb8291
  ARM: dts: lan966x: Disable can0 on pcb8291
  ARM: dts: lan966x: Add gpio-restart
  dt-bindings: arm: aspeed: add Aspeed Evaluation boards
  arm64: dts: qcom: Add support for Xiaomi Mi Mix2s
  dt-bindings: arm: qcom: Add Xiaomi Mi Mix2s bindings
  dt-bindings: arm: qcom: Document lg,judyln and lg,judyp devices
  dt-bindings: arm: qcom: add missing SM6350 board compatibles
  dt-bindings: arm: qcom: add missing SM6125 board compatibles
  dt-bindings: arm: qcom: add missing SDM845 board compatibles
  dt-bindings: arm: qcom: add missing SDM636 board compatibles
  dt-bindings: arm: qcom: add missing SDM630 board compatibles
  dt-bindings: arm: qcom: add missing QCS404 board compatibles
  ...
2022-08-02 08:15:25 -07:00
Linus Torvalds
47b62edcd4 ARM: SoC drivers for 6.0
The SoC driver updates contain changes to improve support for
 additional SoC variants, as well as cleanups an minor bugfixes
 in a number of existing drivers.
 
 Notable updates this time include:
 
  - Support for Qualcomm MSM8909 (Snapdragon 210) in various drivers
 
  - Updates for interconnect drivers on Qualcomm Snapdragon
 
  - A new driver support for NMI interrupts on Fujitsu A64fx
 
  - A rework of Broadcom BCMBCA Kconfig dependencies
 
  - Improved support for BCM2711 (Raspberry Pi 4) power management
    to allow the use of the V3D GPU
 
  - Cleanups to the NXP guts driver
 
  - Arm SCMI firmware driver updates to add tracing support, and
    use the firmware interfaces for system power control and for
    power capping.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLo+0UACgkQmmx57+YA
 GNkkFw//eyeMxsJ/pqp0HeXTX7s2p0+39IQiak0hjFNe3XN12PIMRAHHtutKlt7F
 K0fKksokY9p+o1M86/5D4l7v7S6DcHQk2MdUD5AeMu/If7cfL0TI2mdIAVnoad4o
 p54ABR0q2Tr/Dr/2GK8kZPTnXkPPLd951mgCG/jwrlPgG3KjTgjhEWg86+F2s/B/
 P8ryYakCYfsxPJGnZqyw63JuVet9Tnv87jySxabukNfSRR8RbJ+OVKXxaBBmvYkA
 +UuDEkcuPtlrEyUoNe+WtM07BdxP6tl/jRwZ4EenQtFDSLCQnapgHK3bVRbLs/WL
 naKJZgI7OOwU8fjRi90/zYoPBW6UQ9OoxcmshNwgFM5yBLJtVgGM+Fp8XNfPIvm0
 BYvE7jf8cEtFDAOYWuB8jCdvBen8qzt5eeUpV+uOjHDxiWwfif15yUDxCE3GB7Ov
 vSPRpuTec/6Ry5hIbqcsrTcZRihnJbAJqDOHdlSVX3M+ohXcf5OMLd+IbD+oHgpo
 vSKvitkDnCKvdR6Uw1GSNAgeVm1ItMBlcL/8VsurOEUXR301pFNGdHEGuuxDu1Mm
 rEzk37ajYmiol5uBYIU8mdYrlK2+52sWd5/22zIwhMIEgQbuPbouYWPfUSP9bb+U
 9NlvjGVxK5U73UqcU/56nn7W9uRt0ArzSzON53wnBW3WjkcgMLk=
 =0dZI
 -----END PGP SIGNATURE-----

Merge tag 'arm-drivers-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM SoC drivers from Arnd Bergmann:
 "The SoC driver updates contain changes to improve support for
  additional SoC variants, as well as cleanups an minor bugfixes
  in a number of existing drivers.

  Notable updates this time include:

   - Support for Qualcomm MSM8909 (Snapdragon 210) in various drivers

   - Updates for interconnect drivers on Qualcomm Snapdragon

   - A new driver support for NMI interrupts on Fujitsu A64fx

   - A rework of Broadcom BCMBCA Kconfig dependencies

   - Improved support for BCM2711 (Raspberry Pi 4) power management to
     allow the use of the V3D GPU

   - Cleanups to the NXP guts driver

   - Arm SCMI firmware driver updates to add tracing support, and use
     the firmware interfaces for system power control and for power
     capping"

* tag 'arm-drivers-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (125 commits)
  soc: a64fx-diag: disable modular build
  dt-bindings: soc: qcom: qcom,smd-rpm: add power-controller
  dt-bindings: soc: qcom: aoss: document qcom,sm8450-aoss-qmp
  dt-bindings: soc: qcom,rpmh-rsc: simplify qcom,tcs-config
  ARM: mach-qcom: Add support for MSM8909
  dt-bindings: arm: cpus: Document "qcom,msm8909-smp" enable-method
  soc: qcom: spm: Add CPU data for MSM8909
  dt-bindings: soc: qcom: spm: Add MSM8909 CPU compatible
  soc: qcom: rpmpd: Add compatible for MSM8909
  dt-bindings: power: qcom-rpmpd: Add MSM8909 power domains
  soc: qcom: smd-rpm: Add compatible for MSM8909
  dt-bindings: soc: qcom: smd-rpm: Add MSM8909
  soc: qcom: icc-bwmon: Remove unnecessary print function dev_err()
  soc: fujitsu: Add A64FX diagnostic interrupt driver
  soc: qcom: socinfo: Fix the id of SA8540P SoC
  soc: qcom: Make QCOM_RPMPD depend on PM
  tty: serial: bcm63xx: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  spi: bcm63xx-hsspi: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  clk: bcm: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  hwrng: bcm2835: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  ...
2022-08-02 08:10:10 -07:00
Linus Torvalds
e233cc59d0 ARM: SoC updates for 6.0
The updates for arch/arm/mach-* platform code this time are mainly
 minor cleanups.
 
 Most notably, the DaVinci DM644x/DM646x SoC support gets removed. This was
 also scheduled for later removal early next year, but Linus Walleij asked
 for having them removed earlier to avoid problems for the GPIO subsystem.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLo+zkACgkQmmx57+YA
 GNkA9g/7BEprYGJ43eLY+sl4GNcNbtybxNdog62NIb+v/HyiLUuhsApJIbwy8lFn
 IIkaFwDt8xb/tFLtHyDO+ZqCycSlNLqWVT6c3//qhUREj1Ll01zQI8KEYO2GSqnG
 qV1fiF2ARrT/SUWwAEP9Rw+e/dCz3yQvNQQdrIRSOhAJy7D2R25/OSeQ/0I/bswH
 qY6VXUr6obV+fV++CuWjvkPhSI4Oa28j7QC47/rj634KoHXxIky1OH1xMyYCMd7l
 vPj0UbWvQrEM4EhLblLHDba3QBMyN9EzrTvByDDbFNBkYjostIKUXPl9mr2o5rgr
 7c+dfDz7a5LY00te3InxB+0Ij+bnrGUmAc3ohzQbdvRMFMzB67imcv1rEcX4I3K6
 2BekFz33xseYA8sVi4p2kDd8EGeNJrMoQVnD+eRJzPEwxVTRs0OmbRoeZwmsCuqb
 x8BPO9YZtcc/SsnTc2gIGvz2hdzgKro7paSTJGbs+6wQN02ZR7yFO4hSpfWaSpzu
 RcgtSq/wdTSZq721WGCKPP6qHqTxetas/n7VlVBl8u79OclVicfngkYsiKYs65nI
 zmLfMUGthaXny5Q70EYEcpBx8d1V2b5+rl/pp2i2yA8r/ry0EDvkuVTeRZqJgEsa
 zP8i4InDm4ca8vhdzLoyJtHgTTQxoIv+1sa8dUGEgbE6YpzucZ8=
 =LkG0
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM SoC updates from Arnd Bergmann:
 "The updates for arch/arm/mach-* platform code this time are mainly
  minor cleanups.

  Most notably, the DaVinci DM644x/DM646x SoC support gets removed. This
  was also scheduled for later removal early next year, but Linus
  Walleij asked for having them removed earlier to avoid problems for
  the GPIO subsystem"

* tag 'arm-soc-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (38 commits)
  ARM: at91: setup outer cache .write_sec() callback if needed
  ARM: at91: add sam_linux_is_optee_available() function
  ARM: Marvell: Update PCIe fixup
  ARM: bcmbca: Include full family name in Kconfig
  ARM: bcm: NSP: Removed forced thermal selection
  ARM: debug: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  arm: bcmbca: Add BCMBCA sub platforms
  arm: bcmbca: Move BCM63138 ARCH_BCM_63XX to ARCH_BCMBCA
  MAINTAINERS: Move BCM63138 to bcmbca arch entry
  ARM: shmobile: rcar-gen2: Increase refcount for new reference
  ARM: davinci: Delete DM646x board files
  ARM: davinci: Delete DM644x board files
  firmware: xilinx: Add TF_A_PM_REGISTER_SGI SMC call
  cpufreq: zynq: Fix refcount leak in zynq_get_revision
  ARM: OMAP2+: Kconfig: Fix indentation
  ARM: OMAP2+: Fix refcount leak in omap3xxx_prm_late_init
  ARM: OMAP2+: pdata-quirks: Fix refcount leak bug
  ARM: OMAP2+: display: Fix refcount leak bug
  ARM: OMAP2+: Fix refcount leak in omapdss_init_of
  ARM: imx25: support silicon revision 1.2
  ...
2022-08-02 08:02:59 -07:00
Andy Shevchenko
38ba0bb291 leds: is31fl319x: use simple i2c probe function
The i2c probe functions here don't use the id information provided in
their second argument, so the single-parameter i2c probe function
("probe_new") can be used instead.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2022-08-02 16:43:31 +02:00
Andy Shevchenko
e1af5c8155 leds: is31fl319x: Fix devm vs. non-devm ordering
When non-devm resources are allocated they mustn't be followed by
devm allocations, otherwise it will break the tear down ordering
and might lead to crashes or other bugs during ->remove() stage.
Fix this by wrapping mutex_destroy() call with
devm_add_action_or_reset().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2022-08-02 16:43:31 +02:00
Andy Shevchenko
0d77252bc4 leds: is31fl319x: Make use of dev_err_probe()
Simplify the error handling in probe function by switching from
dev_err() to dev_err_probe().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2022-08-02 16:43:30 +02:00
Andy Shevchenko
69a9b172ad leds: is31fl319x: Make use of device properties
Convert the module to be property provider agnostic and allow
it to be used on non-OF platforms.

Add mod_devicetable.h include.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2022-08-02 16:43:30 +02:00
Vincent Knecht
7742683479 leds: is31fl319x: Cleanup formatting and dev_dbg calls
Fix remaining non-standard place for comments.

Remove remaining dev_dbg after regmap_read in is31fl3196_brightness_set.

Remove __func__ in dev_dbg calls, instead adding "channel" string to
describe the first displayed value.

Change remaining container_of() call to be on one line,
as well as a few others.

Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2022-08-02 16:43:30 +02:00
Vincent Knecht
fa877cf1ab leds: is31fl319x: Add support for is31fl319{0,1,3} chips
Set specific chipset structs values for is31fl319{0,1,3}
so that those chips can actually work.
Datasheets:
https://lumissil.com/assets/pdf/core/IS31FL3190_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3191_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3193_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3196_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3199_DS.pdf

Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2022-08-02 16:43:30 +02:00
Vincent Knecht
bd34266fde leds: is31fl319x: Move chipset-specific values in chipdef struct
Allow setting chips' specifics in chipdef struct by adding fields for:
- the reset register address
- a pointer to a regmap_config struct
- a pointer to a brightness_set function
- current default, min and max values
- a boolean to distinguish 319{0,1,3} and 319{6,9} chips
and use those fields in places where distinction has to be made.

The fields for 319{0,1,3} still point to 319{6,9} values.
No functional change.

Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2022-08-02 16:43:30 +02:00
Vincent Knecht
8e6dde1b44 leds: is31fl319x: Use non-wildcard names for vars, structs and defines
In order to add real support for is31fl3190, is31fl3191 and is31fl3193,
rename variant-dependent elements to not use 319X where needed.

3190 suffix is used for is31fl3190, is31fl3191 and is31fl3193 circuits.
3196 suffix is used for is31fl3196 and is31fl3199.

Those two groups have different register maps, current settings and even
a different interpretation of the software shutdown bit:
https://lumissil.com/assets/pdf/core/IS31FL3190_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3191_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3193_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3196_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3199_DS.pdf

Rename variables, structures and defines in preparation of the splitting.
No functional nor behaviour change.

Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2022-08-02 16:43:30 +02:00
Vincent Knecht
dc6d28f485 leds: is31fl319x: Add missing si-en compatibles
Add si-en compatibles for all chip variants.

Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
2022-08-02 16:43:30 +02:00
Arnd Bergmann
0d98fbcf72 SoCFPGA dts updates for v5.20, part 2
- Update EMAC AXI settings for Cyclone5
 -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCgAyFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmLjCjkUHGRpbmd1eWVu
 QGtlcm5lbC5vcmcACgkQGZQEC4GjKPSJ0g//R0HArX0pW/wXyfbRuMe+Poce6fgm
 OoO6gWvhdHE8ynLgd7b/idb45RIlDx7q1blWUur4Gj9GCUEs33lSXA/SwesXuCSR
 KNYAtMWzU9pgLstZgmAe1mwk5eeJW6+v2w8EA6+qSlr7PSHWe+ZoIAymmrDJH8sd
 CKrp1Lf6Dk/UZ7+Is5IBScRelRLxM8d981Z8YewpGNhGPYug2fopXwTIWGrlFyrc
 wzI/xXE7gpC3wfeFvTI4GpRc3u3P5EGObcf1hknSt4bpxWZ8zZD27wjCY6Ps9iMx
 T5uWqip/WD8EoWEmFjcj0iINerlPDKUoyr3D49t7yYL9jIfs368THkuncbAdDJkr
 wmP5GJObSp7oNI4JcDvrgDHufYKvC8Q61pEhmCnrhQzMIDuy+NQc1nuId3DNWB27
 zerK5bMqngDBDs0jS+yYvWMrC9Us/aW2zUD9arDHSNLlpnBzMrg9rKpltg7PhFEx
 OFFSERFob1rXfPbmbvsJq/OZ5t03pPcEnsnyBIpmQHb/LItxEmZKEoOq3cbchhDo
 UvzdG8a9lLKkKDuvQoYNEp00yP0tOcRb4d0nn28Tgra01zuXyPcjUBw6Fk6/MRVz
 cn1/TCX7FuhkoTksKM+jVzexSr2wt+dUL+WMaVUfPOF6aYz+C61kJWIgHCfVeMyC
 SmgvgalX7HPF1QI=
 =atss
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLpMAoACgkQmmx57+YA
 GNkeBBAAksTeKlu9qsmJjUrmbQYAFhXx1QYklccSJx72fY9ncrUOA4z1aQZFvFda
 QIR+ZHA2M1yXtP5Vmfjj4y5xPnHAATIXYFc7jN1AdTncvIuAuh0mLj8cBOim+w0D
 Ly8fistZYbFrqAhGt4LNU8oveUuO0njy8DuiCn/qLh34xpEcKOMgpcqUtYjKljLv
 bXGLP8CMnCkM7tPP4Os7/1DcHSetUJUpwakO81S+/TltI2969OZBlz6/9bzzdb33
 tI1x9qJgeIIjabXKEKmV2G+sG5B2xr9e8KUxv/Iqj46rdYaInimRfhSzl2lDH1D1
 xicSTdm2L/AAZiV4bI7gK+9Dgl4tCf2GIRv1Qvt6gep4aWSA21iPuzDonMvF4YBp
 aRPVUXHZ8eLc6RgWP3iCfjge6zg75r7v3FnqB+PkkbD6IOO+QoKzV2QJqt3VLJiM
 jSLS1ZhtPjxxDp7xGyHxy5iDOlKQE3AIps6nA1QhIvhZsGKYO8LPHpkNHI/qpp4w
 MFmRqIF+RnJRsaccUBE5Upweav4JywcfJAOQtDvAYp2jcNmHY03BlSxEqFLYfEzW
 RmnxCt4n80K50d2JsPjHQ7QpxrMUn9JY5GSSg7Hc5b11mYUkzBZABh1Ke9t3f7Z0
 kYPD++thOyHItS1r4+RedTzg97hk/POhRS4wF+vqnZoaS4KyosQ=
 =2reB
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_updates_for_v5.20_part2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/late

SoCFPGA dts updates for v5.20, part 2
- Update EMAC AXI settings for Cyclone5

* tag 'socfpga_updates_for_v5.20_part2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  ARM: dts: add EMAC AXI settings for Cyclone5
  arm64: dts: altera: socfpga_stratix10: move clocks out of soc node
  arm64: dts: Add support for Stratix 10 Software Virtual Platform
  dt-bindings: altera: document Stratix 10 SWVP compatibles
  arm64: dts: altera: adjust whitespace around '='
  arm64: dts: intel: socfpga_agilex: use defined GIC interrupt type for ECC
  dt-bindings: altera: Add Chameleon v3 board
  ARM: dts: socfpga: Add Google Chameleon v3 devicetree
  ARM: dts: socfpga: Add atsha204a node to Mercury+ AA1 dts
  ARM: dts: socfpga: Move sdmmc-ecc node to Arria 10 dts
  ARM: dts: socfpga: Change Mercury+ AA1 dts to dtsi

Link: https://lore.kernel.org/r/20220728223237.3184243-1-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-08-02 16:09:13 +02:00
Takashi Iwai
6c955a9d9d ALSA: line6: Replace sprintf() with sysfs_emit()
For sysfs outputs, it's safer to use a new helper, sysfs_emit(),
instead of the raw sprintf() & co.  This patch replaces those usages
straightforwardly with a new helper, sysfs_emit().

Link: https://lore.kernel.org/r/20220801165639.26030-8-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-08-02 16:03:49 +02:00
Takashi Iwai
17daae7ac4 ALSA: hda: Replace sprintf() with sysfs_emit()
For sysfs outputs, it's safer to use a new helper, sysfs_emit(),
instead of the raw sprintf() & co.  This patch replaces those usages
straightforwardly with new helpers, sysfs_emit() and sysfs_emit_at().

Link: https://lore.kernel.org/r/20220801165639.26030-7-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-08-02 16:03:47 +02:00
Takashi Iwai
01043e3e14 ALSA: pcm: Replace sprintf() with sysfs_emit()
For sysfs outputs, it's safer to use a new helper, sysfs_emit(),
instead of the raw sprintf() & co.  This patch replaces such a
sprintf() call straightforwardly with the new helper.

Link: https://lore.kernel.org/r/20220801165639.26030-6-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-08-02 16:03:46 +02:00
Takashi Iwai
0031812bd8 ALSA: core: Replace scnprintf() with sysfs_emit()
sysfs_emit() is a new helper to simplify the sysfs string output.
Replace the open-code with this new helper.

Link: https://lore.kernel.org/r/20220801165639.26030-5-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-08-02 16:03:45 +02:00
Takashi Iwai
ade7956396 ALSA: control-led: Replace sprintf() with sysfs_emit()
For sysfs outputs, it's safer to use a new helper, sysfs_emit(),
instead of the raw sprintf() & co.  This patch replaces such sprintf()
calls with sysfs_emit() while simplifying the open code in
list_show().

Link: https://lore.kernel.org/r/20220801165639.26030-4-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-08-02 16:03:43 +02:00
Takashi Iwai
0980bb1ff0 ALSA: aoa: Replace sprintf() with sysfs_emit()
For sysfs outputs, it's safer to use a new helper, sysfs_emit(),
instead of the raw sprintf() & co.  This patch replaces such sprintf()
calls with sysfs_emit() while simplifying the open code in
modalias_show(); as modalias[] is a NUL-terminated string, we can pass
it straightly to a printf() argument.

Link: https://lore.kernel.org/r/20220801165639.26030-3-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-08-02 16:03:42 +02:00
Takashi Iwai
7450320ec7 ALSA: ac97: Replace sprintf() with sysfs_emit()
For sysfs outputs, it's safer to use a new helper, sysfs_emit(),
instead of the raw sprintf() & co.  This patch replaces the open code
straightforwardly with a new helper.

Link: https://lore.kernel.org/r/20220801165639.26030-2-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-08-02 16:03:41 +02:00
Arnd Bergmann
87df0cecc2 Apple SoC DT updates for 5.20.
This round just adds the NVMe controller nodes, since that driver is
 finally upstream. Includes one related power domain fixup.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSByI3Ki0mXziclZJcd+FPLCI8zYgUCYuYjngAKCRAd+FPLCI8z
 YobTAQCEAVVnvvOEZEpBEAZu3lNE3qzwGYKnh0zHAyKxN/zfiAD+JqxJzYTTirHC
 iWA3Su+HDMLHR0Id4WrXTotMZ4p7wAU=
 =YXmm
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLpLZYACgkQmmx57+YA
 GNknbxAAnqecKbHi/gLyBinSYCI7Lrmvmt1PpR1IxuOcbwEOKZCgsRGmWrPmzDHA
 1l/ipp6SkGggT6XatMpE4h+WHCU0jJ5mAXr3FJlMFehJ2iMTHSSXan8UH8ghlf3g
 bAZL6YYj2xuBzO/rG7hSSOn6nEI9bD8Mhxjr1HHNYKYnSfD6NkWWSjcuDYNdoOiq
 R0bU4QXvQQWKbk4ZxuKYZ3aTvW21F8TiF+LNrs1OQFsZfQrddjfa5XXryAMemqbW
 YELMQ+75kVHv7Xf25a56Szvu+wh+YAIJhTpQ0mgcLx0LYlM2hMH14+PpZ2RXbt0Q
 PQckNlroO/CwQOYZBA64W+TnI+33YOyd4IULv/pSCL8YFHJLJr5P0WDeu4l1VxAW
 TyTjcq/nzG/IozLXMbT1vHjzNUd/IPZfqPGq+KfTkrFP+V3HqGnVGr8bSHnPLCd3
 qodJY3R5cbEspBhAap5tiV6QTIGLYeY4THsjv2WJg1e3ozql857y50mjEQ98YNQ2
 RSTP1ZXocQf9mEI1R39HWQGxCdnmSy4PNMbQd9GQ8ynEovduEJOGuVOrW8qpTBfD
 K5Wn6fdFeIrHjEc5uC59fh4pNJC9awJcsTUG4rpWU0Gph6W8HIdenXlc9u9N6X09
 P7blHIpg8M2uSbS818fNBlJZzC2xAELl2/ec/zvYHDh8hZkyVFg=
 =u9E3
 -----END PGP SIGNATURE-----

Merge tag 'asahi-soc-dt-5.20' of https://github.com/AsahiLinux/linux into arm/late

Apple SoC DT updates for 5.20.

This round just adds the NVMe controller nodes, since that driver is
finally upstream. Includes one related power domain fixup.

* tag 'asahi-soc-dt-5.20' of https://github.com/AsahiLinux/linux:
  arm64: dts: apple: t8103: Add ANS2 NVMe nodes
  arm64: dts: apple: Re-parent ANS2 power domains

Link: https://lore.kernel.org/r/6de8649c-9795-54a1-fa45-8dd50355061f@marcan.st
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-08-02 15:58:46 +02:00
Arnd Bergmann
d2fd1ddd31 Reset controller updates for v5.20
Allow reset-simple to be selected under EXPERT and reset-a10sr to be
 built under COMPILE_TEST. Add Renesas RZ/G2UL USBPHY binding and a new
 driver for the TI TPS380x line of voltage supervisor ICs with manual
 reset control.
 
 A patch to make reset-microchip-sparx5 buildable as a module had to be
 reverted as that turned out to break MDIO on kswitch-d10.
 -----BEGIN PGP SIGNATURE-----
 
 iI0EABYIADUWIQRRO6F6WdpH1R0vGibVhaclGDdiwAUCYuPhlBcccC56YWJlbEBw
 ZW5ndXRyb25peC5kZQAKCRDVhaclGDdiwNJ4AP9DtTgPOZpWuyqxdLG5WdGYW7ci
 q/cWuJWZAWBgnuZaIQD9HfFro1M2q4muVJ8uTYYfXKfNbv0AZ1vqZUAIij9JTg0=
 =PZam
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLpLVsACgkQmmx57+YA
 GNlwJhAAqmpwr7jPQpcg5dLR30aluIy27dQKqgu2rnDXUr3CFlZ5aUiTrjc6tilc
 hUYFjiv0DMeH8ohQMMlCyvPZsfBvQL/12WOO8C5+c0HasDJ1Rbxmfx73q5YtqOP5
 ZkN7F3vsmSOQZsLGKdPeAFkpo7AttyyB0JxyONh++PpeSzPqdu8hNXKg5JY12o7Q
 Xzw2dCeqjfkZz2cwg8genyQheEA9XU3tLV6W7jQwHU8uwh5yNrQgWYeN7lqj2RSA
 mcmBFFQvNS/rQBLr2H3fz65X3asVRgzalPwAa8Nt1MmdEubP0Gz/Abr9pgS6Xbke
 2ApuAxgod/M5vvecsoNP1coGQX7T9ZbqzNPkRXNh3MjU1217HkkaRbI1ftje8TFE
 Tk1VBuL4d/WJKP7bEnfNVTiFX8dSKsGb6UuqiZLLLAaYv1VtGw5BEqG5P5vP/ba9
 n5FIvMyKyAJrkW6UrHxQV4sLxiAYNHwf5cKM5O+ewfgKAs/hkCikImWlYrtmdCRJ
 X25bqjkqKy70/kaTpKfDQKiOrx7ZS+m5deKZ37z6ZLW4/XCO51s+6OaXO6Sv9lYm
 uMBTYXsaLVbJjnVas8GS6hsoauyecRVU8we7w8IFhO7OXegTVAV1s7AiKVEaHdiK
 jzMZACbf8OfKjCttSTWeKUcmj7hD/9c8T4kXj8fM0F7gixhlDNU=
 =M1VO
 -----END PGP SIGNATURE-----

Merge tag 'reset-for-v5.20' of git://git.pengutronix.de/pza/linux into arm/late

Reset controller updates for v5.20

Allow reset-simple to be selected under EXPERT and reset-a10sr to be
built under COMPILE_TEST. Add Renesas RZ/G2UL USBPHY binding and a new
driver for the TI TPS380x line of voltage supervisor ICs with manual
reset control.

A patch to make reset-microchip-sparx5 buildable as a module had to be
reverted as that turned out to break MDIO on kswitch-d10.

* tag 'reset-for-v5.20' of git://git.pengutronix.de/pza/linux:
  reset: tps380x: Fix spelling mistake "Voltags" -> "Voltage"
  reset: tps380x: Add TPS380x device driver supprt
  dt-bindings: reset: Add TPS380x documentation
  dt-bindings: reset: renesas,rzg2l-usbphy-ctrl: Document RZ/G2UL USBPHY Control bindings
  reset: reset-simple should depends on HAS_IOMEM
  Revert "reset: microchip-sparx5: allow building as a module"
  reset: a10sr: allow building under COMPILE_TEST
  reset: allow building of reset simple driver if expert config selected
  reset: microchip-sparx5: allow building as a module

Link: https://lore.kernel.org/r/20220729133620.488379-1-p.zabel@pengutronix.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-08-02 15:57:47 +02:00
Arnd Bergmann
879bcfc4e5 Apple SoC MAINTAINERS updates for 5.20.
Just one patch adding our shiny new mailing list to the relevant
 section.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSByI3Ki0mXziclZJcd+FPLCI8zYgUCYuYi/AAKCRAd+FPLCI8z
 YoImAP9wCWkn8yweb3I2HHUVGfAZdGU+qycNFfH3RiElkN70AAEA36k7a2Gzw7fL
 UvY58Em9cOR0Sh9azPGBtJFylaeDtAI=
 =fQHi
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLpLTwACgkQmmx57+YA
 GNna6g/9GRva2uIcGutSnkbrXDHDMRKT8cF6bPNB/Vmhm76x7uNkha+QeiDbGT7r
 K7qGj+3IuPk8NGafoDD+qCO3fK81jeC/FLsi1XFotsdYRJ25hS+YvGbTP1tGc3/m
 m5uRt95Z/he+C37le1qqibv+qwOfEdrM5bGGVf3aT7EdcuMVoCS1IYC0fSyi+gtL
 Wg7cGDVHyUs2rHbT0qHDabmGonE5HNDLnCl0GXRMVeJx179NPxwgFgoW5dkEvtUQ
 dzgQdqECG0NVSXJlo90jhFTmExhFhmmreFuBkp5coEjWQcVrUWIlCRrWjVEizKvz
 WQEpP/l6JO1lvyfzGgnSmgJSfcA3/xIbxZev2AfS3cFQ4FYkW6ZH4H/GMUD4kgv2
 0GPldeVEEa/Q5TlTWHv1Af0TBSSlVM16R0HXZ19sHc7FcadftVy1q9GEuhCAA4Hp
 W2+PigzCsWXO07shCnzzNLJ4AU9gtX2XLQVLTBklrOGUJamacSAStfw9MBFHv0Qp
 3yUzvOcuGSJ5eM13ZO409CFxJymh53Vbgv2qwdeu5J/1vTmAGCHUeOWRGakTWJ91
 INPyrNeEKsn6SP1dHsyutqU8A8Hw7Ny7CRKY8aV2/8NpA06SoqoGq75ASUaBPtfG
 4Eypq9GE9EJonVTKBeiwN6b9vs7hqAumGstAfNiZYDnIok1Gz5A=
 =h0/3
 -----END PGP SIGNATURE-----

Merge tag 'asahi-soc-maintainers-5.20' of https://github.com/AsahiLinux/linux into arm/fixes

Apple SoC MAINTAINERS updates for 5.20.

Just one patch adding our shiny new mailing list to the relevant
section.

* tag 'asahi-soc-maintainers-5.20' of https://github.com/AsahiLinux/linux:
  MAINTAINERS: add ARM/APPLE MACHINE mailing list

Link: https://lore.kernel.org/r/308defdf-8873-63ed-dc9c-a88cd7a3cc2f@marcan.st
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-08-02 15:57:15 +02:00
Kunihiko Hayashi
fe17b91a77 arm64: dts: uniphier: Fix USB interrupts for PXs3 SoC
An interrupt for USB device are shared with USB host. Set interrupt-names
property to common "dwc_usb3" instead of "host" and "peripheral".

Cc: stable@vger.kernel.org
Fixes: d7b9beb830 ("arm64: dts: uniphier: Add USB3 controller nodes")
Reported-by: Ryuta NAKANISHI <nakanishi.ryuta@socionext.com>
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-08-02 15:51:45 +02:00
Kunihiko Hayashi
9b0dc7abb5 ARM: dts: uniphier: Fix USB interrupts for PXs2 SoC
An interrupt for USB device are shared with USB host. Set interrupt-names
property to common "dwc_usb3" instead of "host" and "peripheral".

Cc: stable@vger.kernel.org
Fixes: 45be1573ad ("ARM: dts: uniphier: Add USB3 controller nodes")
Reported-by: Ryuta NAKANISHI <nakanishi.ryuta@socionext.com>
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-08-02 15:51:35 +02:00
William Dean
4f1196288d ovl: fix spelling mistakes
fix follow spelling misktakes:
	decendant  ==> descendant
	indentify  ==> identify
	underlaying ==> underlying

Reported-by: Hacash Robot <hacashRobot@santino.com>
Signed-off-by: William Dean <williamsukatube@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2022-08-02 15:41:10 +02:00
Frieder Schrempf
b0de7fa706
regulator: pca9450: Remove restrictions for regulator-name
The device bindings shouldn't put any constraints on the regulator-name
property specified in the generic bindings. This allows using arbitrary
and descriptive names for the regulators.

Suggested-by: Mark Brown <broonie@kernel.org>
Fixes: 7ae9e3a6bf ("dt-bindings: regulator: add pca9450 regulator yaml")
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Link: https://lore.kernel.org/r/20220802064335.8481-1-frieder@fris.de
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-08-02 14:38:23 +01:00
syed sabakareem
c0fc96fed7
ASoC: amd: yc: Update DMI table entries for AMD platforms
Updated DMI entries 21EM, 21EN, 21J5 and 21J6 for
AMD platforms P15v Gen 3 and P14s Gen 3.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=216267
Signed-off-by: syed saba kareem <Syed.SabaKareem@amd.com>
Reported-by: Pananchikkal Renjith <renjith.pananchikkal@amd.com>
Link: https://lore.kernel.org/r/20220802062503.159328-1-Syed.SabaKareem@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2022-08-02 14:38:21 +01:00
Maxim Mikityanskiy
8eaa1d1108 net/mlx5e: xsk: Discard unaligned XSK frames on striding RQ
Striding RQ uses MTT page mapping, where each page corresponds to an XSK
frame. MTT pages have alignment requirements, and XSK frames don't have
any alignment guarantees in the unaligned mode. Frames with improper
alignment must be discarded, otherwise the packet data will be written
at a wrong address.

Fixes: 282c0c798f ("net/mlx5e: Allow XSK frames smaller than a page")
Signed-off-by: Maxim Mikityanskiy <maximmi@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Saeed Mahameed <saeedm@nvidia.com>
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Link: https://lore.kernel.org/r/20220729121356.3990867-1-maximmi@nvidia.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2022-08-02 15:07:09 +02:00
Christophe Leroy
bce02f71e4 EDAC/ppc_4xx: Include required of_irq header directly
Commit 4d5c5bad51 ("powerpc: Remove asm/prom.h from asm/mpc52xx.h
and asm/pci.h") that cleans up powerpc's asm/prom.h leads to build
errors in ppc4xx_edac.c due to missing header. Include required
header directly to avoid the build failure.

Fixes: 4d5c5bad51 ("powerpc: Remove asm/prom.h from asm/mpc52xx.h and asm/pci.h")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/993f5a7da371458cb819b5f3f569073c78523b01.1659436180.git.christophe.leroy@csgroup.eu
2022-08-02 22:30:14 +10:00
Michael Ellerman
f4b39e88b4 powerpc/pci: Fix PHB numbering when using opal-phbid
The recent change to the PHB numbering logic has a logic error in the
handling of "ibm,opal-phbid".

When an "ibm,opal-phbid" property is present, &prop is written to and
ret is set to zero.

The following call to of_alias_get_id() is skipped because ret == 0.

But then the if (ret >= 0) is true, and the body of that if statement
sets prop = ret which throws away the value that was just read from
"ibm,opal-phbid".

Fix the logic by only doing the ret >= 0 check in the of_alias_get_id()
case.

Fixes: 0fe1e96fef ("powerpc/pci: Prefer PCI domain assignment via DT 'linux,pci-domain' and alias")
Reviewed-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220802105723.1055178-1-mpe@ellerman.id.au
2022-08-02 22:30:06 +10:00
Chenyi Qiang
ffa6482e46 x86/bus_lock: Don't assume the init value of DEBUGCTLMSR.BUS_LOCK_DETECT to be zero
It's possible that this kernel has been kexec'd from a kernel that
enabled bus lock detection, or (hypothetically) BIOS/firmware has set
DEBUGCTLMSR_BUS_LOCK_DETECT.

Disable bus lock detection explicitly if not wanted.

Fixes: ebb1064e7c ("x86/traps: Handle #DB for bus lock")
Signed-off-by: Chenyi Qiang <chenyi.qiang@intel.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Link: https://lore.kernel.org/r/20220802033206.21333-1-chenyi.qiang@intel.com
2022-08-02 13:42:00 +02:00
Masami Hiramatsu (Google)
dec8784c90 x86/kprobes: Update kcb status flag after singlestepping
Fix kprobes to update kcb (kprobes control block) status flag to
KPROBE_HIT_SSDONE even if the kp->post_handler is not set.

This bug may cause a kernel panic if another INT3 user runs right
after kprobes because kprobe_int3_handler() misunderstands the
INT3 is kprobe's single stepping INT3.

Fixes: 6256e668b7 ("x86/kprobes: Use int3 instead of debug trap for single-step")
Reported-by: Daniel Müller <deso@posteo.net>
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Daniel Müller <deso@posteo.net>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/20220727210136.jjgc3lpqeq42yr3m@muellerd-fedora-PC2BDTX9
Link: https://lore.kernel.org/r/165942025658.342061.12452378391879093249.stgit@devnote2
2022-08-02 12:35:04 +02:00
Chen Zhongjin
28f6c37a29 kprobes: Forbid probing on trampoline and BPF code areas
kernel_text_address() treats ftrace_trampoline, kprobe_insn_slot
and bpf_text_address as valid kprobe addresses - which is not ideal.

These text areas are removable and changeable without any notification
to kprobes, and probing on them can trigger unexpected behavior:

  https://lkml.org/lkml/2022/7/26/1148

Considering that jump_label and static_call text are already
forbiden to probe, kernel_text_address() should be replaced with
core_kernel_text() and is_module_text_address() to check other text
areas which are unsafe to kprobe.

[ mingo: Rewrote the changelog. ]

Fixes: 5b485629ba ("kprobes, extable: Identify kprobes trampolines as kernel text area")
Fixes: 74451e66d5 ("bpf: make jited programs visible in traces")
Signed-off-by: Chen Zhongjin <chenzhongjin@huawei.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Link: https://lore.kernel.org/r/20220801033719.228248-1-chenzhongjin@huawei.com
2022-08-02 11:47:29 +02:00
Hector Martin
c67cc4315a net: usb: ax88179_178a: Bind only to vendor-specific interface
The Anker PowerExpand USB-C to Gigabit Ethernet adapter uses this
chipset, but exposes CDC Ethernet configurations as well as the
vendor specific one. This driver tries to bind by PID:VID
unconditionally and ends up picking up the CDC configuration, which
is supposed to be handled by the class driver. To make things even
more confusing, it sees both of the CDC class interfaces and tries
to bind twice, resulting in two broken Ethernet devices.

Change all the ID matches to specifically match the vendor-specific
interface. By default the device comes up in CDC mode and is bound by
that driver (which works fine); users may switch it to the vendor
interface using sysfs to set bConfigurationValue, at which point the
device actually goes through a reconnect cycle and comes back as a
vendor specific only device, and then this driver binds and works too.

The affected device uses VID/PID 0b95:1790, but we might as well change
all of them for good measure, since there is no good reason for this
driver to bind to standard CDC Ethernet interfaces.

v3: Added VID/PID info to commit message

Signed-off-by: Hector Martin <marcan@marcan.st>
Link: https://lore.kernel.org/r/20220731072209.45504-1-marcan@marcan.st
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2022-08-02 11:17:14 +02:00
Xie Shaowen
e61b3125a4 Input: gscps2 - check return value of ioremap() in gscps2_probe()
The function ioremap() in gscps2_probe() can fail, so
its return value should be checked.

Fixes: 4bdc0d676a ("remove ioremap_nocache and devm_ioremap_nocache")
Cc: <stable@vger.kernel.org> # v5.6+
Reported-by: Hacash Robot <hacashRobot@santino.com>
Signed-off-by: Xie Shaowen <studentxswpy@163.com>
Signed-off-by: Helge Deller <deller@gmx.de>
2022-08-02 10:31:59 +02:00
Kleber Sacilotto de Souza
1995943c3f selftests: net: fix IOAM test skip return code
The ioam6.sh test script exits with an error code (1) when tests are
skipped due to lack of support from userspace/kernel or not enough
permissions. It should return the kselftests SKIP code instead.

Reviewed-by: Justin Iurman <justin.iurman@uliege.be>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Link: https://lore.kernel.org/r/20220801124615.256416-1-kleber.souza@canonical.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2022-08-02 09:51:31 +02:00
Maciej Żenczykowski
f56530dcdb net: usb: make USB_RTL8153_ECM non user configurable
This refixes:

    commit 7da17624e7
    nt: usb: USB_RTL8153_ECM should not default to y

    In general, device drivers should not be enabled by default.

which basically broke the commit it claimed to fix, ie:

    commit 657bc1d10b
    r8153_ecm: avoid to be prior to r8152 driver

    Avoid r8153_ecm is compiled as built-in, if r8152 driver is compiled
    as modules. Otherwise, the r8153_ecm would be used, even though the
    device is supported by r8152 driver.

this commit amounted to:

drivers/net/usb/Kconfig:

+config USB_RTL8153_ECM
+       tristate "RTL8153 ECM support"
+       depends on USB_NET_CDCETHER && (USB_RTL8152 || USB_RTL8152=n)
+       default y
+       help
+         This option supports ECM mode for RTL8153 ethernet adapter, when
+         CONFIG_USB_RTL8152 is not set, or the RTL8153 device is not
+         supported by r8152 driver.

drivers/net/usb/Makefile:

-obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o r8153_ecm.o
+obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o
+obj-$(CONFIG_USB_RTL8153_ECM)  += r8153_ecm.o

And as can be seen it pulls a piece of the cdc_ether driver out into
a separate config option to be able to make this piece modular in case
cdc_ether is builtin, while r8152 is modular.

While in general, device drivers should indeed not be enabled by default:
this isn't a device driver per say, but rather this is support code for
the CDCETHER (ECM) driver, and should thus be enabled if it is enabled.

See also email thread at:
  https://www.spinics.net/lists/netdev/msg767649.html

In:
  https://www.spinics.net/lists/netdev/msg768284.html

Jakub wrote:
  And when we say "removed" we can just hide it from what's prompted
  to the user (whatever such internal options are called)? I believe
  this way we don't bring back Marek's complaint.

Side note: these incorrect defaults will result in Android 13
on 5.15 GKI kernels lacking USB_RTL8153_ECM support while having
USB_NET_CDCETHER (luckily we also have USB_RTL8150 and USB_RTL8152,
so it's probably only an issue for very new RTL815x hardware with
no native 5.15 driver).

Fixes: 7da17624e7 ("nt: usb: USB_RTL8153_ECM should not default to y")
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Hayes Wang <hayeswang@realtek.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Link: https://lore.kernel.org/r/20220730230113.4138858-1-zenczykowski@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2022-08-02 08:51:09 +02:00