Commit graph

1,188,286 commits

Author SHA1 Message Date
Michael Ellerman
64fdcbcc06 powerpc/prom: Fix 32-bit build
Add an IS_ENABLED() check to fix the build error:

arch/powerpc/kernel/prom.o: in function `early_init_dt_scan_cpus':
  prom.c:(.init.text+0x2ea): undefined reference to `boot_cpu_node_count'

Fixes: e13d23a404 ("powerpc: export the CPU node count")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2022-12-08 09:43:15 +11:00
Dmitry Torokhov
76007ccc57 PCI: mvebu: Switch to using gpiod API
Switch the driver away from legacy gpio/of_gpio API to gpiod API, and
remove use of of_get_named_gpio_flags() which I want to make private to
gpiolib.

Link: https://lore.kernel.org/r/Y5EAft42YiT66mVj@google.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2022-12-07 16:03:03 -06:00
Andrii Nakryiko
dcb2288b1f bpf: Remove unused insn_cnt argument from visit_[func_call_]insn()
Number of total instructions in BPF program (including subprogs) can and
is accessed from env->prog->len. visit_func_call_insn() doesn't do any
checks against insn_cnt anymore, relying on push_insn() to do this check
internally. So remove unnecessary insn_cnt input argument from
visit_func_call_insn() and visit_insn() functions.

Suggested-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20221207195534.2866030-1-andrii@kernel.org
2022-12-07 22:58:41 +01:00
Stephen Boyd
63cd992e51 Qualcomm clock updates for 6.2
This introduces Global clock controller for SM8550, Display clock
 controller for SC8280XP and RPMh clock controller for QDU1000 and
 QRU1000.
 
 The SM8150/SM8250 Display clock controller is cleaned up and some
 missing clocks for SM8350 are added.
 
 MSM8974 Global and Multimedia clock controllers are transitioned to
 parent_data and parent_hws.
 
 IPQ8074 parent_data and additional network resets and the Krait clock
 controller modernized.
 
 pm_runtime usage in SC7180 and SC7280 LPASS clock controllers are
 corrected. SM8250 USB GDSCs enable retention mode.
 
 RPM and RPMh clock drivers are cleaned up, to avoid duplicating clocks
 which definition could be shared between platforms.
 
 A variety of DT binding improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmOQ+2sVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3F7fMQAOCCZIoGi4GfcJebP7TTjN7MzqWR
 Mo8g8jeqmmr8u8V+yf0OGLUc8pSzFWOrlnYbZFg7jv9UODDKeRLtdKt4cf9GBHZ2
 mMZimcaNcKSty0UDHC76eYXStB2RLTDvFqhILSxYHE48STEWCNf5aNW6MzvVS7Ef
 SaRTv3fq0irKEv86rdOIg1tzLaabMkiHAK2r7FX9TrNvmdiUH1PGf/UCm30y65Sg
 u78U6Invf2LNmWya1by2tEcXhQ1tdCRMIPCIiDN8xcC31qhPXIO54kNsUcCyZGiL
 UDe1Ycaf1u9lYcnmxyV0B14iQNaOlOlSYmlr4cDZP9VycYvENkxzbbO74szyKCVC
 12NIvkCbhbnLackpX+ZpLmNlfPLb6y0hcXybrSyq801QTktI1c0PQIqXW6FcF+IU
 nA/yr0D15xWcIONUP3iX8l0gN5qdGUNOMKUGNX02VT1DDyWCH8YeT2rq8rwp/nuZ
 wtE4t9x4CKOxO8Rma1av3a30ttnTP6PXK13kZ8I8JdeYbhB5wRF4sU5f6A361whc
 wmVBfLwxVgj8Jm1BE1M8WbHTpriRAnX1YJUf4tn55sHaCyflotPkjS2hQR6/qsO6
 E0JpFXos8PTSdoOtvkZBtagt1QoLlOEW38mIRqf5J46xoWMwbroagWjMzK2CuoIh
 gJ4e+kocbV3YJiDM
 =zMR7
 -----END PGP SIGNATURE-----

Merge tag 'qcom-clk-for-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into clk-qcom

Pull Qualcomm clk driver updates from Bjorn Andersson:

This introduces Global clock controller for SM8550, Display clock
controller for SC8280XP and RPMh clock controller for QDU1000 and
QRU1000.

The SM8150/SM8250 Display clock controller is cleaned up and some
missing clocks for SM8350 are added.

MSM8974 Global and Multimedia clock controllers are transitioned to
parent_data and parent_hws.

IPQ8074 parent_data and additional network resets and the Krait clock
controller modernized.

pm_runtime usage in SC7180 and SC7280 LPASS clock controllers are
corrected. SM8250 USB GDSCs enable retention mode.

RPM and RPMh clock drivers are cleaned up, to avoid duplicating clocks
which definition could be shared between platforms.

A variety of DT binding improvements.

* tag 'qcom-clk-for-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (69 commits)
  clk: qcom: rpmh: add support for SM6350 rpmh IPA clock
  clk: qcom: mmcc-msm8974: use parent_hws/_data instead of parent_names
  clk: qcom: mmcc-msm8974: move clock parent tables down
  clk: qcom: mmcc-msm8974: use ARRAY_SIZE instead of specifying num_parents
  clk: qcom: gcc-msm8974: use parent_hws/_data instead of parent_names
  clk: qcom: gcc-msm8974: move clock parent tables down
  clk: qcom: gcc-msm8974: use ARRAY_SIZE instead of specifying num_parents
  dt-bindings: clocks: qcom,mmcc: define clocks/clock-names for MSM8974
  dt-bindings: clock: split qcom,gcc-msm8974,-msm8226 to the separate file
  clk: qcom: gcc-ipq4019: switch to devm_clk_notifier_register
  clk: qcom: rpmh: remove usage of platform name
  clk: qcom: rpmh: rename VRM clock data
  clk: qcom: rpmh: rename ARC clock data
  clk: qcom: rpmh: support separate symbol name for the RPMH clocks
  clk: qcom: rpmh: remove platform names from BCM clocks
  clk: qcom: rpmh: drop all _ao names
  clk: qcom: rpmh: reuse common duplicate clocks
  clk: qcom: rpmh: group clock definitions together
  clk: qcom: rpm: drop the platform from clock definitions
  clk: qcom: rpm: drop the _clk suffix completely
  ...
2022-12-07 13:54:41 -08:00
Maxime Ripard
49e62e0d96 clk: Add trace events for rate requests
It is currently fairly difficult to follow what clk_rate_request are
issued, and how they have been modified once done.

Indeed, there's multiple paths that can be taken, some functions are
recursive and will just forward the request to its parent, etc.

Adding a lot of debug prints is just not very convenient, so let's add
trace events for the clock requests, one before they are submitted and
one after they are returned.

That way we can simply toggle the tracing on without modifying the
kernel code and without affecting performances or the kernel logs too
much.

Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20221018-clk-rate-request-tracing-v2-2-5170b363c413@cerno.tech
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2022-12-07 13:54:09 -08:00
Maxime Ripard
ef13f8b647 clk: Store clk_core for clk_rate_request
The struct clk_rate_request is meant to store the context around a rate
request such as the parent, boundaries, and so on.

