Commit graph

1,308,922 commits

Author SHA1 Message Date
Eric Dumazet
6747a5d499 rtnetlink: do not depend on RTNL for many attributes
Following device fields can be read locklessly
in rtnl_fill_ifinfo() :

type, ifindex, operstate, link_mode, mtu, min_mtu, max_mtu, group,
promiscuity, allmulti, num_tx_queues, gso_max_segs, gso_max_size,
gro_max_size, gso_ipv4_max_size, gro_ipv4_max_size, tso_max_size,
tso_max_segs, num_rx_queues.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:14:50 +02:00
Eric Dumazet
55a2c86c8d net: write once on dev->allmulti and dev->promiscuity
In the following patch we want to read dev->allmulti
and dev->promiscuity locklessly from rtnl_fill_ifinfo()

In this patch I change __dev_set_promiscuity() and
__dev_set_allmulti() to write these fields (and dev->flags)
only if they succeed, with WRITE_ONCE() annotations.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:14:50 +02:00
Eric Dumazet
ad13b5b0d1 rtnetlink: do not depend on RTNL for IFLA_TXQLEN output
rtnl_fill_ifinfo() can read dev->tx_queue_len locklessly,
granted we add corresponding READ_ONCE()/WRITE_ONCE() annotations.

Add missing READ_ONCE(dev->tx_queue_len) in teql_enqueue()

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:14:50 +02:00
Eric Dumazet
8a58268133 rtnetlink: do not depend on RTNL for IFLA_IFNAME output
We can use netdev_copy_name() to no longer rely on RTNL
to fetch dev->name.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:14:50 +02:00
Eric Dumazet
698419ffb6 rtnetlink: do not depend on RTNL for IFLA_QDISC output
dev->qdisc can be read using RCU protection.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:14:50 +02:00
Paolo Abeni
25010156d2 Merge branch 'net-qede-don-t-restrict-error-codes'
says:

====================
net: qede: don't restrict error codes

This series fixes the qede driver, so that when a helper function fails,
then the callee should return the returned error code, instead just
assuming that the error is eg. -EINVAL.

The patches in this series, reduces the change of future bugs, so new
error codes can be returned from the helpers, without having to update
the call sites.

This is a follow-up to my recent series "net: qede: avoid overruling
error codes", which fixed the cases where the implicit assumption of
failing with specific error codes had been broken.
https://lore.kernel.org/netdev/20240426091227.78060-1-ast@fiberby.net/

Asbjørn Sloth Tønnesen (3):
  net: qede: use return from qede_parse_actions() for flow_spec
  net: qede: use return from qede_flow_spec_validate_unused()
  net: qede: use return from qede_flow_parse_ports()

 .../net/ethernet/qlogic/qede/qede_filter.c    | 27 ++++++++++++-------
 1 file changed, 18 insertions(+), 9 deletions(-)
====================

Link: https://lore.kernel.org/r/20240503105505.839342-1-ast@fiberby.net
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:08:16 +02:00
Asbjørn Sloth Tønnesen
c0c66eba63 net: qede: use return from qede_flow_parse_ports()
When calling qede_flow_parse_ports(), then the
return code was only used for a non-zero check,
and then -EINVAL was returned.

qede_flow_parse_ports() can currently fail with:
* -EINVAL

This patch changes qede_flow_parse_v{4,6}_common() to
use the actual return code from qede_flow_parse_ports(),
so it's no longer assumed that all errors are -EINVAL.

Only compile tested.

Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:08:14 +02:00
Asbjørn Sloth Tønnesen
e5ed2f0349 net: qede: use return from qede_flow_spec_validate_unused()
When calling qede_flow_spec_validate_unused() then
the return code was only used for a non-zero check,
and then -EOPNOTSUPP was returned.

qede_flow_spec_validate_unused() can currently fail with:
* -EOPNOTSUPP

This patch changes qede_flow_spec_to_rule() to use the
actual return code from qede_flow_spec_validate_unused(),
so it's no longer assumed that all errors are -EOPNOTSUPP.

Only compile tested.

Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:08:14 +02:00
Asbjørn Sloth Tønnesen
146817ec32 net: qede: use return from qede_parse_actions() for flow_spec
In qede_flow_spec_to_rule(), when calling
qede_parse_actions() then the return code
was only used for a non-zero check, and then
-EINVAL was returned.

qede_parse_actions() can currently fail with:
* -EINVAL
* -EOPNOTSUPP

