Rather than hard coding various lengths, we can use the right constants.
Strings should be `char *` while buffers should be `u8 *`. Rather than
have a nonsensical and unused maxlength, just remove it. Finally, use
snprintf instead of sprintf, just out of good hygiene.
As well, remove the old comment about returning a binary UUID via the
binary sysctl syscall. That syscall was removed from the kernel in 5.5,
and actually, the "uuid_strategy" function and related infrastructure
for even serving it via the binary sysctl syscall was removed with
894d249115 ("sysctl drivers: Remove dead binary sysctl support") back
in 2.6.33.
Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Fix a race in the xsk socket teardown code that can lead to a NULL pointer
dereference splat. The current xsk unbind code in xsk_unbind_dev() starts by
setting xs->state to XSK_UNBOUND, sets xs->dev to NULL and then waits for any
NAPI processing to terminate using synchronize_net(). After that, the release
code starts to tear down the socket state and free allocated memory.
BUG: kernel NULL pointer dereference, address: 00000000000000c0
PGD 8000000932469067 P4D 8000000932469067 PUD 0
Oops: 0000 [#1] PREEMPT SMP PTI
CPU: 25 PID: 69132 Comm: grpcpp_sync_ser Tainted: G I 5.16.0+ #2
Hardware name: Dell Inc. PowerEdge R730/0599V5, BIOS 1.2.10 03/09/2015
RIP: 0010:__xsk_sendmsg+0x2c/0x690
[...]
RSP: 0018:ffffa2348bd13d50 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000040 RCX: ffff8d5fc632d258
RDX: 0000000000400000 RSI: ffffa2348bd13e10 RDI: ffff8d5fc5489800
RBP: ffffa2348bd13db0 R08: 0000000000000000 R09: 00007ffffffff000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff8d5fc5489800
R13: ffff8d5fcb0f5140 R14: ffff8d5fcb0f5140 R15: 0000000000000000
FS: 00007f991cff9400(0000) GS:ffff8d6f1f700000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000000000c0 CR3: 0000000114888005 CR4: 00000000001706e0
Call Trace:
<TASK>
? aa_sk_perm+0x43/0x1b0
xsk_sendmsg+0xf0/0x110
sock_sendmsg+0x65/0x70
__sys_sendto+0x113/0x190
? debug_smp_processor_id+0x17/0x20
? fpregs_assert_state_consistent+0x23/0x50
? exit_to_user_mode_prepare+0xa5/0x1d0
__x64_sys_sendto+0x29/0x30
do_syscall_64+0x3b/0xc0
entry_SYSCALL_64_after_hwframe+0x44/0xae
There are two problems with the current code. First, setting xs->dev to NULL
before waiting for all users to stop using the socket is not correct. The
entry to the data plane functions xsk_poll(), xsk_sendmsg(), and xsk_recvmsg()
are all guarded by a test that xs->state is in the state XSK_BOUND and if not,
it returns right away. But one process might have passed this test but still
have not gotten to the point in which it uses xs->dev in the code. In this
interim, a second process executing xsk_unbind_dev() might have set xs->dev to
NULL which will lead to a crash for the first process. The solution here is
just to get rid of this NULL assignment since it is not used anymore. Before
commit 42fddcc7c6 ("xsk: use state member for socket synchronization"),
xs->dev was the gatekeeper to admit processes into the data plane functions,
but it was replaced with the state variable xs->state in the aforementioned
commit.
The second problem is that synchronize_net() does not wait for any process in
xsk_poll(), xsk_sendmsg(), or xsk_recvmsg() to complete, which means that the
state they rely on might be cleaned up prematurely. This can happen when the
notifier gets called (at driver unload for example) as it uses xsk_unbind_dev().
Solve this by extending the RCU critical region from just the ndo_xsk_wakeup
to the whole functions mentioned above, so that both the test of xs->state ==
XSK_BOUND and the last use of any member of xs is covered by the RCU critical
section. This will guarantee that when synchronize_net() completes, there will
be no processes left executing xsk_poll(), xsk_sendmsg(), or xsk_recvmsg() and
state can be cleaned up safely. Note that we need to drop the RCU lock for the
skb xmit path as it uses functions that might sleep. Due to this, we have to
retest the xs->state after we grab the mutex that protects the skb xmit code
from, among a number of things, an xsk_unbind_dev() being executed from the
notifier at the same time.
Fixes: 42fddcc7c6 ("xsk: use state member for socket synchronization")
Reported-by: Elza Mathew <elza.mathew@intel.com>
Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Björn Töpel <bjorn@kernel.org>
Link: https://lore.kernel.org/bpf/20220228094552.10134-1-magnus.karlsson@gmail.com
1. Minor fixes and cleanups in newly introduced support for Exynos850.
2. Add basic support for Exynos7885 and Samsung Galaxy A8 (2018):
SM-A530F.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmIaoIgQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD16CtD/wIWks7DuJBI4l3CGqWe+30xjIuTbcClWn9
cykB6hONIz1Gpw+l2i/RFaYIDYD+HA9FyCC+dRvL+SuGp+awFqcgIOtTs3YzBVti
Tu3XKX2q9xodGeMx/1vDkAfg9dpKgIs9ua4DMYeTW0B7/WTaX7YUayEDHIV4E5Z4
FUSjD1S+JHyFQXpJrU+vlGTyLx2IbUW7ybvh0wcEdCeqVdmpg10tgjaZiKBGbNGe
m56Wnq2v0hMVN7Ol60WUuvbKS5+l1UJtbOQQEiHU/t7qHji2zO1mMrdXiAcqp4CE
9SPPS5uOQCVkNrNdpICQwDx+A4Fb96I1oiOoZ30EX/5VWLU2tCrWdYltRqqeYtIF
vq9Zha4WCj80OFYfcXzHYyZf4E+OqqORZYE8plXoO7kphqRQrX0GV6MT+Sh2hmks
zZosZUmuKj0bKZx41gDmilS5Q5a4eg0hoRFxl7DqBBulAgACJalfiLxlJXyOymwg
a1hYrdWbUKhtyZ272Scsd3PG1kDqboanVp0ziIXgB4OWHefTeYGo84x4rDGU8Ttf
nB2sSxalTjSWHvmywLG0iHWdaGkXKqvXS1pomvHDCNnabBCXKxgpXFuUNbrE+Nre
5FTwveJ4CrSZbKdXcLDtXwx9Z8f+7PmROm+1E0XT7ohZXSezrxTCfYyVFyOlv3Zm
315FnazzXw==
=+2r/
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2b0ACgkQmmx57+YA
GNkFnBAAtnETyanWN205FGTIYpP0Up8Vj+4q1fultPqzcZ3bK0uo2PNl7iS3FyUW
ix75d8onM/dakkjIRAUTsnv6oK+9LrmsPUBg4zac9AbEUo8w3sGlTeQwAHQ5kuDS
WlZHHzkB2GFeZzwlKCYMuCgWFyOzizl9kTQmRxRcJYYd5/VzpdlcCJwwdlN5Rcvn
4v3Mtr0Mz4YyS8Ij9EKX/xJ18S6VRU6tbHhlU5EVW4QpUbqAd3kUh2IbUO+PuFjk
rs2kicGOP3BcmIPDa8ABscf//50NLIAHBFvl55MzL6Z+NPWdfg7EhlUGIXIs786p
XDEUMNzwPGmba4gyDYLp5/bYe94+x0dnmFk7+i3kymHLh6xCfEE8HA8f5qAGIz1W
GKuNUeKsh0nQNBEHW8Y4KbJIjz5/Q09wWF8iA2WliL40iktos6CcpDU+mjE57Z2T
GCO/4dh3gYDz/+jLhBrrQrBIvt4i3xTnlnQ0yboyb20urXbHoJ6nqma+NKVvtkID
5YhZHMFEPhJ5J6NBEJJ1OHXkJV1hR+EjP5kW3zvla5pkSfdYzTkZ6FmwovG13Nk/
D9MG6r0NQMUfw+8OxoD4Qo5Mv2bNZemya3JjhAYvA9MJLgKDvY4DONaVVlW4ym0A
/VdR7vN40aNHb8Ahr+3AKYLc4j4ldSGNAhTRJZMd6Hlxe8za14U=
=efOO
-----END PGP SIGNATURE-----
Merge tag 'samsung-dt64-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt
Samsung DTS ARM64 changes for v5.18, part two
1. Minor fixes and cleanups in newly introduced support for Exynos850.
2. Add basic support for Exynos7885 and Samsung Galaxy A8 (2018):
SM-A530F.
* tag 'samsung-dt64-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
arm64: dts: exynos: Add initial device tree support for Exynos7885 SoC
arm64: dts: exynos: use dedicated wake-up pinctrl compatible in Exynos850
arm64: dts: exynos: align pinctrl with dtschema in Exynos850
arm64: dts: exynos: drop incorrectly placed wakeup interrupts in Exynos850
Link: https://lore.kernel.org/r/20220226220116.13452-2-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Based on the for-5.18/dt-bindings changes, this adds various new
features on Tegra234 such as IOMMU, audio, gpio-keys, I2C and PWM
support.
Device trees for 64-bit Tegra boards are now also built with overlay
support enabled, which allows firmware to apply overlays and customize
the DTB that is passed to the kernel.
There are also a couple of cleanups and additions for older devices,
such as USB device mode support on Jetson Xavier NX.
-----BEGIN PGP SIGNATURE-----
iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmIZBv4THHRyZWRpbmdA
bnZpZGlhLmNvbQAKCRDdI6zXfz6zoQCxD/91Rrrx6YerbjauJbX8on8yFhRGQUuf
MNvOkfyzI3fSZjJyfZxR13gcJp0gh8oaFBEoBnIaSUEN+lLtlWZl4oQOU+Y1ZE1x
vXiResOWGJaugKcRsR1CiGPnsWUDBiJtnRqoRdZSWUDHKno2ekqMS9lhMp+PmMY0
8U/m3VV4C6JvNe9gO5kwo0egYRe9jFuncwtepi/YFUpMkGQ6P5WC1PjrLH3xJm3i
609zobLbbOreV/ZN3W3x3uUgh49bm9FORwRSHrlmv79rlnBLMEXDEbWP4GHuDSUR
jVFu9tghxv6PGy6JxkNomdv9EYOjrLa8NgmXKkfbLEIZf4jT1cNXrtSufhyj4GXC
5KKkPB19fMtv/t53EzDjkDLfVAuCb/yBO62rtj28DLsR30ubhlVBK4GcHIsAcmot
wz0mE7+NkBsr3X2qCUr0JBC6thFv6X8E5bXTc/zsGDfVNnKl8k+zXejiZDh68aVN
EHYgQLneAWIQ2Af1nK6gQjs3pMdiqtAUZlCVFL0vM6VgT9hGi1N8l1DeHZa7elJw
WHUrSFr/56WBdC0eKT2nxDzhygEGxkjkI2HKI/7hVrsRaOOC4rY4PDat0VwWyUIN
JYPjTKqVcvYa+rNuAr7P4/EMl4kglB6dBTQFyeT446ff9R5Umxpvv+CaPD0aDz0o
8TzA9Gc89MiH2Q==
=ZfCL
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2QUACgkQmmx57+YA
GNm8RxAAn4b8uK0TQ/AMvgdFabENBfsNGm6cYVIUp28SW1PBwacSzXRJYLypVXqv
HWb6GmWoDqgvCHPFYtUF68IvC1SY3pgT517UFSXucnfqXw17Ew9rY45lNkW4rEI3
jEmaTGNdqon33KTNQyH6r8m4qL8lKOAdU7TO4UjvcAK41eHL2r4uTLe2hNW+etqR
/3Vbc5aVY6gq89hQh00KNjd6RSaLC/axJCBd2fMEwGFYHajk8IEldKe2bTPU/hWZ
egNEmWjRPy3SvJ+zKl8irbaEIvgGv59gE9mTiqDfgTHXI3FPe8I3DwqYo0a9Wmjb
6ACU9NfO6pyXgfaPtiqtQRN/QHhJngc/pZLX7x0GdszSDGff44Z/GY6Sowi3Y56i
h8H+bYXZouCqH8Sb850fO+Bxlrl5TuwCQ8CwVzwlKgkbnmfVMPk6pmdSuLRJGcpr
d+Tor0jbZWF4OO1vNcJ9YmA+/CVWmOuDDJU40IwuQldHwAZsVcAt2J88FkteYn28
seVQOkfbXIhR8r80aUU+E9yTgYAr7k9wJU+B4qB2HLZM6CxEkfRk82BpJODTakD8
42CvZIZXBCQ+ulTUTxz0nmHCjipJPOIxJ83eYEwuCZkgM79b0APiSVjw0htPmCzD
znh6zecOBtxr1ftNnZPi+aVfyuJDpmnkpuw+netaDms3gRqFpxE=
=l0Ys
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-5.18-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt
arm64: tegra: Device tree changes for v5.18-rc1
Based on the for-5.18/dt-bindings changes, this adds various new
features on Tegra234 such as IOMMU, audio, gpio-keys, I2C and PWM
support.
Device trees for 64-bit Tegra boards are now also built with overlay
support enabled, which allows firmware to apply overlays and customize
the DTB that is passed to the kernel.
There are also a couple of cleanups and additions for older devices,
such as USB device mode support on Jetson Xavier NX.
* tag 'tegra-for-5.18-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
arm64: tegra: Drop arm,armv8-pmuv3 compatible string
arm64: tegra: Enable Jetson Xavier NX USB device mode
arm64: tegra: Enable UART instance on 40-pin header
arm64: tegra: Add HDA device tree node for Tegra234
arm64: tegra: Enable device-tree overlay support
arm64: tegra: APE sound card for Jetson AGX Orin
arm64: tegra: Add audio devices on Tegra234
arm64: tegra: Move audio IOMMU properties to ADMAIF node
arm64: tegra: Add Tegra234 IOMMUs
arm64: tegra: Enable gpio-keys on Jetson AGX Orin Developer Kit
arm64: tegra: Add GPCDMA node for tegra186 and tegra194
arm64: tegra: Add Tegra234 PWM devicetree nodes
arm64: tegra: Add Tegra234 I2C devicetree nodes
Link: https://lore.kernel.org/r/20220225164741.1064416-4-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The changes in this set are cleanups and fixes for 32-bit Tegra device
tree files. With these, some json-schema validation errors are fixed.
-----BEGIN PGP SIGNATURE-----
iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmIZBiMTHHRyZWRpbmdA
bnZpZGlhLmNvbQAKCRDdI6zXfz6zob10D/4jYR8VDIRk08ikMvSrbsDfeMLckZ5s
4pZtapp1zYflJru8y3EqhxvrMTvhK17rFDbaZRJQawCi0q2gUCFmeDUq3axfeY8x
Z4RA8LJVFQ9innUgO//adDEfwTBYDpQeOSXYZkOGQyLiarele3XqUyenrfB+fRbV
Bk3XW/Gii6FFm50c/RhFKLhBeWgh9ryPvC8ZnlInfUlmvZe/4+s+U8Q8oglwC2SN
DbeB4o5ev72GO8kccg52AZaqkU0GyL3XETEriBGvPpasbOo5gGUr0A5ZZl0boUk3
1VbZOvy79Ez8wj9m3zaVmxNCa8U7lXvxoj8jkdjRS9TwwDXZHUyE+KVfnaExiksQ
C2VC57P3dL1NapjgpkHFhwQi+qG8Aqbp21sTQddiddRtpLtyWDmjEOVPbYmFBOML
enzfpW3hZsW2lHhn2OKPEweUE1IXZ/8uW+htCwT/3yuvGISolARh4EUi8rEQWNju
fjYsU0hTx86U4s1PizzrJ7/ghlrU31un/huATEFcr6aKbKNeSJq6vZ5+b6f5REnv
zntfDIGFt57gQusVIBsribGW7nc5LAr0+27VguMFK8Xw82KkVkmpzlZVWXG8d518
fkOpVRUWi38BOoKCfIMZZTAgT/xt4lJO7pEtTA+lmUq0C/oSSTjjvIMTp/cUIw9c
TJ8o6/GTtn93YQ==
=gwvR
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc2GwACgkQmmx57+YA
GNmmfA//bz3I7mN09E0TtkQwJ0Z6RYDkqh4sTuaxKuGX+rB+YGWPs2ZhiLmf08bq
rG27e8N//hzcYKRmkm+m3qL69nREiV+Mgw/amEWj3sM1tYPok+mIjUyXs/5ML7Dx
jh4aWSPDIy2Ex6xGXGMhvIPbwnazivn35Uug2CguEllTxj2hMJiZiNgrGJ9XuGP0
K3Crx2txGrRjeUzz4wrBr0wbvQXqNEN1fDD6D7glp7w37IWyNrMCAF7/6wqflEHA
ONneb4T9kyytJ+QGvFOsvKqKjwtDC56onkKYnc6wlugzNwbW3/pFNf5eUoFZ9gCf
b0pw1NMUigZ7MBmcnhDzQfTsByWZmqWCnU1dPRY6kGa7Cl+WeDQ908YX9YVWYG7J
CkP8tOQ+LulMeG1G5jAads6t0EXCMNvfFrdlsYC1e5Zs2jipZ3B6K3US+upI4Q8D
6Mz33XgZdcPbvgBSIDLgAx5t8T5Pc13PQYoM3WESgPcup8OQ1DXK+59NpN/7rinv
W/3ti0kZvxVVrJnFQvJa8ZaGBET+VxeFDzO2aKygkpH1X08nQtadQkjz4mzK15QM
YLBgAHRuiMMvAjapg6gRKBXmG9Pki+NSRWudP/JYvAtVCpd3eqvvIH4jjcvpN9zm
wj0MSdWtObImSDrItNeUBTXnU/bXtVWQUUIlLKpSJ/wudSWp5jM=
=OP6Z
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-5.18-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt
ARM: tegra: Device tree changes for v5.18-rc1
The changes in this set are cleanups and fixes for 32-bit Tegra device
tree files. With these, some json-schema validation errors are fixed.
* tag 'tegra-for-5.18-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
ARM: tegra: tamonten: Fix I2C3 pad setting
ARM: tegra: Fix ethernet node names
ARM: tegra: paz00: Add MMC aliases
ARM: tegra: tf700t: Rename DSI node
ARM: tegra: transformer: Drop reg-shift for Tegra HS UART
ARM: tegra: asus-tf101: Enable S/PDIF and HDMI audio
ARM: tegra: Update jedec,lpddr2 revision-id binding
Link: https://lore.kernel.org/r/20220225164741.1064416-3-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
1. Fix hang of secondary CPU bring-up on some of Exynos5420-based
devices (Secure Monitor Call SMC_CMD_CPU1BOOT should be skipped for
all Exynos5 devices).
2. Extend Universal Serial Interface DT schema to precisely describe
children nodes.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmIaonIQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD1xCoD/sFNF8/ACC5Ku45ggkzLMS3yXbTjISDBdM5
JjwwYtlsKjkR1+qSmcqw1DiVKIx4ScmBrYfC/i8zMHfOMtFPwTFPxtytVZA3IRwf
JiX5dKMIp5sJ5d8FnVXS2ILibE5pwqRmup5TswQ9Hthhq7ptokxjg6QVWGq9XNaN
xIoZdLxrG9XjyUJy6j14F+ZlCcS3xxS+XnHK+gcnKkBdUlbcQ9aSO41oprRzMhbo
N/5CRk5/PrigwhP25HG4BnpygsFeJRKhJHKuPwNEyRqPK2eo3EPkEGo7SE77l/U3
Xhf4ULLcOixUmFgZNOptmmtsCjRKGE4J1swe958cTOMkrchXfH+G3APOFItovGk9
4B4mlEg/jCndFFOU58P8kEs6OYuqYeWFwjiC/kaNK6VeTtwMuMVPR5+d08mVzwdw
wkPQ40vI5bAEP/7pBzY8cnYKMb6fzj6kdcjkQGNmM7gXiiB4oxf/CnB2MP/iRF07
vzj2Bis2/RaGTA/25Q/TmCmizF1UsyIBx64JsZOM5VsgPGkRCJS6vVtnswRY0agx
4LiYgGZaddo29N4JTX+obSvvomI8YE9UOfGHpsAEg2WLdBHbY0P+n0/Yx9Tl4VWb
sc6QGaY5UQoqYLAf7GBGOHINxUpXoWK8GBakhmPxPAike6x+KpMLJv05/ObB7Rod
/NNFXF2i/Q==
=sFDL
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmIc12wACgkQmmx57+YA
GNn0FQ//SD2dn8o2w9T14bQauN51aDsBcqJLUa1Zw9iJ8HCmIFJJ3SspSeIAUM5n
J4lAUEgErTUoMnDnqabI6KWO/boOwC8TwjfR3VOZMd4LJl4lJyQFejoBQL9H2l3V
IP60WFA+ZrqGip5jukraNlIWXiFQEqWhOhmzJbGCIVkZ4h+3eqVzAmgqM73IE7XH
zeeAYTkL15RQ3lkhL4WskAYFkmtR2hojmsI5gEmfWU9wJOnJKLnuK73Wj22jmrkq
uGpioFsKbEPHUuCMwDRp2FsOFrr9+7/vse9nk+rKDECdKqoXzxE04oe96DXzWwUL
AmvZqzJ27Rs+58jyqmakVi0nUMiTMbU+XlcLZv+t43m/VfoS7EZJ7mNTVthPWK8k
ORPxwq9OW+khgvLi9IFg8Q/Uj5ZgUn9rtHI9XmjH/54oI5B8VV+F6rikvfle8FdK
VO+7Y8hq1P2hoEhj5U2jv90+qROSuAs9R8rrg0gUgbkUv3R/NgLf52Vkm6oh7OY6
VzgTYmA1rHVh9sEZujMLiWmJ6vUhQRkWKd2mK9aHkawKnIU28l2zao9EBwxjxUo9
sHrjZiAvoffVATLA/7L41f1tQ/gvh1yHu7i7N1+vynSju+TqQEMR6jPI5Oa4Gwm8
5Qdd4zjRzkDctUue8Nj2WbSM2deuKUGJLZzJSGMKbaN7IsT2luk=
=ss+h
-----END PGP SIGNATURE-----
Merge tag 'samsung-soc-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/soc
Samsung mach/soc changes for v5.18
1. Fix hang of secondary CPU bring-up on some of Exynos5420-based
devices (Secure Monitor Call SMC_CMD_CPU1BOOT should be skipped for
all Exynos5 devices).
2. Extend Universal Serial Interface DT schema to precisely describe
children nodes.
* tag 'samsung-soc-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
dt-bindings: soc: samsung: usi: refer to dtschema for children
ARM: exynos: only do SMC_CMD_CPU1BOOT call on Exynos4
Link: https://lore.kernel.org/r/20220226220116.13452-3-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
I have no reason to believe these boards have any more users and I
haven't tested them for several years. Removing them may simplify
other changes to the various PXA boards people still care about.
The recent conversion of pxa2xx_spi to GPIO descriptors for example
had to update this board despite no one caring or testing.
Great boards that got me started in kernel development, RIP!
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Daniel Mack <daniel@zonque.org>
Cc: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: soc@kernel.org
Link: https://lore.kernel.org/r/20220227134431.908998-1-jic23@kernel.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
It's unclear what reference the initial vma kref reference refers to.
A vma can have multiple weak references, the object vma list,
the vm's bound list and the GT's closed_list, and the initial vma
reference can be put from lookups of all these lists.
With the current implementation this means
that any holder of yet another vma refcount (currently only
i915_gem_object_unbind()) needs to be holding two of either
*) An object refcount,
*) A vm open count
*) A vma open count
in order for us to not risk leaking a reference by having the
initial vma reference being put twice.
Address this by re-introducing i915_vma_destroy() which removes all
weak references of the vma and *then* puts the initial vma refcount.
This makes a strong vma reference hold on to the vma unconditionally.
Perhaps a better name would be i915_vma_revoke() or i915_vma_zombify(),
since other callers may still hold a refcount, but with the prospect of
being able to replace the vma refcount with the object lock in the near
future, let's stick with i915_vma_destroy().
Finally this commit fixes a race in that previously i915_vma_release() and
now i915_vma_destroy() could destroy a vma without taking the vm->mutex
after an advisory check that the vma mm_node was not allocated.
This would race with the ungrab_vma() function creating a trace similar
to the below one. This was fixed in one of the __i915_vma_put() callsites
in
commit bc1922e5d3 ("drm/i915: Fix a race between vma / object destruction and unbinding")
but although not seemingly triggered by CI, that
is not sufficient. This patch is needed to fix that properly.
[823.012188] Console: switching to colour dummy device 80x25
[823.012422] [IGT] gem_ppgtt: executing
[823.016667] [IGT] gem_ppgtt: starting subtest blt-vs-render-ctx0
[852.436465] stack segment: 0000 [#1] PREEMPT SMP NOPTI
[852.436480] CPU: 0 PID: 3200 Comm: gem_ppgtt Not tainted 5.16.0-CI-CI_DRM_11115+ #1
[852.436489] Hardware name: Intel Corporation Alder Lake Client Platform/AlderLake-P DDR5 RVP, BIOS ADLPFWI1.R00.2422.A00.2110131104 10/13/2021
[852.436499] RIP: 0010:ungrab_vma+0x9/0x80 [i915]
[852.436711] Code: ef e8 4b 85 cf e0 e8 36 a3 d6 e0 8b 83 f8 9c 00 00 85 c0 75 e1 5b 5d 41 5c 41 5d c3 e9 d6 fd 14 00 55 53 48 8b af c0 00 00 00 <8b> 45 00 85 c0 75 03 5b 5d c3 48 8b 85 a0 02 00 00 48 89 fb 48 8b
[852.436727] RSP: 0018:ffffc90006db7880 EFLAGS: 00010246
[852.436734] RAX: 0000000000000000 RBX: ffffc90006db7598 RCX: 0000000000000000
[852.436742] RDX: ffff88815349e898 RSI: ffff88815349e858 RDI: ffff88810a284140
[852.436748] RBP: 6b6b6b6b6b6b6b6b R08: ffff88815349e898 R09: ffff88815349e8e8
[852.436754] R10: 0000000000000001 R11: 0000000051ef1141 R12: ffff88810a284140
[852.436762] R13: 0000000000000000 R14: ffff88815349e868 R15: ffff88810a284458
[852.436770] FS: 00007f5c04b04e40(0000) GS:ffff88849f000000(0000) knlGS:0000000000000000
[852.436781] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[852.436788] CR2: 00007f5c04b38fe0 CR3: 000000010a6e8001 CR4: 0000000000770ef0
[852.436797] PKRU: 55555554
[852.436801] Call Trace:
[852.436806] <TASK>
[852.436811] i915_gem_evict_for_node+0x33c/0x3c0 [i915]
[852.437014] i915_gem_gtt_reserve+0x106/0x130 [i915]
[852.437211] i915_vma_pin_ww+0x8f4/0xb60 [i915]
[852.437412] eb_validate_vmas+0x688/0x860 [i915]
[852.437596] i915_gem_do_execbuffer+0xc0e/0x25b0 [i915]
[852.437770] ? deactivate_slab+0x5f2/0x7d0
[852.437778] ? _raw_spin_unlock_irqrestore+0x50/0x60
[852.437789] ? i915_gem_execbuffer2_ioctl+0xc6/0x2c0 [i915]
[852.437944] ? init_object+0x49/0x80
[852.437950] ? __lock_acquire+0x5e6/0x2580
[852.437963] i915_gem_execbuffer2_ioctl+0x116/0x2c0 [i915]
[852.438129] ? i915_gem_do_execbuffer+0x25b0/0x25b0 [i915]
[852.438300] drm_ioctl_kernel+0xac/0x140
[852.438310] drm_ioctl+0x201/0x3d0
[852.438316] ? i915_gem_do_execbuffer+0x25b0/0x25b0 [i915]
[852.438490] __x64_sys_ioctl+0x6a/0xa0
[852.438498] do_syscall_64+0x37/0xb0
[852.438507] entry_SYSCALL_64_after_hwframe+0x44/0xae
[852.438515] RIP: 0033:0x7f5c0415b317
[852.438523] Code: b3 66 90 48 8b 05 71 4b 2d 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 41 4b 2d 00 f7 d8 64 89 01 48
[852.438542] RSP: 002b:00007ffd765039a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[852.438553] RAX: ffffffffffffffda RBX: 000055e4d7829dd0 RCX: 00007f5c0415b317
[852.438562] RDX: 00007ffd76503a00 RSI: 00000000c0406469 RDI: 0000000000000017
[852.438571] RBP: 00007ffd76503a00 R08: 0000000000000000 R09: 0000000000000081
[852.438579] R10: 00000000ffffff7f R11: 0000000000000246 R12: 00000000c0406469
[852.438587] R13: 0000000000000017 R14: 00007ffd76503a00 R15: 0000000000000000
[852.438598] </TASK>
[852.438602] Modules linked in: snd_hda_codec_hdmi i915 mei_hdcp x86_pkg_temp_thermal snd_hda_intel snd_intel_dspcfg drm_buddy coretemp crct10dif_pclmul crc32_pclmul snd_hda_codec ttm ghash_clmulni_intel snd_hwdep snd_hda_core e1000e drm_dp_helper ptp snd_pcm mei_me drm_kms_helper pps_core mei syscopyarea sysfillrect sysimgblt fb_sys_fops prime_numbers intel_lpss_pci smsc75xx usbnet mii
[852.440310] ---[ end trace e52cdd2fe4fd911c ]---
v2: Fix typos in the commit message.
Fixes: 7e00897be8 ("drm/i915: Add object locking to i915_gem_evict_for_node and i915_gem_evict_something, v2.")
Fixes: bc1922e5d3 ("drm/i915: Fix a race between vma / object destruction and unbinding")
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220222133209.587978-1-thomas.hellstrom@linux.intel.com
The -nostdlib option requests the compiler to not use the standard
system startup files or libraries when linking. It is effective only
when $(CC) is used as a linker driver.
Since commit fe00e50b2d ("ARM: 8858/1: vdso: use $(LD) instead of
$(CC) to link VDSO"), $(LD) is directly used, hence -nostdlib is
unneeded.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Covert to the generic reserve_initrd_mem() function.
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Some EXPORT_SYMBOL() is at the end of the function, but some is
at the end of file. For reader sanity and be consistent, move all
EXPORT_SYMBOL() declarations just after the end of the function.
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
There is no one use amba_find_match(), kill it.
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
There is no user about amba_pclk_[un]prepare() besides pl330.c,
directly use clk_[un]prepare(). After this, all the function about
amba pclk operation, enable, disable, [un]prepare could be killed.
Acked-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
early_param() handlers should return 0 on success.
__setup() handlers should return 1 on success, i.e., the parameter
has been handled. A return of 0 would cause the "option=value" string
to be added to init's environment strings, polluting it.
../arch/arm/mm/mmu.c: In function 'test_early_cachepolicy':
../arch/arm/mm/mmu.c:215:1: error: no return statement in function returning non-void [-Werror=return-type]
../arch/arm/mm/mmu.c: In function 'test_noalign_setup':
../arch/arm/mm/mmu.c:221:1: error: no return statement in function returning non-void [-Werror=return-type]
Fixes: b849a60e09 ("ARM: make cr_alignment read-only #ifndef CONFIG_CPU_CP15")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: Igor Zhbanov <i.zhbanov@omprussia.ru>
Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: patches@armlinux.org.uk
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Make all flavors of ftrace available on all builds, regardless of ISA
choice, unwinder choice or compiler:
- use ADD not POP where possible
- fix a couple of Thumb2 related issues
- enable HAVE_FUNCTION_GRAPH_FP_TEST for robustness
- enable the graph tracer with the EABI unwinder
- avoid clobbering frame pointer registers to make Clang happy
Link: https://lore.kernel.org/linux-arm-kernel/20220203082204.1176734-1-ardb@kernel.org/
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEE+9lifEBpyUIVN1cpw08iOZLZjyQFAmIE0u8ACgkQw08iOZLZ
jyRvZgv/S08Iqxw1AbwKwvvEj+YbivaBK7smZW/cS3RzppchaQR5LvF/oCFv1a1J
Nb150uwwIHQoYrbCBGsfw4uIP0SzLj4PqPDAXdLt6putgXUGG7TFzNdeS1iH3gRk
P3OMjOAGUNVU8EkCGqkOarDNA1YCvVwAVNB3f1FzoLD/4KBpGzegXqAtM8HOjKjQ
4M7IRALKWwIg38rxCeeOLtjTPInJQSA8BIzg7IMuKZMCH0udsW6AWzVYyTOtVeXK
+j95v3+ep3T6uyzyFTQDoqXYJcC1rBXj8IRk6lj8RC38OnziOGSPqSnJN9scq8hP
A2TJz7VN2G6/71kjKyJOGTcOIGNT/cC04JjDGl4wiV5CO6WnAkDM2U6Spf24D/by
ISF6Y0cOdo9mVjzvY7eP8bQ2gOh+6IjT0hZkdRfbFGF9iGseJNN1J2yflhqGOBB8
PIsowEmI47LmElqyUcPsZNVsdn0IOXb8giJImiwZ8DrrcpJ3Z5I5StxSUkgc2PVW
C3ElzZx6
=Muye
-----END PGP SIGNATURE-----
Merge tag 'arm-ftrace-for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux into devel-stable
ARM: ftrace fixes and cleanups
Make all flavors of ftrace available on all builds, regardless of ISA
choice, unwinder choice or compiler:
- use ADD not POP where possible
- fix a couple of Thumb2 related issues
- enable HAVE_FUNCTION_GRAPH_FP_TEST for robustness
- enable the graph tracer with the EABI unwinder
- avoid clobbering frame pointer registers to make Clang happy
Link: https://lore.kernel.org/linux-arm-kernel/20220203082204.1176734-1-ardb@kernel.org/
Add sysfs files that expose the inline encryption capabilities of
request queues:
/sys/block/$disk/queue/crypto/max_dun_bits
/sys/block/$disk/queue/crypto/modes/$mode
/sys/block/$disk/queue/crypto/num_keyslots
Userspace can use these new files to decide what encryption settings to
use, or whether to use inline encryption at all. This also brings the
crypto capabilities in line with the other queue properties, which are
already discoverable via the queue directory in sysfs.
Design notes:
- Place the new files in a new subdirectory "crypto" to group them
together and to avoid complicating the main "queue" directory. This
also makes it possible to replace "crypto" with a symlink later if
we ever make the blk_crypto_profiles into real kobjects (see below).
- It was necessary to define a new kobject that corresponds to the
crypto subdirectory. For now, this kobject just contains a pointer
to the blk_crypto_profile. Note that multiple queues (and hence
multiple such kobjects) may refer to the same blk_crypto_profile.
An alternative design would more closely match the current kernel
data structures: the blk_crypto_profile could be a kobject itself,
located directly under the host controller device's kobject, while
/sys/block/$disk/queue/crypto would be a symlink to it.
I decided not to do that for now because it would require a lot more
changes, such as no longer embedding blk_crypto_profile in other
structures, and also because I'm not sure we can rule out moving the
crypto capabilities into 'struct queue_limits' in the future. (Even
if multiple queues share the same crypto engine, maybe the supported
data unit sizes could differ due to other queue properties.) It
would also still be possible to switch to that design later without
breaking userspace, by replacing the directory with a symlink.
- Use "max_dun_bits" instead of "max_dun_bytes". Currently, the
kernel internally stores this value in bytes, but that's an
implementation detail. It probably makes more sense to talk about
this value in bits, and choosing bits is more future-proof.
- "modes" is a sub-subdirectory, since there may be multiple supported
crypto modes, sysfs is supposed to have one value per file, and it
makes sense to group all the mode files together.
- Each mode had to be named. The crypto API names like "xts(aes)" are
not appropriate because they don't specify the key size. Therefore,
I assigned new names. The exact names chosen are arbitrary, but
they happen to match the names used in log messages in fs/crypto/.
- The "num_keyslots" file is a bit different from the others in that
it is only useful to know for performance reasons. However, it's
included as it can still be useful. For example, a user might not
want to use inline encryption if there aren't very many keyslots.
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Link: https://lore.kernel.org/r/20220124215938.2769-4-ebiggers@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
kobjects aren't supposed to be deleted before their child kobjects are
deleted. Apparently this is usually benign; however, a WARN will be
triggered if one of the child kobjects has a named attribute group:
sysfs group 'modes' not found for kobject 'crypto'
WARNING: CPU: 0 PID: 1 at fs/sysfs/group.c:278 sysfs_remove_group+0x72/0x80
...
Call Trace:
sysfs_remove_groups+0x29/0x40 fs/sysfs/group.c:312
__kobject_del+0x20/0x80 lib/kobject.c:611
kobject_cleanup+0xa4/0x140 lib/kobject.c:696
kobject_release lib/kobject.c:736 [inline]
kref_put include/linux/kref.h:65 [inline]
kobject_put+0x53/0x70 lib/kobject.c:753
blk_crypto_sysfs_unregister+0x10/0x20 block/blk-crypto-sysfs.c:159
blk_unregister_queue+0xb0/0x110 block/blk-sysfs.c:962
del_gendisk+0x117/0x250 block/genhd.c:610
Fix this by moving the kobject_del() and the corresponding
kobject_uevent() to the correct place.
Fixes: 2c2086afc2 ("block: Protect less code with sysfs_lock in blk_{un,}register_queue()")
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20220124215938.2769-3-ebiggers@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Make elv_unregister_queue() a no-op if q->elevator is NULL or is not
registered.
This simplifies the existing callers, as well as the future caller in
the error path of blk_register_queue().
Also don't bother checking whether q is NULL, since it never is.
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20220124215938.2769-2-ebiggers@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Commit d40f0b6f2e instroduced last_cs_enable to avoid setting
chipselect if it's not necessary, but it also introduces a bug. The
chipselect may not be set correctly on multi-device SPI busses. The
reason is that we can't judge the chipselect by bool last_cs_enable,
since chipselect may be modified after other devices were accessed.
So we should record the specific state of chipselect in case of
confusion.
Signed-off-by: Yun Zhou <yun.zhou@windriver.com>
Link: https://lore.kernel.org/r/20220217141234.72737-1-yun.zhou@windriver.com
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the es7241 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222223300.3120298-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the max98927 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-10-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the max98926 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-9-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the max98925 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-8-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the max9867 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-7-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the max9860 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-6-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the max9850 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-5-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the max98390 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-4-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the max98371 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-3-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the max98095 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-2-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the max98088 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the uda134x driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223003409.1820405-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the ml26124 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223001636.1321505-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the pcm512x driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014846.2765382-4-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the pcm3168a driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014846.2765382-3-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the pcm186x driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014846.2765382-2-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the pcm1681 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014846.2765382-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the pcm3060 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014731.2765283-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Since 70d435ba1c ("ASoC: imx-pcm-dma: simplify pcm_config") the size
argument to imx_pcm_dma_init() is unused, so drop it. Also remove the
now unused defines that the users of imx_pcm_dma_init() used to pass the
size argument
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Link: https://lore.kernel.org/r/20220223130625.3430589-1-s.hauer@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
The print function dev_err() is redundant because platform_get_irq()
already prints an error.
Eliminate the follow coccicheck warning:
./sound/soc/mediatek/mt8195/mt8195-afe-pcm.c:3126:2-9: line 3126 is
redundant because platform_get_irq() already prints an error
Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
Link: https://lore.kernel.org/r/20220224011046.76904-1-yang.lee@linux.alibaba.com
Signed-off-by: Mark Brown <broonie@kernel.org>
As the potential failure of the clk_enable(),
it should be better to check it and return error
if fails.
Fixes: 5f9a50c3e5 ("ASoC: Davinci: McBSP: add device tree support for McBSP")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Link: https://lore.kernel.org/r/20220228031540.3571959-1-jiasheng@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the mc13783 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223001416.1235951-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
As part of moving to remove the old style defines for the bus clocks update
the isabelle driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222225014.3691208-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Document RZ/V2L SSI bindings. RZ/V2L SSI is identical to one found
on the RZ/G2L SoC. No driver changes are required as generic compatible
string "renesas,rz-ssi" will be used as a fallback.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Link: https://lore.kernel.org/r/20220227225633.28829-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>