However, it doesn't store the clock the rate request is submitted to,
which makes debugging difficult.

Let's add a pointer to the relevant clk_core instance in order to
improve the debugging of rate requests in a subsequent patch.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20221018-clk-rate-request-tracing-v2-1-5170b363c413@cerno.tech
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2022-12-07 13:54:01 -08:00
Alexei Starovoitov
0a6ea1ce82 for-alexei-2022120701
-----BEGIN PGP SIGNATURE-----
 
 iQJSBAABCAA8FiEEoEVH9lhNrxiMPSyI7MXwXhnZSjYFAmOQpWweHGJlbmphbWlu
 LnRpc3NvaXJlc0ByZWRoYXQuY29tAAoJEOzF8F4Z2Uo23ooQAJR4JBv+WKxyDplY
 m2Kk1t156kenJNhyRojwNWlYk7S0ziClwfjnJEsiki4S0RAwHcVNuuMLjKSjcDIP
 TFrs3kFIlgLITpkPFdMIqMniq0Fynb3N5QDsaohQPQvtLeDx5ASH9D6J+20bcdky
 PE+xOo1Nkn1DpnBiGX7P6irMsqrm5cXfBES2u9c7He9VLThviP2v+TvB80gmRi7w
 zUU4Uikcr8wlt+9MZoLVoVwAOg5aZmVa/9ogNqaT+cKnW6hQ+3CymxiyiyOdRrAQ
 e521+GhQOVTiM0w5C6BwhMx+Wu8r0Qz4Vp49UWf04U/KU+M1TzqAk1z7Vvt72TCr
 965qb19TSRNTGQzebAIRd09mFb/nech54dhpyceONBGnUs9r2dDWjfDd/PA7e2WO
 FbDE0HGnz/XK7GUrk/BXWU+n9VA7itnhJzB+zr3i6IKFgwwDJ1V4e81CWdBEsp9I
 WNDC8LF2bcgHvzFVC23AkKujmbirS6K4Wq+R0f2PISQIs2FdUBl1mgjh2E47lK8E
 zCozMRf9bMya5aGkd4S4dtn0NFGByFSXod2TMgfHPvBz06t6YG00DajALzcE5l8U
 GAoP5Nz9hRSbmHJCNMqy0SN0WN9Cz+JIFx5Vlb9az3lduRRBOVptgnjx9LOjErVr
 +aWWxuQgoHZmB5Ja5WNVN1lIf39/
 =FX5W
 -----END PGP SIGNATURE-----

Merge "do not rely on ALLOW_ERROR_INJECTION for fmod_ret" into bpf-next

Merge commit 5b481acab4 ("bpf: do not rely on ALLOW_ERROR_INJECTION for fmod_ret")
from hid tree into bpf-next.

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2022-12-07 13:49:21 -08:00
Jonathan Cameron
de4b8d2016 Input: pxspad - fix unused data warning when force feedback not enabled
The functions using this data were protected with #ifdef
CONFIG_JOYSTICK_PSXPAD_SPI_FF. Do the same for the data used only in
those functions.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-33-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:29:05 -08:00
Jonathan Cameron
1c89ef672a Input: lpc32xx - allow building with COMPILE_TEST
Used to test the PM changes.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-32-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:28:36 -08:00
Jonathan Cameron
78c2b18b1e Input: nomadik-ske-keypad - allow building with COMPILE_TEST
Used to build test the PM changes.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-31-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:28:33 -08:00
Jonathan Cameron
ececc2024e Input: pxa27xx-keypad - allow build with COMPILE_TEST
Used to build test PM changes.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-30-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:28:30 -08:00
Jonathan Cameron
0b07641ec0 Input: spear-keyboard - improve build coverage using COMPILE_TEST
Used to test the PM changes.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-29-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:28:27 -08:00
Jonathan Cameron
d65adc2b16 Input: tegra-kbc - allow build with COMPILE_TEST
Used to build test PM changes.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-28-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:28:23 -08:00
Jonathan Cameron
995765edc4 Input: tegra-kbc - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-27-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:28:20 -08:00
Jonathan Cameron
bf7aa12bb0 Input: tca6416-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-26-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:28:12 -08:00
Jonathan Cameron
eeeeb51b9c Input: tc3589x - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-25-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:28:10 -08:00
Jonathan Cameron
a473a763f4 Input: st-keyscan - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-24-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:28:07 -08:00
Jonathan Cameron
aebc2380c1 Input: sh-keysc - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-23-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:28:04 -08:00
Jonathan Cameron
9254ed3f13 Input: qt1070 - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-22-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:28:01 -08:00
Jonathan Cameron
a4b4fa5101 Input: pxa27x_keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-21-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:27:58 -08:00
Jonathan Cameron
bb4678889e Input: pmic8xxx-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-20-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:27:55 -08:00
Jonathan Cameron
baa0e23fbe Input: nomadik-ske-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20221204180841.2211588-19-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:27:49 -08:00
Jonathan Cameron
6b94d7b649 Input: mcs-touchkey - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-18-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:27:46 -08:00
Jonathan Cameron
b94615650f Input: max7359-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-17-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:27:43 -08:00
Jonathan Cameron
b9425700d2 Input: matrix-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-16-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:27:35 -08:00
Jonathan Cameron
bad0193a06 Input: lpc32xx-keys - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-15-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:27:32 -08:00
Jonathan Cameron
d0774bc975 Input: lm8323 - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the ifdef guards.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-14-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:27:28 -08:00
Jonathan Cameron
03ea337338 Input: tm2-touchkey - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-13-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:27:23 -08:00
Jonathan Cameron
1844c79c4d Input: spear-keyboard - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-12-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:27:20 -08:00
Jonathan Cameron
ffa5d80fa9 Input: qt1050 - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Marco Felsch <m.felsch@pengutronix.de>
Link: https://lore.kernel.org/r/20221204180841.2211588-11-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:27:15 -08:00
Jonathan Cameron
b346200943 Input: mtk-pmic-keys - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-10-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:27:10 -08:00
Jonathan Cameron
8362cb5ca9 Input: mpr121-touchkey - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-9-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:27:05 -08:00
Jonathan Cameron
8c1f3b2e24 Input: ipaq-micro-keys - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20221204180841.2211588-8-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:26:59 -08:00
Jonathan Cameron
ba4de5d944 Input: gpio-keys - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-7-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:26:56 -08:00
Jonathan Cameron
64bc273208 Input: ep39xx-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-6-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:26:52 -08:00
Jonathan Cameron
fbfb262e0a Input: cypress-sf - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-5-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:26:46 -08:00
Jonathan Cameron
ca219cf7fd Input: cros-ec-keyb - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20221204180841.2211588-4-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:26:37 -08:00
Jonathan Cameron
32a97d3155 Input: adp5589-keys - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against unused function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-3-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:26:27 -08:00
Jonathan Cameron
f3183157cf Input: pxspad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
against used function warnings.  The new combination of pm_sleep_ptr()
and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
thus suppressing the warning, but still allowing the unused code to be
removed. Thus also drop the __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20221204180841.2211588-2-jic23@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2022-12-07 13:26:19 -08:00
Arnd Bergmann
93b8c91e4c More Qualcomm ARM64 defconfig updates for 6.2
This enables Globalc Clock Controller (GCC) and TLMM pinctrl for SM6115
 and SM4250.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmOQtIQVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FI5gQANjd3tYbKxR0NKlNKgLkin/5Zf/8
 M7az+4pujYI1W6cAp17VgoKWxC64y6ksTr+U7EMt7SF2nqsuoCXsjqO4Ox88B7nC
 fY4QX3yUS4QuxyY0WOZ7y6VlQJgoel6tE9wY6RFZ0CpA6HkDyeNwKlK8CfW9JIYC
 bqwbGFp/bY0FmmaBgVmAS++fpXdtH4R9g+v0m3KVxEq/1RRgZF+zcSwZhTjL2+wy
 6ECXBRZLJyB6X12MJnrHNmkgMElxRQf++DOrnMGhnOS3iaF9HurrkxG5+8oDxT1B
 AQ54vqwP8Mek1uQSP4ci/HjEjszojhFNnP4+Oe0KCVRAVfsfam/+NuZXXoedADN6
 nYNlnATS3XNTjnyKgsebGq3Q1AAb6K95PllFk9w1y4iAgPEL2VjpG0JGVej2ZjRq
 M7nGqWwQDJVpBCPVK7luem98g6OsuxsL9ndNsyIYkmM4/1Ud8C1v/6ZYoLc/S0BQ
 pGxGgvbIDqc0Jo0+ftuvC8bzQEJXeLuY8J8NlOJQ0O51qMFlLTZelNWR06IFcCT5
 1XZQoIwBpHzfOZnHZ3ErKCBi1uhVrFqsx7/9acPeqQsD9IvjJqqFLFE2O6tziNa+
 4A1DCAE29a6WRtBsjeuJ481n6FEch/423U8yrU3KmunZ5ldM5zrwh/XcknfqIr2J
 VIuHPWgc+e1kqvLZ
 =ezLQ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmORAS0ACgkQmmx57+YA
 GNnTyxAAgsHu97mB5NP7TCHcu7J8W1TYy82aKHqlkpEybAElfj9K2osvSn6VJcI4
 4P/b+nz3euAd8HkMKOtM5/s9VM5+cHofXpbQh0+KjLpTU9oqPJXVQ8xlVgnv65J1
 W5EYVWZ1BwDdTmg1mNTRZvoGh37fvgH2SUi0wn7FadwZHMxQdX2qTWKIJTxOblxq
 yzn4HEeZw4TUjAW6kDVzTDASetU+5//RxmcpiWVscRqhVxLd2JRAviQB57u5JmhQ
 kLOlZOfCHXnWLWcvpb/OCTvpTqbO58uO6s5lqbYqeUSMRMR9MPLBqeIxNdLwLVjJ
 f1zk6j2bikT6AIfgfdtLIFjC4+f83IawfaaG7cNoNhGSMrKnzSLEkQZE4DjectRC
 6ncHhcMcT5uVDp1Ri8af6BS5uYvEj47aBq2xEUygcBinwYBpLnYDvWGAc+OeFlIO
 spNvWmjk+6qmS/lij5zPLtI6Js+Jq2j+0bE4IJWKcLT3P2NSe3KGpl+vN8kBo8Ya
 NCUfSKksPTVNEudmZ4LDnb14u/u4167zsVul7rwYAH+/Nm87vh7aiVa5JcJdFBEG
 u/CwhfvWXI/ddUCa28kvv45cFeSLcBQ5mVlRWBNdEkneocmhlki5RqaRrWeDPiUd
 3pg4H+d+keFD2jotb7373fxeC4/mTWJOaMIlFn6oSLswLKt+53M=
 =Pgzc
 -----END PGP SIGNATURE-----

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