Commit 319a1d1947 ("flow_offload: check for
basic action hw stats type") broke the implicit
assumption that it could only fail with -EINVAL,
by changing it to return -EOPNOTSUPP, when hardware
stats are requested.

However AFAICT it's not possible to trigger
qede_parse_actions() to return -EOPNOTSUPP, when
called from qede_flow_spec_to_rule(), as hardware
stats can't be requested by ethtool_rx_flow_rule_create().

This patch changes qede_flow_spec_to_rule() to use
the actual return code from qede_parse_actions(),
so it's no longer assumed that all errors are -EINVAL.

Only compile tested.

Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-05-07 11:08:14 +02:00
Arnd Bergmann
a3116c8881 RISC-V SoC Kconfig Updates for v6.10
A few different bits of SoC-related Kconfig work. The first part of
 this is shared with the DT updates - the modification of all SOC_CANAAN
 users to SOC_CANAAN_K210 to split the existing m-mode nommu k210 away
 from the k230 that is able to be used in a "common" kernel.
 
 The other thing here is the removal of most of the SOC_VENDOR options,
 with their ARCH_VENDOR equivalents that've been waiting in the wings for
 1 year+ now made visible. Due a lapse on my part when originally adding
 the ARCH_VENDOR stuff, the Microchip transition isn't complete - the
 _POLARFIRE was a mistake to keep as there's gonna be non-PolarFire
 RISC-V stuff from Microchip soonTM.
 
 Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZjUIHwAKCRB4tDGHoIJi
 0r8RAQD+B5rJde/sQuQlmkJGrmZfyE/6/I1ZFxv0/xHhRPNWRAD/RFTTDthL/7c4
 frMGl/nWSD3fvGmXrQ7Dp6wc1APIdQI=
 =BWHh
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY57kAACgkQYKtH/8kJ
 Uie0Sg/8D8tZVOtBrpVJG/P5F7W1QdcC336GHBMQCho38C0/4AK5ltvdyxmSxmCl
 k84qaLdYNrGIvJ5o6MRmSAZyzT3y3jLYVA8C2Zsrp+Do8KkvvJGl219pUvp5A0J3
 eoMApJ34wx6dQM9LfpLcvU9C3Z767KeiiRm0h5CTV0IUfJnZB/7IQgwSajEGLOr/
 CHtFZpbYK6VgCDgVhbacSY8495jJrIU4i5RDlILst5K64XrmS2UU2oen2L3X/u8h
 xi5nQ//3qCiIfp5UqvBY12OYF8lVzB+F/Uo9vDCpeF9HFiIE69qMgYJiSviCPbwH
 T54zue+oBPGfL57HQoMTYQGUG4GvlnW7JR841GsIlPjrs54uw2kXDZB586n3tqzN
 esAQCc/sNnCuUX9TYKKBzkIrmQ1oTPRdGO61r+lSgxjYQ/ed++eh6KStlbPmttVo
 piEaxSpLS7TOZcVOyXHFrWK6OR4yB6MD6ZvOGJlJKJZSdfMNTlGcoymiJ0j7hVQb
 QJSr3LaIfQMP+Uf5ZWWlNZIxvwxQKER8v6MbyH3vGAVYa+DnDBzaj9Fh364thJnt
 Uybpz7SDQMIugnB+uSe+D1o65XfTEKOn/OHXYEQVYyoWs63QfTE9012+Q4KqBFBQ
 5ylIkvM9r3xMBkzZT3EU8lgr5gx9r5QQuX9czJ7INSBxo4SmuKE=
 =QGOJ
 -----END PGP SIGNATURE-----

Merge tag 'riscv-config-for-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/drivers

RISC-V SoC Kconfig Updates for v6.10

A few different bits of SoC-related Kconfig work. The first part of
this is shared with the DT updates - the modification of all SOC_CANAAN
users to SOC_CANAAN_K210 to split the existing m-mode nommu k210 away
from the k230 that is able to be used in a "common" kernel.

The other thing here is the removal of most of the SOC_VENDOR options,
with their ARCH_VENDOR equivalents that've been waiting in the wings for
1 year+ now made visible. Due a lapse on my part when originally adding
the ARCH_VENDOR stuff, the Microchip transition isn't complete - the
_POLARFIRE was a mistake to keep as there's gonna be non-PolarFire
RISC-V stuff from Microchip soonTM.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

* tag 'riscv-config-for-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  riscv: config: enable ARCH_CANAAN in defconfig
  RISC-V: drop SOC_VIRT for ARCH_VIRT
  RISC-V: drop SOC_SIFIVE for ARCH_SIFIVE
  RISC-V: drop SOC_MICROCHIP_POLARFIRE for ARCH_MICROCHIP
  RISC-V: Drop unused SOC_CANAAN
  reset: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
  pinctrl: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
  clk: k210: Deprecate SOC_CANAAN and use SOC_CANAAN_K210
  soc: canaan: Deprecate SOC_CANAAN and use SOC_CANAAN_K210 for K210
  riscv: Kconfig.socs: Split ARCH_CANAAN and SOC_CANAAN_K210

Link: https://lore.kernel.org/r/20240503-mardi-underling-3d81a9f97329@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 11:02:56 +02:00
Arnd Bergmann
b633c162e0 Amlogic defconfig changes for v6.10:
- Enable Khadas TS050 driver as module
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmY0oVUACgkQd9zb2sjI
 SdFiDBAAkHp3KyvVOwiaaSESJiDE2DcVibEUm8HZQv7JW9TDRBJ7HYB7Gqmj8mu7
 WEUQLxsizivVaqb6A+Gthqa1evsCNVqTTYgfZAqlUctZ1IdO4E3Fc4sTWMiAiIP+
 p5qVkd05DBIXl0pHIwSNtv+2GfVljodpEZHsgU1WgM56UTc4DgnbQns/8nMW9JE9
 DcfVsRv/4EKB4VRAjWH5E3U/HmzEVdlVSfA7wcD64szWyOkYzfxQRmBy7z3aRpWl
 ZPlAF4qdspj7xDD76vod24BR+RqR9dAXd6HRkBaau/V6vwMGWIOXnJhJ8NKHq48x
 4fAjaufFVyQ8d/xdy9aVQ1wq0ChFrcDoQwkLV65uJsfZ2QgDAXpvhH6tp/flM8Wm
 CgkiuExPz3uh70h0lfn8F6F3FVbvXcih243kjpKXPmSMSUs9mTdLE2ONI1fWSX8U
 8wATaBrjPgUgxAfqw94hTKApR8z+OkVs4r+mASs9L2hKT7T5DSib0w+SpdSUaaTD
 J5IrzGhhyQ3s4CW0VwNRNfESNzqHpnAyn9escRpr2T0pxlfEc3Piq66S4dq8Ef22
 dDdx4IGPVZuizti8Ibwx6eG/+FjJfYVHaHPvbjSZNDbFPmmAnVj1EPSJ5+TM552l
 iuld4JiYI8LZ+e/1psXq9ZIbTwnR2M8wDhK6ngq81hiBIeElpRM=
 =uDQU
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY56ysACgkQYKtH/8kJ
 UieEpxAA0Aw4O7uVN8PFpoNSFn6r69eAPY5+B3Kv61VO+mhXcipqL/XY+c23dCTq
 2EUdz2exIWmJD+fYLwcH3esbNn0+swMbe74C81hyemfhSlD8ZnbN8u/TVp1RWydS
 ivJhWJzj4h3jJKcxPbL7p6WJBRktLduVFV7dbxWfch3svnHW6tA+/k+yfM43OZm3
 gqZdKyyiu0xuyNJYU0u0Su8G0Gprx3v6tTwIO1duBTatf0nFKLTDloV5gPH6SBw/
 WYsR9eZBxap+D3tCveNCmai4UsEYJP4KnKqT4PzQF+aPe7L9XIAzVnfcGadzvA4u
 haB5LpcnBfrrRPcU5Mo5I5CkS8PBvMJAVWkVzXvNR80Q6LhGnFJ5FDgwY/g2hnpA
 AM2mBaw6woQhH5BkhMGu2qEsKUmdEbUKR9yQz0yAnoxlz6QufSZPBMLcJztBz2e3
 SbEXnZgBr3zm0Tvz8rFQ+Nzs3LB/slvPdFIJEWysq4zdWPdDYSB6doFV1Ac9W5/E
 r6aOD5S2LmkIFZbmvUZakzfkkxdIQM/2/5ysTsLJP8m6YxZnmv++MgrLTnn+hPq8
 mAPMWB0HdEOhiZreKot89OPe2jPM16dC9sQj39sEXQ9HkmoR2ELppV7WNt1RNBeB
 rIWzwQK+xHfvPy+H1O63ljCxYXOy7MijbDQlHhuNLHC5ky1rjOM=
 =QdKU
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-defconfig-for-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/defconfig

Amlogic defconfig changes for v6.10:
- Enable Khadas TS050 driver as module

* tag 'amlogic-defconfig-for-v6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  arm64: defconfig: enable Khadas TS050 panel as module

Link: https://lore.kernel.org/r/13bf8bc4-1cb7-4b94-8c98-9d1cdae5e1f8@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:49:47 +02:00
Arnd Bergmann
5a0054ba89 mvebu arm for 6.10 (part 1)
Decrease the usage of global GPIO numbers for LEDs for Orion5x boards
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCZjf3hAAKCRALBhiOFHI7
 1cn6AKCAxIDLljIUWLfohb2vLLnxuqipUwCgnCCFTy3tP+RKrIHbCz5UwRBfkc4=
 =7SiK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY56uoACgkQYKtH/8kJ
 UifhrBAAueIimvtR/5i8ImzSTQ3Rhf8I1wtLrIc0JvK7rv9sUzW3EnWPZN9BQ+RH
 /0VrXymiBQBOPJDmHTBU18pHf1xBhsB3imy//AiRJA03qDBlvgieG48XmKenuGY1
 rpr4EbVNC0aZhxI0lH+qO9mtaACxh1CFw2QXwcArM1gBGHgj3orIwAR1cf2Cynbf
 07SIAWa2LsW/lHyLBRf6OFZMohjlazPSrW2hOXevQNQR/YXRzQF9bCq7CL0F578v
 psWoeU1om5ekkQGYbv7u8VfyazKmlOVmtRpEtlpTK1zWQ3BIwnChuodEIDjrdrt0
 gCB3eNcNaC6MbMefKzx/5vf2kGwynh5mkk/DliWkRBA4/6umxFglEpm4x+YkVRxW
 lTYYGsj8odXIYd7zjStBjpHiUghmq/y9Ap5Vcuu+ZJ9pDqc/YbBnZ9InZBVoIptC
 nAAxV8fcUZX6DWP/1K2m625mAXnlR/KBqyCLU84sbTukUnbGPZG74PSDk+TIfrBH
 0A4sCOXdoTSToN/jMFEViNNICNZG28FSKl3kFvU13H2i6Vc+sdydS8UP55jHs79H
 EB2yJPWjEBVOj106lxwlPPa2gp7TNKiWPQBq6AE8rs4tmzaFHDHEJgH/Fv2Ekcza
 92So9acM+J1qLv6OwvZZZOPnhkCnrl46vnA9nP7JxbIuzZflmrE=
 =903+
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-arm-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/arm

mvebu arm for 6.10 (part 1)

Decrease the usage of global GPIO numbers for LEDs for Orion5x boards

* tag 'mvebu-arm-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  ARM: orion5x: Convert TS409 board to GPIO descriptors for LEDs
  ARM: orion5x: Convert Net2big board to GPIO descriptors for LEDs
  ARM: orion5x: Convert MV2120 board to GPIO descriptors for LEDs
  ARM: orion5x: Convert DNS323 board to GPIO descriptors for LEDs
  ARM: orion5x: Convert D2Net board to GPIO descriptors for LEDs

Link: https://lore.kernel.org/r/87h6fcndxj.fsf@BLaptop.bootlin.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:48:42 +02:00
Arnd Bergmann
f89d22439f Samsung DTS ARM64 changes for v6.10, part two
Few changes exclusively for Google GS101:
 1. Add HSI0 and HSI2 clock controllers (CMUs).
 2. Add USB 3.1 Dual Role Device (DRD) support.
 3. Add UFS (Universal Flash Storage) support.
 4. Document bus clocks in pin controllers necessary for accessing
    registers.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmY2JecQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD11XtD/0Z1kko4kh5yhPR5k9PlqWtvRIdkJl/VVPT
 WwqH2WlrNk6b4k9VQ81LDpgmvdZMFkYOiZ9c+pqtAIIdy1EHOrJS3hKEcC3+Nf84
 iR1frVnlg8mROj2Iw8awVjzgJOgvL2sxkNcfV+316/akswmGuVKrDW8qfJ0BZYxn
 riEjgIfYyaLUgjK98pokATQfpjwd3rnfifIG8hAEc7SAXrdNVKGiWNIa55bIgWJv
 kJlRgXY47RaR+Ooznz9HNwa0NlI3LnMS1God0hHiM4typNqWvmAVtTlcfawyIzqQ
 2dX9VsK4f/CEnTuFW+cXtSO8eGA2lTNIEfoXOTff5KebvaXZW5EY+5VQ2CHekFpF
 ERumG47znXfuBLeXrbCVfw7NPvljgAh0LQN+g1IFH2Lw+QimqZA5H80eaZ3HZuXc
 3z2vEQwshg3ct6l2wWnfK9XMSXrpKE4CoXfTemYpkJf7FSZxp33/glI690ttXC6X
 +/Qgu21VmsNNPY+5H5xHAtCrGFkBfcLn7CrT1C+TJHO3PI65tkE4tOIkkCs3Q7+z
 kz1JVLLj5Ee85HtSiO3h2sc1Q9ZAjpxlfaaZ+esE4GaJ557ouM/ZUTzRPYLiGDFx
 XVGgJGhDQtvqnGO/UWAEM4K/Qz4mgeZpjyyWtMA1nYjcCYVqL4C0BHz3AL+fa1Ck
 8e8QA8KxjQ==
 =xbpt
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY56qgACgkQYKtH/8kJ
 UieBdRAAiMcVqW91TtSv0URuqkrzMDzADI4VVGGNhhL3gTGvp1RGAP1FTL6q1pUu
 INssEtgEK6v5kPJAYLUMNiYsCz9jeeOzfoR5D++Qq8PPv4w54CUN62jXOjf9vG9D
 CymEywEgaJAnFjb1XgNROuLjatm2GgbCZvUT0tLqFW9D1TA8mjmGYf24kHmzCQsf
 leTRCY70kCmUvnfnwli36Gsx6sPP5niyeWl0UAdDuFlpfUqokBWGQ+lWx5zAkfBZ
 zT4rDeyr1lxfRBUkXDwQlaAuf+mr7L+N+3C/VIZNW2V14zYCwCrPVJWtZgCBOv7V
 99itbRQMfjpApkcY2q5agad6zJfLMeyruw6MCoAwwxErhLXq8S3QYZAdhgKIrfR5
 yrIPtvMelvZJqYxTk9/24ecIGZlFJaxQsGVmgJjyt3MQFPus4sQkMifcYXVDSJlK
 w7jqcUFmhn8KwmJU0YkmvFjYG/GJ7VDn55lC0E7pBLv2UuIbWqMGzDmlLNkxtLKM
 h44PAEnoS2rdDQvFp8ijC7V15PpWG8vQOyIwGoIglcyVcg6xtN7ZAoB62DRl18iS
 2OH28C4TNidP1CwwJgVSuL/0HQfG5BqRte6Zx7psVqOUxSx4CzhL+xsdwRSELKBL
 c4q8nK2mhJ9UY83xSbN0FcORjUE1+Z4bznmRU5vRE4Oda3QPMu0=
 =3I13
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt64-6.10-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt

Samsung DTS ARM64 changes for v6.10, part two

Few changes exclusively for Google GS101:
1. Add HSI0 and HSI2 clock controllers (CMUs).
2. Add USB 3.1 Dual Role Device (DRD) support.
3. Add UFS (Universal Flash Storage) support.
4. Document bus clocks in pin controllers necessary for accessing
   registers.

* tag 'samsung-dt64-6.10-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: exynos: gs101: specify empty clocks for remaining pinctrl
  arm64: dts: exynos: gs101: specify bus clock for pinctrl_hsi2
  arm64: dts: exynos: gs101: specify bus clock for pinctrl_peric[01]
  arm64: dts: exynos: gs101: specify bus clock for pinctrl (far) alive
  arm64: dts: exynos: gs101: enable ufs, phy on oriole & define ufs regulator
  arm64: dts: exynos: gs101: Add ufs and ufs-phy dt nodes
  arm64: dts: exynos: gs101: Add the hsi2 sysreg node
  dt-bindings: soc: google: exynos-sysreg: add dedicated hsi2 sysreg compatible
  arm64: dts: exynos: gs101-oriole: enable USB on this board
  arm64: dts: exynos: gs101: add USB & USB-phy nodes
  arm64: dts: exynos: gs101: enable cmu-hsi2 clock controller
  arm64: dts: exynos: gs101: enable cmu-hsi0 clock controller
  dt-bindings: clock: google,gs101-clock: add HSI2 clock management unit
  dt-bindings: clock: google,gs101-clock: add HSI0 clock management unit

Link: https://lore.kernel.org/r/20240504121233.7589-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:47:36 +02:00
Arnd Bergmann
cbe240a8c5 Radxa Rock 3C board. More gpu+usb enablement on rk3588 boards as well
as two new iommus on rk3588.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmY389UQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgezsB/9c+E6x+Pn90no2zIioPVGU12nmwMuczv8o
 /4/ISTslNwkD9hC+GNhlMAsNkvuJpy9tJGO3S67oAXNq59X5AnzeIJFFgdYdmJB1
 QYZ5rKyotFkRkgD+lF44QobuMKP1RK7dsITz8g7sbOL5/QP8fAQUIL2nDnzZCOLT
 Ef+++JxeSbzpvPqphci85+EpEefCRJLIgSWI4LIoRC3QTVToqGidKab25T9c/OSb
 ll6gU7qrKWy4rwP0aQ9kw4ouLpHIL5T/jd9VdSx3gfcPYrldu6WBWvhdBglbVOFo
 92JZSpO2gO7LcUGnyq6kvNyV4rWW61OpPVofwXnM9KlFnJYxYgb3
 =DIqH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY56pkACgkQYKtH/8kJ
 UidckhAAtfwpRmUdRF2s+BGdbtf9AXYanPFJG6BEjc+oM8B/pX8kJTbYBeuOqiWF
 bHbBzegz7Y0iyCtGrnRUGFd5KMHMCsPYrKcrgtjLiqy5+P/xOdRrcmjbGIaiUG+u
 4F5Wx7r21L62d1pPpzRZU+8qSWjU1/vLAnz6zGdnFqAeE2l4MC5zfnoU90sdIpoS
 3s1u3UPFK5RVjoU0j2ht05taeue0X6KjaPefDJsl8570eoUlA0kKDa9RN3CMDH0W
 d34wWDDtKaDctkYx3MRXlpW8hBvuWObhB+t3oCw/uo0doZe5f6TEnPKdT8NcMPcA
 SLvvQwmWozZAAgkfjYYZYjM8bC8JXgMGZSV4aQok3NgiESL3Oj2m6tBdhrZB1Xia
 snOqHnp+IpGB+6oUJcqoJDOAtNK2wf1LFBWtRmpAwZIPNVlousUcfHFN/PhCBHBM
 yo75zIserVdQ6ovMuGztFipNyZ43RlDcMAcF8xdWgNP0VrOHhmL7eQXaJiAX5pNv
 ulCIacUUjiWB8UCfvjZnYdCkujxtuhKfGlqfkNDep8JkiAxZdnalyDvb8jAsmeku
 Z/LNdGlFFgb5AmXkDft4ob3cNCDdoMcEqc64mL0J8+F4yVqdvtlc0LbKpgfStEye
 4ec23CXOOIEKgNs8jZKwN7mJOGCG6Hochjhp0RpH5Yw0ALh53mk=
 =5mEg
 -----END PGP SIGNATURE-----

Merge tag 'v6.10-rockchip-dts64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt

Radxa Rock 3C board. More gpu+usb enablement on rk3588 boards as well
as two new iommus on rk3588.

* tag 'v6.10-rockchip-dts64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: add rk3588 pcie and php IOMMUs
  arm64: dts: rockchip: enable onboard spi flash for rock-3a
  arm64: dts: rockchip: add USB-C support to rk3588s-orangepi-5
  arm64: dts: rockchip: Enable GPU on Orange Pi 5
  arm64: dts: rockchip: enable GPU on khadas-edge2
  arm64: dts: rockchip: Add USB3 on Edgeble NCM6A-IO board
  arm64: dts: rockchip: Support poweroff on Edgeble Neural Compute Module
  arm64: dts: rockchip: Add Radxa ROCK 3C
  dt-bindings: arm: rockchip: add Radxa ROCK 3C

Link: https://lore.kernel.org/r/13810480.dW097sEU6C@diego
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:47:21 +02:00
Kenny Levinsen
d2b34fa814 HID: i2c-hid: Remove unused label in i2c_hid_set_power
This label was left behind when the wake-up logic was moved from
i2c_hid_set_power to i2c_hid_probe_address. Clean it up as it causes
warnings-as-errors builds to fail.

Fixes: bb1033c8a3ea ("HID: i2c-hid: Use address probe to wake on resume")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Kenny Levinsen <kl@kl.wtf>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2024-05-07 10:43:10 +02:00
Justin Stitt
e0550222e0 printk: cleanup deprecated uses of strncpy/strcpy
Cleanup some deprecated uses of strncpy() and strcpy() [1].

There doesn't seem to be any bugs with the current code but the
readability of this code could benefit from a quick makeover while
removing some deprecated stuff as a benefit.

The most interesting replacement made in this patch involves
concatenating "ttyS" with a digit-led user-supplied string. Instead of
doing two distinct string copies with carefully managed offsets and
lengths, let's use the more robust and self-explanatory scnprintf().
scnprintf will 1) respect the bounds of @buf, 2) null-terminate @buf, 3)
do the concatenation. This allows us to drop the manual NUL-byte assignment.