More Qualcomm ARM64 defconfig updates for 6.2

This enables Globalc Clock Controller (GCC) and TLMM pinctrl for SM6115
and SM4250.

* tag 'qcom-arm64-defconfig-for-6.2-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: defconfig: Enable Qualcomm SM6115 / SM4250 GCC and Pinctrl

Link: https://lore.kernel.org/r/20221207154339.3234068-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-12-07 22:10:05 +01:00
Arnd Bergmann
9379885d07 More Qualcomm driver updates for 6.2
Socinfo is extended with knowledge about MSM8956, MSM8976, SM6115,
 SM4250, SM8150, SA8155 and SM8550.
 
 Support for RSC v3, as found in SM8550 is added to the RPMH RSC driver.
 
 Support for SM8550 and SM4250 ARC regulators are added to the RPM(h)
 power-domain drivers. SM8550 support is added to the LLCC driver.
 The AOSS QMP binding is declared compatible for SM8550.
 
 BWMON and LLCC now selects REGMAP_MMIO to ensure dependencies are built
 properly.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmOQtA8VHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FJl4QAJjmeWGK7Su6PNEn1ayFbFsPE6M1
 tVrWc122vTayvIH2yK2Q0g2vGmYUwiTrigNCRh0jfWVJvlk4MFcIFMM13R7UFXA5
 OcCC44SuaeBdbwlHrrhgUolWisSlyfFPiB+YIbR0L9I/fZgp5ayu30wJjHKBPyxu
 sNImIs7yDfMg9bDE3VkwqVq/wF+FnPBhJQFEV4+sMMlXJxuFvkjtgVil9iXDZc4z
 aOCsbs1IrMHGuMm/LUN8yeYmusqFpMHR3lGp+7/OwKclUkVzt59j1CyhWORXmnpF
 vh0Zyepj4qtKlADxy2jg52w0H3LWma75mnp4x9Dt6NziZ7EBOVT6yQgSQZEXmZ11
 FuIkz0+itsz/TkY8K+iMtnGgxMdCui1WNWNMkwXC4ETnJaZZnsZ42g7fLWN5cJYg
 g9GV24rMTrS+chYHRCQCtNXXwl+At5II8vnPuRP8W0fowCwqvOCB3VIoLqXiiUyG
 At6n6M0nazykLV19QvC2jgNFr5fhvHMRZ69rV7uQKuTrLblijzWF52cP3wlEPtzb
 tiRYiNagbIpvD2Jsov3vqC5nzSJaj6zFh1m88dmP2Nb7vBawfwvVEJEuqrWY1AGu
 0DjmgE+dmbjwJw5KV9XbS3+U/PBIHWCgjGPs8CUOeHjK01nbPnHgpjMUHLyTFSCn
 Q1q9S5Wb75MNR5z2
 =MwgS
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmORAKQACgkQmmx57+YA
 GNm4pA//WhEcmFPkzGy1CZejxvdDSlNzcL3q1nL+YEE2jRYfe7/FLbtDUcrENioQ
 htfF2d4zBf0Y5+cPQhBhsYnShTQKpaesotZ421wLI1XOR+yNA+zfOuukRPB1HGfn
 v2TvSiROlaxJfhXv/4Wv/UKpl/ud4alVIuqsW0ah68bL+1A2loj4rKPuwTBCjynR
 HMz5QQ0+UD8vBBFITM6qVQ1OLA3TdkLEBT7beSHXsSpBkGJ/jdeoGsF/XV6uigaM
 i2CRPDNTZzBN8XkGb/95sJXOWFDmr28DJe4OQOnqYNSDZey4udvIS1MxgGw6h2je
 nCKb8O6faYquvcxA2HIR46ywvKtQh/S54HJPPyqZPvZlqJe8LFTCdHzwo4HNcMTh
 S/7GIpJV5QwJH5tK/YRW+P2cnRmMfGoCcXlCelH6vgYYXeyZjdNmFaZH59h/PnX9
 e03cZehDMs1laZrhF4AZsdDcwu5AzMMpP4jHG7IoSM0H1BB6n7aQCVGMWWxSI876
 Y7xz7s93brnYwCTIJnM/nG+wuFe0ITavTKozbEWoMEfMb69w/fqMH6F11SJWZY+P
 LLywtFMhwsE7MEK8ZuWWLlseQG4a0AXljRE+DwVn1Kn53fjIKnZm6gPOUtjsoIgV
 mxmJRwJjCixZYWOIK60i5AsEwkwars9wmGIxjvPKy2USVVHPnO0=
 =u7Q7
 -----END PGP SIGNATURE-----

Merge tag 'qcom-drivers-for-6.2-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers

More Qualcomm driver updates for 6.2

Socinfo is extended with knowledge about MSM8956, MSM8976, SM6115,
SM4250, SM8150, SA8155 and SM8550.

Support for RSC v3, as found in SM8550 is added to the RPMH RSC driver.

Support for SM8550 and SM4250 ARC regulators are added to the RPM(h)
power-domain drivers. SM8550 support is added to the LLCC driver.
The AOSS QMP binding is declared compatible for SM8550.

BWMON and LLCC now selects REGMAP_MMIO to ensure dependencies are built
properly.

* tag 'qcom-drivers-for-6.2-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  soc: qcom: socinfo: Add SM6115 / SM4250 SoC IDs to the soc_id table
  dt-bindings: arm: qcom,ids: Add SoC IDs for SM6115 / SM4250 and variants
  soc: qcom: socinfo: Add SM8150 and SA8155 SoC IDs to the soc_id table
  dt-bindings: arm: qcom,ids: Add SoC IDs for SM8150 and SA8155
  dt-bindings: soc: qcom: apr: document generic qcom,apr compatible
  soc: qcom: Select REMAP_MMIO for ICC_BWMON driver
  soc: qcom: Select REMAP_MMIO for LLCC driver
  soc: qcom: rpmpd: Add SM4250 support
  dt-bindings: power: rpmpd: Add SM4250 support
  dt-bindings: soc: qcom: aoss: Add compatible for SM8550
  soc: qcom: llcc: Add configuration data for SM8550
  dt-bindings: arm: msm: Add LLCC compatible for SM8550
  soc: qcom: llcc: Add v4.1 HW version support
  soc: qcom: socinfo: Add SM8550 ID
  soc: qcom: rpmh-rsc: Avoid unnecessary checks on irq-done response
  soc: qcom: rpmh-rsc: Add support for RSC v3 register offsets
  soc: qcom: rpmhpd: Add SM8550 power domains
  dt-bindings: power: rpmpd: Add SM8550 to rpmpd binding
  soc: qcom: socinfo: Add MSM8956/76 SoC IDs to the soc_id table
  dt-bindings: arm: qcom,ids: Add SoC IDs for MSM8956 and MSM8976

Link: https://lore.kernel.org/r/20221207154134.3233779-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-12-07 22:07:48 +01:00
Arnd Bergmann
da060ab86e More Qualcomm DTS updates for 6.2
This introduces support for the OnePlus One, on MSM8974Pro, and properly
 marks other Pro devices as compatible thereof. Also on MSM8974, the
 description of USB devices and their PHYs are cleaned up.
 
 On the binding side compatibles for recently added ARM and ARM64 boards
 are added.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmOQsccVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3F03AP/jGKvcHJbyi69JkzAcC7ClcJ8GB7
 +FVPRckxHETRr2joiOeqTmhfaAU5wl/Nl8Gg8qEnbMWFL0629X74SRgwGe7wr/2O
 QGOVekN8jIFxNwrQ2kaNn2Rgr30Z3din1Niz8a7ceZyMAbTgNF4PTaOi8/6HKWE0
 aaPmnBWYJEcMj47HkPTvZCqQ0WvbbLUe4Oi2zAIToZn4jj1W+rch9pUjARObXBx9
 FiSAhZ5NORysl+2N70c/7auhUHvDlIAXt+lcXdgNzpmKtSM7UOnRUMjg5xFselix
 C6HuRX+NghXlVwnIuPxrt5xky3SHoMTYxoHC+B3FqHm9zsL7dKgW7PGs0WcBWVTo
 hs5Dz5WZjbDgxP5i9RbWwp6Ui8OOEfzrd9uJdQg0yvh64tYeWKoP4AJ+DR3nhF+S
 hVogHfaKdqtb1dlVGDJKKMt1zLVRirIrDtTNpRjyNqmuRxahGXzWLo8zzDOxMIYD
 MDBGvr3hHxWTJ94KzqBdx/7AR1yUComm8XJrJxy2ucWGawzFodtjqDz03iQGdj74
 ntAUnQh9C4Zr5EJIHD766BnpA413K5Faw/yNrmpAIT3sx+Y8rgcLyP9ZK5WMC5G4
 pN6aG5+a6yCctqVXA5elfShpRQrTdW0wajaWXIXcLzjjlA+GBAeUSbR5EPXHGChQ
 UkFLNjS0sZ2CPY1b
 =Ack4
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmORADsACgkQmmx57+YA
 GNnRvg//dIWi+VylQ8ZKGkxQZ3KoWSa7GG0dg7nKsQT8lpmI2cHmw3db6yAtSEZz
 kgNFF+vrqhabaZJ6ZDeGMj3RUOHbx//5Q2LbJF7yUyJNrQ+4AAktjdhb95nu0BIn
 2VB3hIPq9ZMkqACumf7MBBsSqEQ62t8GFFpbAsB3OyIs7XPm7jI4Q33AaI+0JC7t
 6jUivS2R2Y5BwXMagrryo2obqfSTANd1tt1DFntugfSXrG07zk3smzueTNJU4C6s
 YDH5pLy4NnfDweIrMNc2JIzVHLiyZw1tDbeRv0jYqA4pFbCNb/P9cezqleiQ9n04
 nzPhf3PZbcL4xYFNMsefrpSwn5l0NSZCYLhnN5OwjFO5j4y94AC5eIi4GRgrY+GN
 3OTsDMYPFbFTNH64QDKFUTJd+0kaii+sWukWKcZuHrpGZ6to6TjL2cr3c+W37Nes
 SbtFdZQt3l54V8+3NlE+UwAk426oLQhQ/3RtaS1MroP0HsIv0/z72FV6RBaDf2K7
 9Zh9QQkw3sjFVpAyUEo2g6iWgx3rGuSTk5hf6Qd3FhIXF64n/NJ0s3YHD86y0e+Q
 kKTfAL/RUJKSv88rAPa2C/e8J3di17xlby4TefYlJSXQQMJ9kMs5eNwmf2uZYSE9
 ScpzfiJTB9OJhC7YdPRkckEGpbVjYYyfxUmyc1qYqqGuSe7Lris=
 =v6Rn
 -----END PGP SIGNATURE-----