Also, since isdigit() is used about a dozen lines after the open-coded
version we'll replace it for uniformity's sake.

All the strcpy() --> strscpy() replacements are trivial as the source
strings are literals and much smaller than the destination size. No
behavioral change here.

Use the new 2-argument version of strscpy() introduced in Commit
e6584c3964 ("string: Allow 2-argument strscpy()"). However, to make
this work fully (since the size must be known at compile time), also
update the extern-qualified declaration to have the proper size
information.

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
Link: https://github.com/KSPP/linux/issues/90 [2]
Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [3]
Cc: linux-hardening@vger.kernel.org
Signed-off-by: Justin Stitt <justinstitt@google.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20240429-strncpy-kernel-printk-printk-c-v1-1-4da7926d7b69@google.com
[pmladek@suse.com: Removed obsolete brackets and added empty lines.]
Signed-off-by: Petr Mladek <pmladek@suse.com>
2024-05-07 10:41:51 +02:00
Arnd Bergmann
8db93c212e mvebu dt64 for 6.10 (part 1)
Few dts fix for dt validation
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCZjf6GgAKCRALBhiOFHI7
 1RdOAJ9/2i3xP4EcGlOIOYEwMhRpegEuXQCgkFgWJM0kIHoJoWGuYSLw8ApEVlw=
 =USEH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY54LYACgkQYKtH/8kJ
 UiePqxAAta8+WuabDzrWtWrkqRr71E4/2i7YxcBy5uuFGG79dKSA5ZDxIhm/L6KI
 v3yqXNBRH7pT8w46iYeYR46PysCEXGy+i9hO0oDIFgIAp76xV+6O0W0XYSxFmh/c
 qEHm90ugKe1xhrjatcONwFW8BT7eFH+GoCHesXtW3nEe/aIsE6sKAUuvJ6QRtv8p
 XGrfZ/McvZc15M4h590iIgCH52jhCL4WnGYeXmQDZf8c9X6ewh1ElbYZkC9RHtoB
 m5tAGti/rpt/Hslqmv1FX8f92UUDUVncTYhdTz0kEuVjPBVyUqWTAKUZwlVPT6by
 7tamLJrsNWAI7xgHAbvETR3OhdywSMIXtOTm4H04t2Vx+djb7RMK32TmAOeUcxfB
 xLjGDRyhnvVNZKlUO/Y2YSYEMkY9qfV8qIj/phTHJTufRE+Pol9N1nLqUD7wNZnH
 A4EMt26rm4MM04zEj7DxfPpg0yDsDdvhCSWti23DmTSToIVhXx5Yl596PsrNgSYh
 NMeTjDGE545HsoDUudD5gxZHUCApa6VmhifR0NcXT+EWCkcAxDSALEPLfENMOYMK
 Sj1KKVTB283Dc/Ink5IkJfyxHqBdxQufJ3EFkw5XlZFxR5ap4GQ1s0Q/FFPTc4O/
 QfxNVRnMnG3cinwygVzKoczsy/MFKbk3GJudxN9MPRsrhoHjHbk=
 =DM9C
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt64-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/dt