Merge tag 'qcom-dts-for-6.2-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt

More Qualcomm DTS updates for 6.2

This introduces support for the OnePlus One, on MSM8974Pro, and properly
marks other Pro devices as compatible thereof. Also on MSM8974, the
description of USB devices and their PHYs are cleaned up.

On the binding side compatibles for recently added ARM and ARM64 boards
are added.

* tag 'qcom-dts-for-6.2-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (102 commits)
  dt-bindings: arm: qcom: Add zombie
  ARM: dts: qcom: msm8974: Add OnePlus One
  dt-bindings: arm: qcom: Document oneplus,bacon device
  ARM: dts: qcom: msm8974: clean up USB nodes
  arm: dts: qcom: use qcom,msm8974pro for pro devices
  dt-bindings: arm: qcom: split MSM8974 Pro and MSM8974
  ARM: dts: qcom: align LED node names with dtschema
  dt-bindings: arm: qcom: Document additional sa8540p device
  dt-bindings: arm: qcom: Add Xperia 5 IV (PDX224)
  dt-bindings: arm: qcom: Document msm8956 and msm8976 SoC and devices
  dt-bindings: arm: add xiaomi,sagit board based on msm8998 chip
  dt-bindings: arm: qcom: add sdm670 and pixel 3a compatible
  dt-bindings: arm: cpus: add qcom kryo 360 compatible
  ARM: dts: qcom-msm8960-cdp: align TLMM pin configuration with DT schema
  ARM: dts: qcom-msm8960: use define for interrupt constants
  dt-bindings: arm: qcom: Document SM6375 & Xperia 10 IV
  ARM: dts: qcom-apq8060: align TLMM pin configuration with DT schema
  ARM: dts: qcom: msm8226: Add MMCC node
  dt-bindings: arm: qcom: Separate LTE/WIFI SKU for sc7280-evoker
  dt-bindings: arm: qcom: Document QDU1000/QRU1000 SoCs and boards
  ...

Link: https://lore.kernel.org/r/20221207153201.3233015-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-12-07 22:06:03 +01:00
Arnd Bergmann
c24ba5964f More Qualcomm ARM64 DT updates for 6.2
This introduce description of MSM8956 and MSM8976 and based on this adds
 Sony Xperia X and X Compact.
 
 It adds the SA8540P QDrive 3 automotive development board and enables
 PCIe on the same.
 
 Add description of the Vision Mezzanine for the RB5 board and the
 Navigation Mezzanine for the SDM845 RB3.
 
 SC8280XP adds L3 and DDR scaling support, resulting in good performance
 improvement. PCIe and UFS is marked DMA coherent, resolving data
 corruption issues. Reference clocks for UFS phy and device are
 corrected, to resolve issues seen in combinations with some bootloaders
 where it's not sufficient to rely on the bootloader state.
 
 RTC description is added to the SA8295P ADP board.
 
 For SM6115 GPI, PRNG, tsens, WCN, cpufreq, I2C/SPI and display blocks
 are added.
 
 On SM6375 QUP blocks are described, allowing the addition of touchscreen
 and remoteprocs for ADSP and CDSP are introduced.  Sony Xperia 10 IV
 adds description of regulators, allowing enabling SD-card support.
 
 SM8250 Coresight components are described
 
 It introduces support for the Xiaomi Mi 6 on MSM8998 and adds flash LED
 to the Xiaomi Redmi 2.
 
 The SDHCI block on SM8350 is described and enabled on Sony Xperia 5 III.
 
 SM8450 sound and Soundwire blocks are described, and enabled on HDK.
 CPU supply clock is described, to satisfy the DT binding and the
 opp-framework.
 Sony Xperia 5 IV support is added, with touchscreen added.
 
 Lastly a range of changes to align DT source with their bindings.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmOQr6oVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3Fk44QAK4pnBAOVyofT/gpWCxWhZieZVNH
 tuVzM7hQFfG3ymsq7Avy4NUcDselPu80gLBecmTkY/OlzAzIFcULC1ZfacQKLIhu
 QFcw8wFaYhBABJzvDueaFchxku7n1JyO8+jEhz+WmA0LqhXKQku0Zyca8k7/GUwY
 jHCLYdQAI8Mn7W+DeUWpNP01zsScG1/uN0pR+rQtu/3lsLcQVCpOiu6xOX3Iom69
 txz4Vpt4ZO2KZ/tcSJ7RJJvErBasyO5Lq6/dUfokeKCwZ55oWLVOYdYFsR7RaJ8B
 6ICIdxzFbShN3PcNVaEYwHc4XMCxUBOZ5l6z/N9DasxlGTsccuQ5EO595ihVm3d9
 G7JEBpa3qkkHDhwLD8yzlpVFGec4i+ussGmxvwXFITCcJwzdcjTTQMEwlHgT0yhP
 dzkPp1DUiNLl/8WZFcHisuzqNimXWzXyLIw8MvvmI61PhP5IQYL7Qh4qS4t3RpeD
 mib7g/Ad2a6hsjQDIa4htr7PNjMLn2SCLKBuCIbSTSkjE9lnpq96mA8O3lfflZQB
 qEnV028PJSvvqm52xbP22ORVl/YsOITorL5OORsyVk1Z+PFEAK/02AuuV98toGx5
 UZKWhvy+DcBAdaaNIKAEh97avCEvYiogXKWcL533hoep3X8VjCaEcbCA+afaQoku
 iyVeuS2rUofDE4b0
 =M1Ry
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmOQ/zAACgkQmmx57+YA
 GNmOJhAAmp3ab7Lrt9OwWhQUwpj0vtzXWnMj2Udq7f4JvsedkxZVlLhRHi34WzT0
 XRL7vcUx0J8P0ydUk0Ku+759dY9tvsGdNjL1eatLp6Jm2O6+huKusScESvDP68Wb
 Cm2h++inxoSyIXsX3u1JICOeXMd+vuhQT+iLwOlBi13LZ7k+osuU07WbEpzQdFvf
 lMM2tIPoxO22qYqSCL0jgqT/ypOPJW7IU8dolwZZy9YyTSky4ymo56stFKHfl9SJ
 LaxMY7hZOe+ISYGzlOy4SKaZ7q3F71g8dniFgN7xhiTOk9BM2f9PRTJy5KCHPGrR
 DKdYqXk863yPIh1yId7oRvLW8V8Oo9MP8zBLPBvwIkzRTUiFTvKDOf1hqgCd53is
 sO9PagzMrKQblp0JqWSBdas8D6otdyxpEbc5RkgvF3Q9R9mvhDpaFg1pM7ldQK19
 xgiQ1e1JIfkj09zYgdLrxhxs4RCr/PtEx9lg4kO/SSF0//K2+sz8fX307WQzY75e
 Uj3Crcv74C6uNhT42x+qCt/dU0z1O/zgkQ8L5CETuUwr+xGeAgB37z6iOx8SPRqM
 XsTZ7E3NeJh69woo/tlo3/gD9VFMimVoFk2Z7svYhkhx5a9IBgmLJ4EfbfGFqJFv
 ZbsIkBilA1q8YfjtgO3Z/WY//dWoMB4zwi+qJs/3+xxdjGq3cZI=
 =t5En
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-for-6.2-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt

More Qualcomm ARM64 DT updates for 6.2

This introduce description of MSM8956 and MSM8976 and based on this adds
Sony Xperia X and X Compact.

It adds the SA8540P QDrive 3 automotive development board and enables
PCIe on the same.

Add description of the Vision Mezzanine for the RB5 board and the
Navigation Mezzanine for the SDM845 RB3.

SC8280XP adds L3 and DDR scaling support, resulting in good performance
improvement. PCIe and UFS is marked DMA coherent, resolving data
corruption issues. Reference clocks for UFS phy and device are
corrected, to resolve issues seen in combinations with some bootloaders
where it's not sufficient to rely on the bootloader state.

RTC description is added to the SA8295P ADP board.

For SM6115 GPI, PRNG, tsens, WCN, cpufreq, I2C/SPI and display blocks
are added.

On SM6375 QUP blocks are described, allowing the addition of touchscreen
and remoteprocs for ADSP and CDSP are introduced.  Sony Xperia 10 IV
adds description of regulators, allowing enabling SD-card support.

SM8250 Coresight components are described

It introduces support for the Xiaomi Mi 6 on MSM8998 and adds flash LED
to the Xiaomi Redmi 2.

The SDHCI block on SM8350 is described and enabled on Sony Xperia 5 III.

SM8450 sound and Soundwire blocks are described, and enabled on HDK.
CPU supply clock is described, to satisfy the DT binding and the
opp-framework.
Sony Xperia 5 IV support is added, with touchscreen added.

Lastly a range of changes to align DT source with their bindings.

* tag 'qcom-arm64-for-6.2-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (98 commits)
  dt-bindings: iio: adc: qcom,spmi-vadc: fix PM8350 define
  dt-bindings: iio: adc: qcom,spmi-vadc: extend example
  arm64: dts: qcom: sc8280xp: fix UFS DMA coherency
  arm64: dts: qcom: sc7280: Add DT for sc7280-herobrine-zombie
  arm64: dts: qcom: sm8250-sony-xperia-edo: fix no-mmc property for SDHCI
  arm64: dts: qcom: sdm845-sony-xperia-tama: fix no-mmc property for SDHCI
  arm64: dts: qcom: sda660-inforce-ifc6560: fix no-mmc property for SDHCI
  arm64: dts: qcom: sa8155p-adp: fix no-mmc property for SDHCI
  arm64: dts: qcom: qrb5165-rb: fix no-mmc property for SDHCI
  arm64: dts: qcom: sm8450: align MMC node names with dtschema
  arm64: dts: qcom: sc7180-trogdor: use generic node names
  arm64: dts: qcom: sm8450-hdk: add sound support
  arm64: dts: qcom: sm8450: add Soundwire and LPASS
  arm64: dts: qcom: sm8450: add GPR node
  arm64: dts: qcom: sa8540p-ride: enable PCIe support
  arm64: dts: qcom: sm6115: Add smmu fallback to qcom generic compatible
  arm64: dts: qcom: sm6115: Add WCN node
  arm64: dts: qcom: sm6115: Add i2c/spi nodes
  arm64: dts: qcom: sm6115: Add GPI DMA
  arm64: dts: qcom: sm6115: Add mdss/dpu node
  ...

Link: https://lore.kernel.org/r/20221207152554.3232434-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-12-07 22:01:36 +01:00
Arnd Bergmann
c05188c806 SoCFPGA dts updates for v6.2, part 2
- Fix dtschema for LED node
 - Fix dtschema for i2c-mux
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmOPtegACgkQGZQEC4Gj
 KPQsnhAAktBqdDcIdw7mcgLRou6gJHlHG5H/WqHFa3oWBsIz4kEnMaDCNM0DfqUG
 tMb9v2MpWwSYjmQmt3em09sSYSITts/rglMWJn2bCWkLM/ShNHDuz3o6JJiDiOCT
 CSWxemxC25HPBukaiWJQIsNuopd4A7QTW7wg4cRF+v7uz05zzQBWggdk7iFPJ/rX
 10i9hWnOJfc8F/fDDAIVHEsSoUU4UKXwgGxH/ki93NsGx7gjLaF+OV+E0Ds01hvN
 QJqqgbOzLF/UbsvJleZ+gAApx+3ANVHxAEADuqrtrTQUKJdertCCJsZHTF/f2vVI
 Fdk0f/RlmS7OpR/5RN3AFBfifuhNlYR6J2KAkdCk6Y/Y+msBNid3tMpfHxs0lKHI
 evShCCA51R4JVttqBAtWPsVuXnSozYw4Wzr7EFECFYq9W1de7M+zszdBJLZV6Uzq
 f7pyRkfdqrQiUj/O1fHMPqaX1sEnPuMkttszCJx1MIpN/jhkTYK+j+R1+6sgOFUt
 mo//OxTfVrepDinmrGc2in0Qvx8j4UlWS2XMNzpkP3s0mW/PYWxQAwxxsFLFz0us
 kGKAfIzk8brhgmVCa1PIhk0q2AR3+BxVFwSXF3wLJFk6cWSH5zMw6UDHTgXNCOA/
 0/9EjkBks6P2qHmdj4qCEZkfdl60a5me+rJMNzdwrOby6j8LWNc=
 =5bN/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmOQ/CAACgkQmmx57+YA
 GNlQ3Q/9FFxbKaA6riCm9McyQqExQkddx3zglaDV/1zm7WzaNrjm7yja+L/P8GA5
 4YSKIcAICwKBcFwH61j/z5E/sNH+Mzk3wSjNznTTXegNRQsdaFFklVSEFy4W/yJr
 xGeKOL4+6CLfIZp3Os73l0Tep9RX/W3NQBFrdamDAX/3g43ASB2kIjS4zyc6CRDn
 KAdhySQQrast+pJ2KUAwo+h8TK25fCwGylgrlEP34rWTId6BmCNkz+NNSqCjm5ZQ
 PUOE6uHLyGJP0DhKbu9zkIqUS4mv3lQb6jabA+5u/MfBoekZdmn3CqXmzIQx/i3Q
 SLYBjXcwON8vkGf3ITadZROVg2LAzChy0qZhMVW0i0fETE9zeLx+SzbeAHxI1VgH
 ohNJjVQYfjT1xO1oyL5CIctVCz2vG/3CRFkEInqHc7AbIdjKJJr0yE8dOfX5Utsb
 AAdET9WcVYwtVuVyU74Fz1xMWWbYNfWSq7eYkLm98I+O6Vs1ewnUoPQApddhq3OX
 vINWR6XUXoxc0iX9yFNwO441oBwaYN/0uTGbEs5+cWTjmCU+ROYryTPy8pETW+1Y
 w9/3wihem36RbU1qYv3P3bXi8wkXI68Tb6Ziez2nYIUdoccG7AYuy0VbQrTzSUzy
 ++GW0GdnL38K2PDHPB/BPlLyaaRJKo3EVsG58bIzhhzYvfw6ESo=
 =keRF
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_updates_for_v6.2_part2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into soc/dt