mvebu dt64 for 6.10 (part 1)

Few dts fix for dt validation

* tag 'mvebu-dt64-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arm64: dts: marvell: espressobin-ultra: fix Ethernet Switch unit address
  arm64: dts: marvell: turris-mox: drop unneeded flash address/size-cells
  arm64: dts: marvell: eDPU: drop redundant address/size-cells
  arm64: dts: marvell: cn9130-crb: drop unneeded "status"
  arm64: dts: marvell: cn9130-crb: drop wrong unit-addresses
  arm64: dts: marvell: cn9130-db: drop wrong unit-addresses
  arm64: dts: marvell: cn9131-db: drop unneeded flash address/size-cells
  arm64: dts: marvell: cn9130-db: drop unneeded flash address/size-cells
  arm64: dts: marvell: ap80x: fix IOMMU unit address

Link: https://lore.kernel.org/r/87jzk8ndyy.fsf@BLaptop.bootlin.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 10:05:10 +02:00
Jim Liu
7f45fe2ea3 gpio: nuvoton: Fix sgpio irq handle error
The generic_handle_domain_irq() function calls irq_resolve_mapping().
Thus delete a duplicative irq_find_mapping() call
so that a stack trace and an RCU stall will be avoided.

Fixes: c4f8457d17 ("gpio: nuvoton: Add Nuvoton NPCM sgpio driver")
Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/r/20240506064244.1645922-1-JJLIU0@nuvoton.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-05-07 09:44:33 +02:00
Andy Shevchenko
2b5ae9c7d9 gpiolib: Discourage to use formatting strings in line names
Currently the documentation for line names allows to use %u inside
the alternative name. This is broken in character device approach
from day 1 and being in use solely in sysfs.

Character device interface has a line number as a part of its address,
so the users better rely on it. Hence remove the misleading documentation.

On top of that, there are no in-kernel users (out of 6, if I'm correct)
for such names and moreover if one exists it won't help in distinguishing
lines with the same naming as '%u' will also be in them and we will get
a warning in gpiochip_set_desc_names() for such cases.

Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Kent Gibson <warthog618@gmail.com>
Link: https://lore.kernel.org/r/20240505141420.627398-1-andy.shevchenko@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-05-07 09:43:17 +02:00
Bartosz Golaszewski
68a25c3671 intel-gpio for v6.10-1
* New driver for vGPIO controller on Intel Granite Rapids-D
 * Update ACPI GPIO library to unify the IRQ code path
 * Better GPIO IRQ line labeling for ACPI
 * Switched Intel SCH driver to use "mapped" I/O accessors
 
 The following is an automated git shortlog grouped by driver:
 
 Add Intel Granite Rapids-D vGPIO driver:
  - Add Intel Granite Rapids-D vGPIO driver
 
 crystalcove:
  -  Use -ENOTSUPP consistently
 
 gpiolib:
  -  acpi: Set label for IRQ only lines
  -  acpi: Add fwnode name to the GPIO interrupt label
  -  acpi: Pass con_id instead of property into acpi_dev_gpio_irq_get_by()
  -  acpi: Move acpi_can_fallback_to_crs() out of __acpi_find_gpio()
  -  acpi: Simplify error handling in __acpi_find_gpio()
  -  acpi: Extract __acpi_find_gpio() helper
  -  acpi: Check for errors first in acpi_find_gpio()
  -  acpi: Remove never true check in acpi_get_gpiod_by_index()
 
 sch:
  -  Utilise temporary variable for struct device
  -  Switch to memory mapped IO accessors
 
 wcove:
  -  Use -ENOTSUPP consistently
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEqaflIX74DDDzMJJtb7wzTHR8rCgFAmY4lK4ACgkQb7wzTHR8
 rCjo8Q//YaGaR/0ZEh9s8pz5lLNz7MiyW3pDrABrRqd68yR4GhQcyHiUaybIrVtf
 ayNoyLn7u9On/j8bVPhru3fYWNGazg0q4KnMJu4BgkNsCCP6KWERHKzVHLuXg52Y
 zQiUsOWxlESYNlIhl0COy/o87dTPxQ3omnthMUDYUEvxuUv6aNIC0uCpXmSNm0+/
 L9bZo7z6AiZMOeU7+XnoGuzWt2OeQjpR3liHo2zgR8ftPIp+iqjiRrA39+adXl7l
 LVro6F76p/xxNfGEzB4qxpz1jwHSkEhhFtcd13+t/CHXAm34BcAMbm1xJN1yHNmU
 e42CQ2gAOZo8F88iW4z56Wr446Uw0knf17Fe91Xd1CpqMdW0Hp9arta7awPoxh0R
 kHx5T71UkilX6+/CwREL7hiolvnNCO/q7djq/XeO//xPT67N0EU5mKZF/1yQiLWz
 NrJpNCRiQq2ZaHhOA0eS/4+iokpkLE0baeXsQhWrIjvFXfif8J82GiSgce1RzbHO
 v0yGeUHRJvY54zdXMKzCXEw+bgOyJZPmk4tZwq9XCkBcCrjxmR4cUtPCkv7B7QWN
 aSaeFh4AAQoSal8jMey/et+nctFZyO87aK8Enze9kzv/9FIc5837yXfz1qfjffPd
 E1m4RYh5t8DgC+msBjwbr1jcOM6FJ5KyEXXZf5CgAEzL5Bespm4=
 =33sC
 -----END PGP SIGNATURE-----

Merge tag 'intel-gpio-v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel into gpio/for-next

intel-gpio for v6.10-1

* New driver for vGPIO controller on Intel Granite Rapids-D
* Update ACPI GPIO library to unify the IRQ code path
* Better GPIO IRQ line labeling for ACPI
* Switched Intel SCH driver to use "mapped" I/O accessors

The following is an automated git shortlog grouped by driver:

Add Intel Granite Rapids-D vGPIO driver:
 - Add Intel Granite Rapids-D vGPIO driver

crystalcove:
 -  Use -ENOTSUPP consistently

gpiolib:
 -  acpi: Set label for IRQ only lines
 -  acpi: Add fwnode name to the GPIO interrupt label
 -  acpi: Pass con_id instead of property into acpi_dev_gpio_irq_get_by()
 -  acpi: Move acpi_can_fallback_to_crs() out of __acpi_find_gpio()
 -  acpi: Simplify error handling in __acpi_find_gpio()
 -  acpi: Extract __acpi_find_gpio() helper
 -  acpi: Check for errors first in acpi_find_gpio()
 -  acpi: Remove never true check in acpi_get_gpiod_by_index()

sch:
 -  Utilise temporary variable for struct device
 -  Switch to memory mapped IO accessors

wcove:
 -  Use -ENOTSUPP consistently
2024-05-07 09:42:06 +02:00
Arnd Bergmann
5549d1e399 One more Qualcomm Arm64 DeviceTree fix for v6.9
On ths SA8155P automotive platform, the wrong gpio controller is defined
 for the SD-card detect pin, which depending on probe ordering of things
 cause ethernet to be broken. The card detect pin reference is corrected
 to solve this problem.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmYtG44VHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FThQQAJvYr5LolVQPL4etFNL1OY/2xC2u
 gAahfgrXk/IDpJAsnJ2fgZn59A4zuNI+Efvh6iWbMkVhyKgdiTY/VI2Io5iSb0mq
 NmdWf2ll/aaM7C35Q7nsWB3bERN+GlLXKXJEugJrpct9uzlJYNkawZvyhquxBLc5
 MAYXugaD7xzMVliYIyhova1+nzcMfgZld4PzyBDnpXz0GtN7ZyI0XaRa8FcYl5FV
 ESNHpsIrP0mxFWWJS9XOkBeEGNVN3DH1SS4p73AiJ0LFU4Y5DxmtqeBFPtPB7Gpe
 AR165n3bAr77gT3cQ8/uo1afCCSV07tSdxhy6ULn1HSiROBIJRZjpb2ly1asMhe6
 DjviNcgxtpYHC1xh9ItTt7gojlD6ZdK26M5HoEn5+TyRZ6ZbeAZnw749maZ03mXu
 pTKUdTg5hgLgGmuiq5lupuKr3YltuXpRe9oGZJxAUlU3MHTxdG8+5oRLYha5qqd3
 T8UBYT1fpxknuqAsye7rnE/fhok0QGGhsWTQwYnTh9t/5wbK9/wQwN4fuOwEGwtR
 23LDZFMEksVW5sykYmwBFqQ5AzqfyaRU3sMyDA+Pn9XKGvtZ0McPmlrvmPTjQXsp
 0q9XU14Ozd/D7mihATLKDija8wdlNRNK7p8U+vxuGzQBArNPWbL8onARpSjhzu7/
 b+osswzeX6FbvY1E
 =+Jm6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmY5xQoACgkQYKtH/8kJ
 UicIQg//YmxeExPEPpfbDtVd3rMaEgy7THE7QMxcRVE0daea4pF+aMD8cmYhGvhk
 XICNC+Qj8x3ZL2Q0efN5LqJK3fL2CiS5asU0dwhm69nuumygsznkiLW7Dj0zDNoG
 rZwbx3gPAhJ3dkg8V55ag2D58/1wq/LsmrcR/HSRxBZtOgJLknf3fHNlKP9EfiMO
 NuJPloUsRoosTetLpC5me3rE9REruGvBYhPPe5AOM2TYkEXttYAsbS0vVdaPxg9t
 77O13ASuDLMMcU+mgOnLxzQUNP6+SQKVmkfQecgXS9dfaTs5Ru6x7T1ffbxRrh2r
 AUSh2TpImg9MU9Mz3345dhR8nriCUxw4KIiud5MF2y2ig4Ho5Kz9bkFiPNNTBkIH
 OLRRlRpy0YglbZWQ4dfDar0Klzkbe5IFrGZCdWQo/jzt+yNDjhX/ZDx6gqSLHf+T
 QBRjzjnWXVTz+s36b7vPW+PpmSeZWL0jMOMKekpIp7nXXYj9nHThebq7pETFq0SY
 e/bAdy/wNTsK51vcMh+5+acMDoXq/pqbhKZfN6QdO7i/ymbh+4mCEi2VcaiH3w3a
 i+wKBuMy0k5pkjNAWXkUSl1+RyT71+Sz1um4gBezKk5QqSXM1C6yqaX+LJ7IiqnD
 8ev1T1CtrcXL3EajYTD7BeU0ryz1hs4Bumk3nOYsgKy/Rd6UcRA=
 =CCJj
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-fixes-for-6.9-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes

One more Qualcomm Arm64 DeviceTree fix for v6.9

On ths SA8155P automotive platform, the wrong gpio controller is defined
for the SD-card detect pin, which depending on probe ordering of things
cause ethernet to be broken. The card detect pin reference is corrected
to solve this problem.

* tag 'qcom-arm64-fixes-for-6.9-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: dts: qcom: sa8155p-adp: fix SDHC2 CD pin configuration

Link: https://lore.kernel.org/r/20240427153817.1430382-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-05-07 08:07:06 +02:00
Luca Weiss
4d5ba6ead1 dt-bindings: remoteproc: qcom,sdm845-adsp-pil: Fix qcom,halt-regs definition
Set the 'items' correctly for the qcom,halt-regs property and update the
description to match what it should be.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20240407-qcom-halt-regs-fixup-v1-3-a0ea4e2c178e@z3ntu.xyz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-05-06 19:41:38 -07:00
Luca Weiss
16e204e958 dt-bindings: remoteproc: qcom,sc7280-wpss-pil: Fix qcom,halt-regs definition
Set the 'items' correctly for the qcom,halt-regs property and update the
description to match what it should be.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20240407-qcom-halt-regs-fixup-v1-2-a0ea4e2c178e@z3ntu.xyz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-05-06 19:41:38 -07:00
Luca Weiss
a0bcbce661 dt-bindings: remoteproc: qcom,qcs404-cdsp-pil: Fix qcom,halt-regs definition
Set the 'items' correctly for the qcom,halt-regs property and update the
description to match what it should be.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20240407-qcom-halt-regs-fixup-v1-1-a0ea4e2c178e@z3ntu.xyz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-05-06 19:41:37 -07:00
Dmitry Baryshkov
a0acdef561 dt-bindings: remoteproc: qcom,msm8996-mss-pil: allow glink-edge on msm8996
MSM8996 has limited glink support, allow glink-edge node on MSM8996
platform.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240418-msm8996-remoteproc-v2-1-b9ae852bf6bc@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-05-06 19:41:37 -07:00
Luca Weiss
335617f0d5 dt-bindings: remoteproc: qcom,smd-edge: Mark qcom,ipc as deprecated
Deprecate the qcom,ipc way of accessing the mailbox in favor of the
'mboxes' property.

Update the example to use mboxes.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20240425-qcom-ipc-deprecate-v1-1-a8d8034253ea@z3ntu.xyz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-05-06 19:41:37 -07:00
Ming Lei
ffd379c13f block: set default max segment size in case of virt_boundary
For devices with virt_boundary limit, the driver may provide zero max
segment size, we have to set it as UINT_MAX at default. Otherwise, it
may cause warning in driver when handling sglist.

Fix it by setting default max segment size as UINT_MAX.

Cc: Christoph Hellwig <hch@lst.de>
Cc: Mike Snitzer <snitzer@kernel.org>
Fixes: b561ea56a2 ("block: allow device to have both virt_boundary_mask and max segment size")
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Closes: https://lore.kernel.org/linux-block/7e38b67c-9372-a42d-41eb-abdce33d3372@linux-m68k.org/
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20240424134722.2584284-1-ming.lei@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2024-05-06 20:27:51 -06:00
Krzysztof Kozlowski
bcbab579f9 rpmsg: qcom_glink_ssr: fix module autoloading
Add MODULE_DEVICE_TABLE(), so the module could be properly autoloaded
based on the alias from of_device_id table.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240410164058.233280-1-krzk@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-05-06 19:26:28 -07:00
Jakub Kicinski
179a6f5df8 ipsec-next-2024-05-03
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEH7ZpcWbFyOOp6OJbrB3Eaf9PW7cFAmY0mEIACgkQrB3Eaf9P
 W7fU7g//bQyydwei/4Vo+cNCPp82k8wL/qhDY3IjN10PfJOSNmeCAcSgkuuHTRSx
 g/hoxZEVzLrQT5bt+Sb38JxADFiL787GjdGEUy1gzF7CnDKcGT5KnydYNjDqDVGt
 nOv9kAGfWIkMKdNqrhHifddPMWd+ZqvpUcFz5olvqIE2mpNgMwy2i3NID9bNAV31
 v5AEvNINa1LKOhX9cEka8iPQXwp+I6yTLqyOd4VciOuFr8dPg0FQqFaYR+OtMsV0
 kIxdGTVfmRWaNgq/Tsg4z/2rXEwmEjTWzAhNVGu8o8L3JozXOvbjIrDG7Ws6qB3V
 XTFl8ueRMk0UCTlY/QAfip5H7IlAo+H0FUBC45FNP1UhHeWisXT4D5rqAEqQTlZR
 bddtuueLZyKclFpXRNi+/8vdDrXhhEzeNINkc52Ef33rUTtZJR8bXrEUKzaYCIuF
 ldub0PA3+e5wvwIxq5/Chc/+MIaIHnXBMUmbCJSPnMrupBQtO+i6arPQcbtaBAgS
 YyVGTRk9YN0UAjSriIuiViLlgUCMsvsWgfSz9rd0PE54MFBrvcLPeCtPxKZ+sTVG
 Y2iSZ8d3ThvsMiQVNU8gj3SlTY1oTvuaijDDGjnR0nWkxV9LMJHCPKfIzsbOKLJe
 +ee5hKP4TOFygnV58BkqdGK/LavNpouTIbrM43hgmJ0IX9kSt4o=
 =QiGZ
 -----END PGP SIGNATURE-----

Merge tag 'ipsec-next-2024-05-03' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next

Steffen Klassert says:

====================
pull request (net-next): ipsec-next 2024-05-03

1) Remove Obsolete UDP_ENCAP_ESPINUDP_NON_IKE Support.
   This was defined by an early version of an IETF draft
   that did not make it to a standard.