SoCFPGA dts updates for v6.2, part 2
- Fix dtschema for LED node
- Fix dtschema for i2c-mux

* tag 'socfpga_dts_updates_for_v6.2_part2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  ARM: dts: socfpga: Fix pca9548 i2c-mux node name
  ARM: dts: socfpga: align LED node names with dtschema
  arm64: dts: altera: align LED node names with dtschema

Link: https://lore.kernel.org/r/20221206214006.590562-1-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-12-07 21:48:32 +01:00
Linus Torvalds
479174d402 platform-drivers-x86 for v6.1-5
A single fix for 6.12 for suspend/resume issues on some AMD systems.
 
 The following is an automated git shortlog grouped by driver:
 
 platform/x86/amd:
  -  pmc: Add a workaround for an s0i3 issue on Cezanne
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCAAyFiEEuvA7XScYQRpenhd+kuxHeUQDJ9wFAmOQyfYUHGhkZWdvZWRl
 QHJlZGhhdC5jb20ACgkQkuxHeUQDJ9xysAf+PZZ5W+yvgBOQJFok+dehxq2ctgzg
 sBIG21hAYohuJ3/XbKVHxl07iZRaZ3YWOsO00AFwQL/5TyNx9WzYu1B/kUwf04jU
 mboqJmnxuTRX76lDKHHJ/T5KQtGYEjqItzPkvqQilpvlcE6z3FJkJ6iiYk2YObD3
 BKDhRCiL29Al2o2nkuecGqoBI9b9tdGPIBJdvaItDQfTn4jih3wkdU9Ts2dZaW7N
 9K4WEGw3ztHUZDFKnj469lcg1RU4aMUhYFWugMaqqRSClj3Q3xnQbKdhDsn8MQnX
 VrmOyjfLLpGKox8OAUA0XYnJI20xRMCZj/ejWx4qOdAo/KcUTMcIQ3sP4g==
 =iSPt
 -----END PGP SIGNATURE-----

Merge tag 'platform-drivers-x86-v6.1-5' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86

Pull x86 platform driver fix from Hans de Goede:
 "A single fix for 6.1 for suspend/resume issues on some AMD systems"

* tag 'platform-drivers-x86-v6.1-5' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
  platform/x86/amd: pmc: Add a workaround for an s0i3 issue on Cezanne
2022-12-07 12:37:35 -08:00
Zheyu Ma
39244cc754 i2c: ismt: Fix an out-of-bounds bug in ismt_access()
When the driver does not check the data from the user, the variable
'data->block[0]' may be very large to cause an out-of-bounds bug.

The following log can reveal it:

[   33.995542] i2c i2c-1: ioctl, cmd=0x720, arg=0x7ffcb3dc3a20
[   33.995978] ismt_smbus 0000:00:05.0: I2C_SMBUS_BLOCK_DATA:  WRITE
[   33.996475] ==================================================================
[   33.996995] BUG: KASAN: out-of-bounds in ismt_access.cold+0x374/0x214b
[   33.997473] Read of size 18446744073709551615 at addr ffff88810efcfdb1 by task ismt_poc/485
[   33.999450] Call Trace:
[   34.001849]  memcpy+0x20/0x60
[   34.002077]  ismt_access.cold+0x374/0x214b
[   34.003382]  __i2c_smbus_xfer+0x44f/0xfb0
[   34.004007]  i2c_smbus_xfer+0x10a/0x390
[   34.004291]  i2cdev_ioctl_smbus+0x2c8/0x710
[   34.005196]  i2cdev_ioctl+0x5ec/0x74c

Fix this bug by checking the size of 'data->block[0]' first.

Fixes: 13f35ac14c ("i2c: Adding support for Intel iSMT SMBus 2.0 host controller")
Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2022-12-07 21:27:08 +01:00
Yang Yingliang
2d47b79d2b i2c: mux: reg: check return value after calling platform_get_resource()
It will cause null-ptr-deref in resource_size(), if platform_get_resource()
returns NULL, move calling resource_size() after devm_ioremap_resource() that
will check 'res' to avoid null-ptr-deref.
And use devm_platform_get_and_ioremap_resource() to simplify code.

Fixes: b3fdd32799 ("i2c: mux: Add register-based mux i2c-mux-reg")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
2022-12-07 21:19:32 +01:00
Zhang Xiaoxu
31720a2b10 orangefs: Fix kmemleak in orangefs_{kernel,client}_debug_init()
When insert and remove the orangefs module, there are memory leaked
as below:

unreferenced object 0xffff88816b0cc000 (size 2048):
  comm "insmod", pid 783, jiffies 4294813439 (age 65.512s)
  hex dump (first 32 bytes):
    6e 6f 6e 65 0a 00 00 00 00 00 00 00 00 00 00 00  none............
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<0000000031ab7788>] kmalloc_trace+0x27/0xa0
    [<000000005b405fee>] orangefs_debugfs_init.cold+0xaf/0x17f
    [<00000000e5a0085b>] 0xffffffffa02780f9
    [<000000004232d9f7>] do_one_initcall+0x87/0x2a0
    [<0000000054f22384>] do_init_module+0xdf/0x320
    [<000000003263bdea>] load_module+0x2f98/0x3330
    [<0000000052cd4153>] __do_sys_finit_module+0x113/0x1b0
    [<00000000250ae02b>] do_syscall_64+0x35/0x80
    [<00000000f11c03c7>] entry_SYSCALL_64_after_hwframe+0x46/0xb0

Use the golbal variable as the buffer rather than dynamic allocate to
slove the problem.

Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5@huawei.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2022-12-07 15:18:30 -05:00
Zhang Xiaoxu
1f2c0e8a58 orangefs: Fix kmemleak in orangefs_sysfs_init()
When insert and remove the orangefs module, there are kobjects memory
leaked as below:

unreferenced object 0xffff88810f95af00 (size 64):
  comm "insmod", pid 783, jiffies 4294813439 (age 65.512s)
  hex dump (first 32 bytes):
    a0 83 af 01 81 88 ff ff 08 af 95 0f 81 88 ff ff  ................
    08 af 95 0f 81 88 ff ff 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<0000000031ab7788>] kmalloc_trace+0x27/0xa0
    [<000000005a6e4dfe>] orangefs_sysfs_init+0x42/0x3a0
    [<00000000722645ca>] 0xffffffffa02780fe
    [<000000004232d9f7>] do_one_initcall+0x87/0x2a0
    [<0000000054f22384>] do_init_module+0xdf/0x320
    [<000000003263bdea>] load_module+0x2f98/0x3330
    [<0000000052cd4153>] __do_sys_finit_module+0x113/0x1b0
    [<00000000250ae02b>] do_syscall_64+0x35/0x80
    [<00000000f11c03c7>] entry_SYSCALL_64_after_hwframe+0x46/0xb0

unreferenced object 0xffff88810f95ae80 (size 64):
  comm "insmod", pid 783, jiffies 4294813439 (age 65.512s)
  hex dump (first 32 bytes):
    c8 90 0f 02 81 88 ff ff 88 ae 95 0f 81 88 ff ff  ................
    88 ae 95 0f 81 88 ff ff 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<0000000031ab7788>] kmalloc_trace+0x27/0xa0
    [<000000001a4841fa>] orangefs_sysfs_init+0xc7/0x3a0
    [<00000000722645ca>] 0xffffffffa02780fe
    [<000000004232d9f7>] do_one_initcall+0x87/0x2a0
    [<0000000054f22384>] do_init_module+0xdf/0x320
    [<000000003263bdea>] load_module+0x2f98/0x3330
    [<0000000052cd4153>] __do_sys_finit_module+0x113/0x1b0
    [<00000000250ae02b>] do_syscall_64+0x35/0x80
    [<00000000f11c03c7>] entry_SYSCALL_64_after_hwframe+0x46/0xb0

unreferenced object 0xffff88810f95ae00 (size 64):
  comm "insmod", pid 783, jiffies 4294813440 (age 65.511s)
  hex dump (first 32 bytes):
    60 87 a1 00 81 88 ff ff 08 ae 95 0f 81 88 ff ff  `...............
    08 ae 95 0f 81 88 ff ff 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<0000000031ab7788>] kmalloc_trace+0x27/0xa0
    [<000000005915e797>] orangefs_sysfs_init+0x12b/0x3a0
    [<00000000722645ca>] 0xffffffffa02780fe
    [<000000004232d9f7>] do_one_initcall+0x87/0x2a0
    [<0000000054f22384>] do_init_module+0xdf/0x320
    [<000000003263bdea>] load_module+0x2f98/0x3330
    [<0000000052cd4153>] __do_sys_finit_module+0x113/0x1b0
    [<00000000250ae02b>] do_syscall_64+0x35/0x80
    [<00000000f11c03c7>] entry_SYSCALL_64_after_hwframe+0x46/0xb0

unreferenced object 0xffff88810f95ad80 (size 64):
  comm "insmod", pid 783, jiffies 4294813440 (age 65.511s)
  hex dump (first 32 bytes):
    78 90 0f 02 81 88 ff ff 88 ad 95 0f 81 88 ff ff  x...............
    88 ad 95 0f 81 88 ff ff 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<0000000031ab7788>] kmalloc_trace+0x27/0xa0
    [<000000007a14eb35>] orangefs_sysfs_init+0x1ac/0x3a0
    [<00000000722645ca>] 0xffffffffa02780fe
    [<000000004232d9f7>] do_one_initcall+0x87/0x2a0
    [<0000000054f22384>] do_init_module+0xdf/0x320
    [<000000003263bdea>] load_module+0x2f98/0x3330
    [<0000000052cd4153>] __do_sys_finit_module+0x113/0x1b0
    [<00000000250ae02b>] do_syscall_64+0x35/0x80
    [<00000000f11c03c7>] entry_SYSCALL_64_after_hwframe+0x46/0xb0

unreferenced object 0xffff88810f95ac00 (size 64):
  comm "insmod", pid 783, jiffies 4294813440 (age 65.531s)
  hex dump (first 32 bytes):
    e0 ff 67 02 81 88 ff ff 08 ac 95 0f 81 88 ff ff  ..g.............
    08 ac 95 0f 81 88 ff ff 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<0000000031ab7788>] kmalloc_trace+0x27/0xa0
    [<000000001f38adcb>] orangefs_sysfs_init+0x291/0x3a0
    [<00000000722645ca>] 0xffffffffa02780fe
    [<000000004232d9f7>] do_one_initcall+0x87/0x2a0
    [<0000000054f22384>] do_init_module+0xdf/0x320
    [<000000003263bdea>] load_module+0x2f98/0x3330
    [<0000000052cd4153>] __do_sys_finit_module+0x113/0x1b0
    [<00000000250ae02b>] do_syscall_64+0x35/0x80
    [<00000000f11c03c7>] entry_SYSCALL_64_after_hwframe+0x46/0xb0

unreferenced object 0xffff88810f95ab80 (size 64):
  comm "insmod", pid 783, jiffies 4294813441 (age 65.530s)
  hex dump (first 32 bytes):
    50 bf 2f 02 81 88 ff ff 88 ab 95 0f 81 88 ff ff  P./.............
    88 ab 95 0f 81 88 ff ff 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<0000000031ab7788>] kmalloc_trace+0x27/0xa0
    [<000000009cc7d95b>] orangefs_sysfs_init+0x2f5/0x3a0
    [<00000000722645ca>] 0xffffffffa02780fe
    [<000000004232d9f7>] do_one_initcall+0x87/0x2a0
    [<0000000054f22384>] do_init_module+0xdf/0x320
    [<000000003263bdea>] load_module+0x2f98/0x3330
    [<0000000052cd4153>] __do_sys_finit_module+0x113/0x1b0
    [<00000000250ae02b>] do_syscall_64+0x35/0x80
    [<00000000f11c03c7>] entry_SYSCALL_64_after_hwframe+0x46/0xb0

Should add release function for each kobject_type to free the memory.

Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5@huawei.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2022-12-07 15:18:30 -05:00
Zhang Xiaoxu
d23417a5bf orangefs: Fix kmemleak in orangefs_prepare_debugfs_help_string()
When insert and remove the orangefs module, then debug_help_string will
be leaked:

  unreferenced object 0xffff8881652ba000 (size 4096):
    comm "insmod", pid 1701, jiffies 4294893639 (age 13218.530s)
    hex dump (first 32 bytes):
      43 6c 69 65 6e 74 20 44 65 62 75 67 20 4b 65 79  Client Debug Key
      77 6f 72 64 73 20 61 72 65 20 75 6e 6b 6e 6f 77  words are unknow
    backtrace:
      [<0000000004e6f8e3>] kmalloc_trace+0x27/0xa0
      [<0000000006f75d85>] orangefs_prepare_debugfs_help_string+0x5e/0x480 [orangefs]
      [<0000000091270a2a>] _sub_I_65535_1+0x57/0xf70 [crc_itu_t]
      [<000000004b1ee1a3>] do_one_initcall+0x87/0x2a0
      [<000000001d0614ae>] do_init_module+0xdf/0x320
      [<00000000efef068c>] load_module+0x2f98/0x3330
      [<000000006533b44d>] __do_sys_finit_module+0x113/0x1b0
      [<00000000a0da6f99>] do_syscall_64+0x35/0x80
      [<000000007790b19b>] entry_SYSCALL_64_after_hwframe+0x46/0xb0

When remove the module, should always free debug_help_string. Should
always free the allocated buffer when change the free_debug_help_string.

Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5@huawei.com>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2022-12-07 15:18:30 -05:00