2) Introduce direction attribute for xfrm states.
   xfrm states have a direction, a stsate can be used
   either for input or output packet processing.
   Add a direction to xfrm states to make it clear
   for what a xfrm state is used.

* tag 'ipsec-next-2024-05-03' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next:
  xfrm: Restrict SA direction attribute to specific netlink message types
  xfrm: Add dir validation to "in" data path lookup
  xfrm: Add dir validation to "out" data path lookup
  xfrm: Add Direction to the SA in or out
  udpencap: Remove Obsolete UDP_ENCAP_ESPINUDP_NON_IKE Support
====================

Link: https://lore.kernel.org/r/20240503082732.2835810-1-steffen.klassert@secunet.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-05-06 19:14:56 -07:00
Shi-Sheng Yang
46a5d3abed mptcp: fix typos in comments
This patch fixes the spelling mistakes in comments.
The changes were generated using codespell and reviewed manually.

eariler -> earlier
greceful -> graceful

Signed-off-by: Shi-Sheng Yang <fourcolor4c@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://lore.kernel.org/r/20240502154740.249839-1-fourcolor4c@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-05-06 19:12:08 -07:00
Simon Horman
6bee694225 octeontx2-pf: Treat truncation of IRQ name as an error
According to GCC, the constriction of irq_name in otx2_open()
may, theoretically, be truncated.

This patch takes the approach of treating such a situation as an error
which it detects by making use of the return value of snprintf, which is
the total number of bytes, excluding the trailing '\0', that would have
been written.

Based on the approach taken to a similar problem in
commit 54b909436e ("rtc: fix snprintf() checking in is_rtc_hctosys()")

Flagged by gcc-13 W=1 builds as:

.../otx2_pf.c:1933:58: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
 1933 |                 snprintf(irq_name, NAME_SIZE, "%s-rxtx-%d", pf->netdev->name,
      |                                                          ^
.../otx2_pf.c:1933:17: note: 'snprintf' output between 8 and 33 bytes into a destination of size 32
 1933 |                 snprintf(irq_name, NAME_SIZE, "%s-rxtx-%d", pf->netdev->name,
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1934 |                          qidx);
      |                          ~~~~~

Compile tested only.

Tested-by: Geetha sowjanya <gakula@marvell.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20240503-octeon2-pf-irq_name-truncation-v2-1-91099177b942@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-05-06 19:07:34 -07:00
Donald Hunter
9adcac6506 netlink: specs: Add missing bridge linkinfo attrs
Attributes for FDB learned entries were added to the if_link netlink api
for bridge linkinfo but are missing from the rt_link.yaml spec. Add the
missing attributes to the spec.

Fixes: ddd1ad6882 ("net: bridge: Add netlink knobs for number / max learned FDB entries")
Signed-off-by: Donald Hunter <donald.hunter@gmail.com>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://lore.kernel.org/r/20240503164304.87427-1-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-05-06 19:06:07 -07:00
Martin K. Petersen
40ae6a1ee5 Merge patch series "Update lpfc to revision 14.4.0.2"
Justin Tee <justintee8345@gmail.com> says:

Update lpfc to revision 14.4.0.2

This patch set contains updates to log messaging, a bug fix related to
unloading of the driver, clean up patches regarding the abuse of a
global spinlock, and support for 32 byte CDBs.

Link: https://lore.kernel.org/r/20240429221547.6842-1-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:56:00 -04:00
Justin Tee
3f1d179f8f scsi: lpfc: Copyright updates for 14.4.0.2 patches
Update copyrights to 2024 for files modified in the 14.4.0.2 patch set.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240429221547.6842-9-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:53:58 -04:00
Justin Tee
37a8001d7b scsi: lpfc: Update lpfc version to 14.4.0.2
Update lpfc version to 14.4.0.2

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240429221547.6842-8-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:53:58 -04:00
Justin Tee
af20bb73ac scsi: lpfc: Add support for 32 byte CDBs
The driver's I/O path is updated to support 32 byte CDBs.

Changes to accommodate 32 byte CDBs include:

 - Updating various size fields to allow for the larger 32 byte CDB.

 - Starting the FCP command payload at an earlier offset in WQE submission
   to fit the 32 byte CDB.

 - Redefining relevant structs to __le32/__be32 data types for proper cpu
   endianness macro usage.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240429221547.6842-7-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:53:58 -04:00
Justin Tee
e780c9423b scsi: lpfc: Change lpfc_hba hba_flag member into a bitmask
In attempt to reduce the amount of unnecessary phba->hbalock acquisitions
in the lpfc driver, change hba_flag into an unsigned long bitmask and use
clear_bit/test_bit bitwise atomic APIs instead of reliance on phba->hbalock
for synchronization.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240429221547.6842-6-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:53:58 -04:00
Justin Tee
5f800d7276 scsi: lpfc: Introduce rrq_list_lock to protect active_rrq_list
Instead of using the generic object wide phba->hbalock, an explicit lock
should be used to synchronize mutations to the phba->active_rrq_list.

Update all accesses to the phba->active_rrq_list with a new
phba->rrq_list_lock.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240429221547.6842-5-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:53:58 -04:00
Justin Tee
bf81e9cd17 scsi: lpfc: Clear deferred RSCN processing flag when driver is unloading
Device recovery logic is skipped when the RSCN processing flag is set.
However during rmmod, the flag is not cleared leading to unnecessary delays
in waiting for completions on a link that is being offlined.

Move clearing of the RSCN deferred flag to a refactored routine when called
from device recovery, and set the IA flag when issuing an abort during
unload.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240429221547.6842-4-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:53:58 -04:00
Justin Tee
18f7761d5c scsi: lpfc: Update logging of protection type for T10 DIF I/O
A struct scsi_cmnd already contains T10 DIF protection type information in
prot_type.  So, instead of manually checking a CDBs' RD/WRPROTECT fields
with (byte[1] >> 5) utilize scsi_get_prot_type().

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240429221547.6842-3-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:53:58 -04:00
Justin Tee
1db60fa059 scsi: lpfc: Change default logging level for unsolicited CT MIB commands
For diagnostic purposes, it is convenient to automatically log unexpected
CT MIB events without the need to set lpfc_log_verbose flags.  So, change
lpfc_ct_handle_mibreq's logging level from KERN_INFO to KERN_WARNING.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240429221547.6842-2-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:53:58 -04:00
Martin K. Petersen
d94fc48129 Merge branch '6.9/s/lpfc2' into 6.10/s/lpfc
Pull in bug fix update from 6.9/scsi-fixes to accommodate 14.4.0.2
series.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:52:33 -04:00
Dr. David Alan Gilbert
0f7b063faf scsi: target: Remove unused list 'device_list'
Commit be50f538e9 ("target: remove g_device_list") made 'g_device_list'
local as 'device_list' but also removed the last use of it, the code that
added the device to it.

Build tested only.

Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
Link: https://lore.kernel.org/r/20240503234419.171823-1-linux@treblig.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:40:51 -04:00
Dr. David Alan Gilbert
0d90aee6de scsi: iscsi: Remove unused list 'connlist_err'
I think the last use of this list was removed by
  commit 23d6fefbb3 ("scsi: iscsi: Fix in-kernel conn failure
handling").

Build tested only.

Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
Link: https://lore.kernel.org/r/20240503232309.152320-1-linux@treblig.org
Reviewed-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:39:32 -04:00
Mark Brown
741e987d04
ASoC: use 'time_left' instead of 'timeout' with
Merge series from Wolfram Sang <wsa+renesas@sang-engineering.com>:

There is a confusing pattern in the kernel to use a variable named 'timeout' to
store the result of wait_for_*() functions causing patterns like:

        timeout = wait_for_completion_timeout(...)
        if (!timeout) return -ETIMEDOUT;

with all kinds of permutations. Use 'time_left' as a variable to make the code
obvious and self explaining.

This is part of a tree-wide series. The rest of the patches can be found here
(some parts may still be WIP):

git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git i2c/time_left

Because these patches are generated, I audit them before sending. This is why I
will send series step by step. Build bot is happy with these patches, though.
No functional changes intended.
2024-05-07 10:38:11 +09:00
Mark Brown
d98b07124b
ASoC: Use snd_soc_substream_to_rtd() for accessing
Merge series from Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>:

Do not open-code snd_soc_substream_to_rtd() when accessing
snd_pcm_substream->private_data.  This makes code more consistent with
rest of ASoC and allows in the future to move the field to any other
place or add additional checks in snd_soc_substream_to_rtd().
2024-05-07 10:38:02 +09:00
Mark Brown
ba04ff2006
ALSA/ASoC: Intel: clarify Copyright information
Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:

This patchset does not change any functionality. It only clarifies the
Copyright information in ASoC/HDAudio contributions, where an "All
rights reserved" notice was mistakenly added in a number of files over
the years, likely due to copy/paste. The Intel template never included
this statement.
2024-05-07 10:37:51 +09:00
Martin K. Petersen
0d9a1ec632 Merge patch series "ufs-exynos support for Tensor GS101"
Peter Griffin <peter.griffin@linaro.org> says:

Hi Martin, James & Alim,

This series adds support to the ufs-exynos driver for Tensor gs101
found in Pixel 6. It was send previously in [1] and [2] but included
the other clock, phy and DTS parts. This series has been split into
just the ufs-exynos part to hopefully make things easier.

With this series, plus the phy, clock and dts changes UFS is
functional upstream for Pixel 6. The SKhynix HN8T05BZGKX015 can be
enumerated, partitions mounted etc.

The series is split into some prepatory patches for ufs-exynos and a
final patch that adds the gs101 support.

Note the sysreg clock has been moved to ufs node as fine grained clock
control around the syscon sysreg register accesses doesn't result in
functional UFS.

regards,

Peter

Link: https://lore.kernel.org/r/20240426122004.2249178-1-peter.griffin@linaro.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:37:20 -04:00
Peter Griffin
d11e0a318d scsi: ufs: exynos: Add support for Tensor gs101 SoC
Add a dedicated compatible and drv_data with associated hooks for gs101 SoC
found on Pixel 6.

Note we make use of the previously added EXYNOS_UFS_OPT_UFSPR_SECURE
option, to skip initialisation of UFSPR registers as these are only
accessible via SMC call.

EXYNOS_UFS_OPT_TIMER_TICK_SELECT option is also set to select tick
source. This has been done so as not to effect any existing platforms.

DBG_OPTION_SUITE on gs101 has different address offsets to other SoCs so
these register offsets now come from uic_attr struct.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Link: https://lore.kernel.org/r/20240426122004.2249178-7-peter.griffin@linaro.org
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Tested-by: Will McVicker <willmcvicker@google.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:34:37 -04:00
Peter Griffin
6f9f0d564b scsi: ufs: exynos: Add some pa_dbg_ register offsets into drvdata
This allows these registers to be at different offsets or not exist at all
on some SoCs variants.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Link: https://lore.kernel.org/r/20240426122004.2249178-6-peter.griffin@linaro.org
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Tested-by: Will McVicker <willmcvicker@google.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2024-05-06 21:34:37 -04:00