Commit graph

1,429,402 commits

Author SHA1 Message Date
Miaoqian Lin
3f747004bb dmaengine: qcom: gpi: Fix memory leak in gpi_peripheral_config()
Fix a memory leak in gpi_peripheral_config() where the original memory
pointed to by gchan->config could be lost if krealloc() fails.

The issue occurs when:
1. gchan->config points to previously allocated memory
2. krealloc() fails and returns NULL
3. The function directly assigns NULL to gchan->config, losing the
   reference to the original memory
4. The original memory becomes unreachable and cannot be freed

Fix this by using a temporary variable to hold the krealloc() result
and only updating gchan->config when the allocation succeeds.

Found via static analysis and code review.

Fixes: 5d0c3533a1 ("dmaengine: qcom: Add GPI dma driver")
Cc: stable@vger.kernel.org
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Link: https://patch.msgid.link/20251029123421.91973-1-linmq006@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2026-01-11 22:12:38 +05:30
Linus Torvalds
88730166f3 Misc irqchip fixes:
- Fix an endianness bug in the gic-v5 irqchip driver
  - Revert a broken commit from the riscv-imsic irqchip driver
 
 Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmljdx8RHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1gkMg//QE/lhLha0o4pcsmz1yiPcieScvCqhiDE
 ReolAwhixxZnbhfpO6beZs1bWZ8CetqfUhX3RUuOWnzUuzExYitJPC89EUl8wv5I
 N+3GqllIrgXWiR3vYXBAxd/n+/zjiVZJwE3napd6Ua0R31vKN2tkGW/sBynbmJnJ
 EZxb1ystomr1KAnHEtsXIyh2aM0Hyq+ueSRgPyLRgrnYisF9OkNvQziSF6XNvxrG
 g4DSMMK5owUNHggB/H+9mZ0P0uE6vDhThycE4bNZLUa1QaPp1xnPcU8f/TiNqWBt
 LZE+eg/eIFS3UD3iU7yONVWGKE7OGRpVY8+cERoua/z7VGkelUBB6jWXNwM8+wIa
 L70b69Cuv0qiihC0icyo5EJwcDjqS1xG+HxChWOkgOgmrCZZACPrcNmvF1Ii7e24
 oWF6FYNzKzW+Txs+pD/DEckuBcTBwrfJfVsdnoNxcm/cUdBbFEhBoWybeRW28on0
 R0AFyTYb/Oe4GGtsfPJmEvfnX1fpajKX6Emh7uCgPIz5A+Cku/HJ83pQRXU2JIKr
 bRsLEjNwVg8nGx5lyIQHpc5O8g38bVwuic2UwNSnuSs32jX/K0Hi+sOHCSNqdfmI
 xMIFNbXD5IaPyoBun3cVlFCyTsEhGOvLTs4HrBFn+ekponmj6vvQA5fGL2/vS899
 GNdL05I6BNY=
 =qhAZ
 -----END PGP SIGNATURE-----

Merge tag 'irq-urgent-2026-01-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull misc irqchip fixes from Ingo Molnar:

 - Fix an endianness bug in the gic-v5 irqchip driver

 - Revert a broken commit from the riscv-imsic irqchip driver

* tag 'irq-urgent-2026-01-11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  Revert "irqchip/riscv-imsic: Embed the vector array in lpriv"
  irqchip/gic-v5: Fix gicv5_its_map_event() ITTE read endianness
2026-01-11 06:36:20 -10:00
Thomas Gleixner
2e4b28c48f treewide: Update email address
In a vain attempt to consolidate the email zoo switch everything to the
kernel.org account.

Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2026-01-11 06:09:11 -10:00
Cristian Ciocaltea
db8061bbb9 drm/rockchip: dw_hdmi_qp: Switch to gpiod_set_value_cansleep()
Since commit 20cf2aed89 ("gpio: rockchip: mark the GPIO controller as
sleeping"), the Rockchip GPIO chip operations potentially sleep, hence
the kernel complains when trying to make use of the non-sleeping API:

[   16.653343] WARNING: drivers/gpio/gpiolib.c:3902 at gpiod_set_value+0xd0/0x108, CPU#5: kworker/5:1/93
...
[   16.678470] Hardware name: Radxa ROCK 5B (DT)
[   16.682374] Workqueue: events dw_hdmi_qp_rk3588_hpd_work [rockchipdrm]
...
[   16.729314] Call trace:
[   16.731846]  gpiod_set_value+0xd0/0x108 (P)
[   16.734548]  dw_hdmi_qp_rockchip_encoder_enable+0xbc/0x3a8 [rockchipdrm]
[   16.737487]  drm_atomic_helper_commit_encoder_bridge_enable+0x314/0x380 [drm_kms_helper]
[   16.740555]  drm_atomic_helper_commit_tail_rpm+0xa4/0x100 [drm_kms_helper]
[   16.743501]  commit_tail+0x1e0/0x2c0 [drm_kms_helper]
[   16.746290]  drm_atomic_helper_commit+0x274/0x2b8 [drm_kms_helper]
[   16.749178]  drm_atomic_commit+0x1f0/0x248 [drm]
[   16.752000]  drm_client_modeset_commit_atomic+0x490/0x5d0 [drm]
[   16.754954]  drm_client_modeset_commit_locked+0xf4/0x400 [drm]
[   16.757911]  drm_client_modeset_commit+0x50/0x80 [drm]
[   16.760791]  __drm_fb_helper_restore_fbdev_mode_unlocked+0x9c/0x170 [drm_kms_helper]
[   16.763843]  drm_fb_helper_hotplug_event+0x340/0x368 [drm_kms_helper]
[   16.766780]  drm_fbdev_client_hotplug+0x64/0x1d0 [drm_client_lib]
[   16.769634]  drm_client_hotplug+0x178/0x240 [drm]
[   16.772455]  drm_client_dev_hotplug+0x170/0x1c0 [drm]
[   16.775303]  drm_connector_helper_hpd_irq_event+0xa4/0x178 [drm_kms_helper]
[   16.778248]  dw_hdmi_qp_rk3588_hpd_work+0x44/0xb8 [rockchipdrm]
[   16.781080]  process_one_work+0xc3c/0x1658
[   16.783719]  worker_thread+0xa24/0xc40
[   16.786333]  kthread+0x3b4/0x3d8
[   16.788889]  ret_from_fork+0x10/0x20

Since gpiod_get_value() is called from a context that can sleep, switch
to its *_cansleep() variant and get rid of the issue.

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260110-dw-hdmi-qp-cansleep-v1-1-1ce937c5b201@collabora.com
2026-01-11 14:36:21 +01:00
Marcelo Schmitt
e0bc6d7e25 iio: adc: Initial support for AD4134
AD4134 is a 24-bit, 4-channel, simultaneous sampling, precision
analog-to-digital converter (ADC). The device can be managed through SPI or
direct control of pin logical levels (pin control mode). The AD4134 design
also features a dedicated bus for ADC sample data output. Though, this
initial driver for AD4134 only supports usual SPI connections.

Add basic support for AD4134 that enables single-shot ADC sample read.

Signed-off-by: Marcelo Schmitt <marcelo.schmitt@analog.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2026-01-11 13:30:29 +00:00
Marcelo Schmitt
8b59bcf8d5 dt-bindings: iio: adc: Add AD4134
Add device tree documentation for AD4134 24-Bit, 4-channel simultaneous
sampling, precision ADC.

Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Marcelo Schmitt <marcelo.schmitt@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2026-01-11 13:29:32 +00:00
Miaoqian Lin
978d28136c iio: dac: ad3552r-hs: fix out-of-bound write in ad3552r_hs_write_data_source
When simple_write_to_buffer() succeeds, it returns the number of bytes
actually copied to the buffer. The code incorrectly uses 'count'
as the index for null termination instead of the actual bytes copied.
If count exceeds the buffer size, this leads to out-of-bounds write.
Add a check for the count and use the return value as the index.

The bug was validated using a demo module that mirrors the original
code and was tested under QEMU.

Pattern of the bug:
- A fixed 64-byte stack buffer is filled using count.
- If count > 64, the code still does buf[count] = '\0', causing an
- out-of-bounds write on the stack.

Steps for reproduce:
- Opens the device node.
- Writes 128 bytes of A to it.
- This overflows the 64-byte stack buffer and KASAN reports the OOB.

Found via static analysis. This is similar to the
commit da9374819e ("iio: backend: fix out-of-bound write")

Fixes: b1c5d68ea6 ("iio: dac: ad3552r-hs: add support for internal ramp")
Cc: stable@vger.kernel.org
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Reviewed-by: David Lechner <dlechner@baylibre.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2026-01-11 13:25:15 +00:00
Chen Ni
b8d1936d05 iio: adc: ad7476: Remove duplicate include
Remove duplicate inclusion of linux/bitops.h.

Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
Reviewed-by: Matti Vaittinen <mazziesaccount@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2026-01-11 13:16:27 +00:00
Kurt Borja
b96261d7be iio: adc: ti-ads1018: Drop stale kernel-doc function context
The driver no longer uses iio_device_claim_buffer_mode(). Drop it from
ads1018_spi_read_exclusive() context remark.

Signed-off-by: Kurt Borja <kuurtb@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2026-01-11 13:07:29 +00:00
Derek J. Clark
f69b5ac682 iio: bmi270_i2c: Add MODULE_DEVICE_TABLE for BMI260/270
Currently BMI260 & BMI270 devices do not automatically load this
driver. To fix this, add missing MODULE_DEVICE_TABLE for the i2c,
acpi, and of device tables so the driver will load when the hardware
is detected.

Tested on my OneXPlayer F1 Pro.

Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2026-01-11 13:02:19 +00:00
Michael Harris
c84cde33b0 staging: iio: adt7316: modernize power management
Replaced use of deprecated function SIMPLE_DEV_PM_OPS() with
EXPORT_GPL_SIMPLE_DEV_PM_OPS().

Removed PM preprocessor conditions with usage of pm_sleep_ptr().

Signed-off-by: Michael Harris <michaelharriscode@gmail.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2026-01-11 13:00:22 +00:00
Chaitanya Mishra
efcffd9a6a staging: greybus: lights: avoid NULL deref
gb_lights_light_config() stores channel_count before allocating the
channels array. If kcalloc() fails, gb_lights_release() iterates the
non-zero count and dereferences light->channels, which is NULL.

Allocate channels first and only then publish channels_count so the
cleanup path can't walk a NULL pointer.

Fixes: 2870b52bae ("greybus: lights: add lights implementation")
Link: https://lore.kernel.org/all/20260108103700.15384-1-chaitanyamishra.ai@gmail.com/
Reviewed-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Chaitanya Mishra <chaitanyamishra.ai@gmail.com>
Link: https://patch.msgid.link/20260108151254.81553-1-chaitanyamishra.ai@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:55:33 +01:00
Philip Thayer
36a795e7ee staging: rtl8723bs: fix spacing around arithmetic operators
Fixed coding style checks where spaces were missing around subtraction
and addition operators in rtw_cmd.c.

This aligns with the Linux Kernel coding style standards.

Signed-off-by: Philip Thayer <thayerscirez@gmail.com>
Link: https://patch.msgid.link/20260105194226.57035-2-thayerscirez@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:55:05 +01:00
Holden Hsu
230f72823f staging: greybus: arche-platform: fix spelling mistake in comment
Fix 'premits' -> 'permits' in a comment to improve code readability.

Signed-off-by: Holden Hsu <holden_hsu@163.com>
Link: https://patch.msgid.link/20260105104505.8120-3-holden_hsu@163.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:54:21 +01:00
Holden Hsu
c6ca88ba42 staging: greybus: arche-platform: clarify TODO comment
The TODO comment 'sequence ??' is unclear and provides little context
about what needs to be implemented. Replace it with 'TODO: define shutdown
sequence' to better describe the required implementation.

Signed-off-by: Holden Hsu <holden_hsu@163.com>
Link: https://patch.msgid.link/20260105104505.8120-2-holden_hsu@163.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:54:21 +01:00
Ovidiu Panait
80fd2297d7 staging: axis-fifo: Clean up register and mask definitions
Improve readability and consistency of hardware register definitions:
- Remove unnecessary leading zeros from register offset values
- Use BIT() macro for single-bit interrupt mask definitions
- Align values and comments for better readability

No functional change.

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Link: https://patch.msgid.link/20251227212640.3321310-9-ovidiu.panait.oss@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:54:12 +01:00
Ovidiu Panait
02b2a366a6 staging: axis-fifo: Remove redundant comments
Drop banner-style section header comments and also remove comments
around self-explanatory code to reduce clutter and improve
readability.

No functional changes.

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Link: https://patch.msgid.link/20251227212640.3321310-8-ovidiu.panait.oss@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:54:12 +01:00
Ovidiu Panait
04efe3aa5f staging: axis-fifo: Remove noisy error messages for user errors
Remove dev_err() calls for conditions caused by invalid userspace
input. Logging them clutters the kernel log, especially if userspace
repeatedly makes invalid calls.

Also, consolidate the write validation checks into a single condition.

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Link: https://patch.msgid.link/20251227212640.3321310-7-ovidiu.panait.oss@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:54:12 +01:00
Ovidiu Panait
ab517a047b staging: axis-fifo: Remove unnecessary zero-length packet check
Remove the check for zero-length packets as this condition cannot
occur during normal operation. According to the Xilinx AXI4-Stream
FIFO Product Guide (PG080), in the Receive Length Register (RLR)
description: "The smallest packet that can be received is 1 byte."

A zero-length packet would indicate a bug in the IP core itself.

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Link: https://patch.msgid.link/20251227212640.3321310-6-ovidiu.panait.oss@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:54:12 +01:00
Ovidiu Panait
eb757312ac staging: axis-fifo: Remove unnecessary casts from file->private_data
Drop explicit casts when accessing file->private_data in the read() and
write() paths, as they are not needed.

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Link: https://patch.msgid.link/20251227212640.3321310-5-ovidiu.panait.oss@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:54:12 +01:00
Ovidiu Panait
d1a3cfec3a staging: axis-fifo: Drop unneeded release callback
The release function only clears file->private_data, which is not
needed. Remove the callback.

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Link: https://patch.msgid.link/20251227212640.3321310-4-ovidiu.panait.oss@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:54:12 +01:00
Ovidiu Panait
eb12093d42 staging: axis-fifo: Use devm_kasprintf for device name allocation
Replace manual kzalloc + snprintf with devm_kasprintf, which is
cleaner and purpose-built for this use case.

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Link: https://patch.msgid.link/20251227212640.3321310-3-ovidiu.panait.oss@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:54:12 +01:00
Ovidiu Panait
c83d8445f3 staging: axis-fifo: Add poll() support
Implement poll() file operation to allow userspace applications to
wait for FIFO readiness using select()/poll()/epoll().

This replaces the module parameter-based timeouts removed in the
previous commit.

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Link: https://patch.msgid.link/20251227212640.3321310-2-ovidiu.panait.oss@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:54:11 +01:00
Ovidiu Panait
87d653a894 staging: axis-fifo: Remove read/write timeout module parameters
Module parameters for timeouts are a poor interface choice as they
affect all device instances globally rather than being configurable
per file descriptor.

The current implementation also returns -EAGAIN on timeout, requiring
userspace to implement retry loops around blocking operations.

Remove the read_timeout and write_timeout module parameters. The next
commit adds poll() support, allowing applications to implement timeout
handling using standard poll()/select() interfaces.

Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Link: https://patch.msgid.link/20251227212640.3321310-1-ovidiu.panait.oss@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:54:11 +01:00
Akiyoshi Kurita
d78870274b staging: sm750fb: fix typo 'resetted' -> 'reset'
Fix a typo in a comment.

Signed-off-by: Akiyoshi Kurita <weibu@redadmin.org>
Link: https://patch.msgid.link/20260103120824.1275574-1-weibu@redadmin.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:54:01 +01:00
Marc Dietrich
db9b736bce staging: nvec: apply udelay only after the first byte has been sent
Due to a HW bug in the Tegra20 SoC a udelay needs to be added after
the first byte has been sent to the EC (I2C master). Move it to the
correct position and add a comment that it should not be replaced by
usleep_range.

Signed-off-by: Marc Dietrich <marvin24@gmx.de>
Link: https://patch.msgid.link/20260103101439.14863-1-marvin24@gmx.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:53:56 +01:00
Diksha Kumari
42d8dc5a9d staging: rtl8723bs: fix spacing around operators
Fix missing spaces around arithmetic operators to address coding
style issues reported by checkpatch.pl.

Signed-off-by: Diksha Kumari <dikshakdevgan@gmail.com>
Link: https://patch.msgid.link/20260101183124.10322-1-dikshakdevgan@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:53:18 +01:00
Minu Jin
69dc48dc55 staging: rtl8723bs: use PTR_ALIGN for buffer alignment
Replace manual pointer alignment calculation with the standard PTR_ALIGN
macro in rtw_init_cmd_priv()

This improves code readability and ensures the use of kernel's
preferred alignment mechanism instead of manual calculation

Signed-off-by: Minu Jin <s9430939@naver.com>
Link: https://patch.msgid.link/20251228145823.3250174-1-s9430939@naver.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:52:41 +01:00
Ofir Mirovsky
2e2d0c710c staging: rtl8723bs: remove unnecessary blank lines
Remove unnecessary blank lines to fix checkpatch checks:
- "Blank lines aren't necessary before a close brace '}'"
- "Blank lines aren't necessary after an open brace '{'"

This improves code readability and adheres to the kernel coding style.

Signed-off-by: Ofir Mirovsky <ofirmirovsky@gmail.com>
Link: https://patch.msgid.link/20251227234550.3034-1-ofirmirovsky@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:52:34 +01:00
Karthikey D Kadati
44b225bf07 staging: rtl8723bs: fix missing transmission lock in rtw_xmit
The packet transmission path in rtw_xmit.c contained TODO comments
indicating a missing lock. This patch implements spin_lock_bh and
spin_unlock_bh around the station attribute update section.

This prevents a potential race condition where station security and
PHY information could be modified on another CPU core during
transmission. The use of _bh variants ensures safety in bottom-half
contexts common in network transmit paths.

Verified that psta is NULL-checked prior to acquisition and that no
double-unlocks occur on the exit path.

Signed-off-by: Karthikey D Kadati <karthikey3608@gmail.com>
Link: https://patch.msgid.link/20251227113348.26272-1-karthikey3608@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:52:25 +01:00
Sun Jian
20530f561a staging: rtl8723bs: fix missing blank line warning
Fix the following checkpatch warning:

  WARNING: Missing a blank line after declarations

This adds a blank line between the variable declaration and
the code logic to improve readability and adhere to the
kernel coding style.

Signed-off-by: Sun Jian <sun.jian.kdev@gmail.com>
Link: https://patch.msgid.link/20251226094349.156538-1-sun.jian.kdev@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:52:18 +01:00
Yuvraj Singh Chauhan
0cbf955a29 staging: rtl8723bs: Remove redundant MAC_ARG macro
The MAC_ARG(x) macro is a useless identity macro that just returns its
argument unchanged. It was used alongside the %pM format specifier for
printing MAC addresses, but %pM already handles MAC address formatting
directly without needing any wrapper macro.

This commit removes the macro definition from both:

include/osdep_service.h
include/ieee80211.h

And removes all 6 usages throughout the driver

Signed-off-by: Yuvraj Singh Chauhan <ysinghcin@gmail.com>
Link: https://patch.msgid.link/20251226013035.206284-1-ysinghcin@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:52:10 +01:00
William Hansen-Baird
cf0f2680c3 staging: rtl8723bs: core: move constants to right side in comparison
Move constants to right side in if-statement conditions.

Signed-off-by: William Hansen-Baird <william.hansen.baird@gmail.com>
Link: https://patch.msgid.link/20251224100329.762141-3-william.hansen.baird@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:51:59 +01:00
William Hansen-Baird
09a9c4bde4 staging: rtl8723bs: core: remove unnecessary else-statements
Remove else statements where the preceding if-statement returns or breaks.

In rtw_mlme.c the if either continues or breaks.
The else-if always breaks, so the else is useless.

Signed-off-by: William Hansen-Baird <william.hansen.baird@gmail.com>
Link: https://patch.msgid.link/20251224100329.762141-2-william.hansen.baird@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:51:59 +01:00
William Hansen-Baird
f8a916c8ca staging: rtl8723bs: core: remove empty if-statements
This patch removes if-statements with no body in rtw_recv.c and rtw_xmit.c.
If-statement conditions have no side-effect and can be safely removed.

Signed-off-by: William Hansen-Baird <william.hansen.baird@gmail.com>
Link: https://patch.msgid.link/20251224100329.762141-1-william.hansen.baird@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:51:59 +01:00
Jennifer Guo
780f18732a staging: rtl8723bs: fix block comment whitespace
Add leading whitespace to block comments in
HalHWImg8723B_BB.h to fix a checkpatch warning.

Signed-off-by: Jennifer Guo <guojy.bj@gmail.com>
Link: https://patch.msgid.link/20251223184943.83688-1-guojy.bj@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:50:41 +01:00
Rupesh Majhi
d9c2a00391 staging: rtl8723bs: rename shortGIrate to short_gi_rate
Rename the CamelCase variable 'shortGIrate' to 'short_gi_rate'
to comply with Linux kernel coding sytle guidelines.

Issue found by checkpatch.

Signed-off-by: Rupesh Majhi <zoone.rupert@gmail.com>
Link: https://patch.msgid.link/20251222213556.36070-1-zoone.rupert@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:50:33 +01:00
William Hansen-Baird
4c1ee347f8 staging/sm750fb: remove outdated TODO lines
The TODO lines about "checkpatch cleanup" and "kernel coding style"
are no longer needed as all files conform to the kernel coding style,
as verified with checkpatch.pl

Note: checkpatch reports a false positive WARNING for sm750.c line 36
about missing const in static const char *g_fbmode[].
checkpatch suggests static const char * const g_fbmode[].
This was intentional, as the array is modified throughout the code,
while the inner strings remain unchanged.

Signed-off-by: William Hansen-Baird <william.hansen.baird@icloud.com>
Link: https://patch.msgid.link/20251222212849.555571-2-william.hansen.baird@icloud.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:50:30 +01:00
Zhan Xusheng
e3d723f70b staging: greybus: gb-camera: fix configure_streams indentation
Adjust the indentation of gb_camera_ops->configure_streams
parameters to match kernel coding style.

Signed-off-by: Zhan Xusheng <zhanxusheng@xiaomi.com>
Link: https://patch.msgid.link/20251222152432.68555-3-zhanxusheng@xiaomi.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:50:20 +01:00
Zhan Xusheng
81a4ecb9fa staging: greybus: gb-camera: use BIT() macro for flags
Replace (1 << 0) with the BIT(0) macro for input/output flags
to follow Linux kernel coding style.

Signed-off-by: Zhan Xusheng <zhanxusheng@xiaomi.com>
Link: https://patch.msgid.link/20251222152432.68555-2-zhanxusheng@xiaomi.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:50:20 +01:00
Rupesh Majhi
e6900ce28c staging: rtl8723bs: rename shortGIrate to short_gi_rate
Rename the CamelCase variable 'shortGIrate' to 'short_gi_rate'
to comply with Linux kernel coding style guidelines.

Signed-off-by: Rupesh Majhi <zoone.rupert@gmail.com>
Link: https://patch.msgid.link/20251222132430.24491-1-zoone.rupert@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-11 13:50:09 +01:00
Shrikant Raskar
a750088883 iio: proximity: rfd77402: Add OF device ID for enumeration via DT
Add an OF device ID table so the driver can bind automatically when
the RFD77402 sensor is described in Device Tree. This enables proper
enumeration via its compatible string and allows instantiation on
DT-based platforms.

Signed-off-by: Shrikant Raskar <raskar.shree97@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2026-01-11 12:38:14 +00:00
Shrikant Raskar
e4d0e63e24 dt-bindings: iio: proximity: Add RF Digital RFD77402 ToF sensor
The RF Digital RFD77402 is a Time-of-Flight (ToF) proximity and distance
sensor that provides absolute and highly accurate distance measurements
from 100 mm up to 2000 mm over an I2C interface. It includes an optional
interrupt pin that signals when new measurement data is ready.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Shrikant Raskar <raskar.shree97@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2026-01-11 12:37:56 +00:00
Jose Javier Rodriguez Barbarin
b92489be80 iio: adc: men_z188_adc: drop unneeded MODULE_ALIAS
Since commit 1f4ea4838b ("mcb: Add missing modpost build support")
the MODULE_ALIAS() is redundant as the module alias is now
automatically generated from the MODULE_DEVICE_TABLE().

Remove the explicit alias.

No functional change intended.

Reviewed-by: Jorge Sanjuan Garcia <dev-jorge.sanjuangarcia@duagon.com>
Signed-off-by: Jose Javier Rodriguez Barbarin <dev-josejavier.rodriguez@duagon.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2026-01-11 12:21:23 +00:00
Boqun Feng
fe1d482884 Merge branch 'rcu-misc.20260111a'
* rcu-misc.20260111a:
  rcu: Reduce synchronize_rcu() latency by reporting GP kthread's CPU QS early
  srcu: Use suitable gfp_flags for the init_srcu_struct_nodes()
  rcu: Fix rcu_read_unlock() deadloop due to softirq
  rcutorture: Correctly compute probability to invoke ->exp_current()
  rcu: Make expedited RCU CPU stall warnings detect stall-end races
2026-01-11 20:15:07 +08:00
Joel Fernandes
bc3705e209 rcu: Reduce synchronize_rcu() latency by reporting GP kthread's CPU QS early
The RCU grace period mechanism uses a two-phase FQS (Force Quiescent
State) design where the first FQS saves dyntick-idle snapshots and
the second FQS compares them. This results in long and unnecessary latency
for synchronize_rcu() on idle systems (two FQS waits of ~3ms each with
1000HZ) whenever one FQS wait sufficed.

Some investigations showed that the GP kthread's CPU is the holdout CPU
a lot of times after the first FQS as - it cannot be detected as "idle"
because it's actively running the FQS scan in the GP kthread.

Therefore, at the end of rcu_gp_init(), immediately report a quiescent
state for the GP kthread's CPU using rcu_qs() + rcu_report_qs_rdp(). The
GP kthread cannot be in an RCU read-side critical section while running
GP initialization, so this is safe and results in significant latency
improvements.

The following tests were performed:

(1) synchronize_rcu() benchmarking

    100 synchronize_rcu() calls with 32 CPUs, 10 runs each (default fqs
    jiffies settings):

    Baseline (without fix):
    | Run | Mean      | Min      | Max       |
    |-----|-----------|----------|-----------|
    | 1   | 10.088 ms | 9.989 ms | 18.848 ms |
    | 2   | 10.064 ms | 9.982 ms | 16.470 ms |
    | 3   | 10.051 ms | 9.988 ms | 15.113 ms |
    | 4   | 10.125 ms | 9.929 ms | 22.411 ms |
    | 5   |  8.695 ms | 5.996 ms | 15.471 ms |
    | 6   | 10.157 ms | 9.977 ms | 25.723 ms |
    | 7   | 10.102 ms | 9.990 ms | 20.224 ms |
    | 8   |  8.050 ms | 5.985 ms | 10.007 ms |
    | 9   | 10.059 ms | 9.978 ms | 15.934 ms |
    | 10  | 10.077 ms | 9.984 ms | 17.703 ms |

    With fix:
    | Run | Mean     | Min      | Max       |
    |-----|----------|----------|-----------|
    | 1   | 6.027 ms | 5.915 ms |  8.589 ms |
    | 2   | 6.032 ms | 5.984 ms |  9.241 ms |
    | 3   | 6.010 ms | 5.986 ms |  7.004 ms |
    | 4   | 6.076 ms | 5.993 ms | 10.001 ms |
    | 5   | 6.084 ms | 5.893 ms | 10.250 ms |
    | 6   | 6.034 ms | 5.908 ms |  9.456 ms |
    | 7   | 6.051 ms | 5.993 ms | 10.000 ms |
    | 8   | 6.057 ms | 5.941 ms | 10.001 ms |
    | 9   | 6.016 ms | 5.927 ms |  7.540 ms |
    | 10  | 6.036 ms | 5.993 ms |  9.579 ms |

    Summary:
    - Mean latency: 9.75 ms -> 6.04 ms (38% improvement)
    - Max latency:  25.72 ms -> 10.25 ms (60% improvement)

(2) Bridge setup/teardown latency (Uladzislau Rezki)

    x86_64 with 64 CPUs, 100 iterations of bridge add/configure/delete:

                                   real time
    1 - default:                   24.221s
    2 - this patch:                20.754s  (14% faster)
    3 - this patch + wake_from_gp: 15.895s  (34% faster)
    4 - wake_from_gp only:         18.947s  (22% faster)

    Per-synchronize_rcu() latency (in usec):
                  1         2         3       4
    median: 37249.5   31540.5   15765   22480
    min:    7881      7918      9803    7857
    max:    63651     55639     31861   32040

    This patch combined with rcu_normal_wake_from_gp reduces bridge
    setup/teardown time from 24 seconds to 16 seconds.

(3) CPU overhead verification (Uladzislau Rezki)

    System CPU time across 5 runs showed no measurable increase:
      default:     1.698s - 1.937s
      this patch:  1.667s - 1.930s
    Conclusion: variations are within noise, no CPU overhead regression.

(4) rcutorture

    Tested TREE and SRCU configurations - no regressions.

Reviewed-by: "Paul E. McKenney" <paulmck@kernel.org>
Tested-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
Tested-by: Paul E. McKenney <paulmck@kernel.org>
Tested-by: Samir M <samir@linux.ibm.com>
Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com>
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
2026-01-11 20:11:15 +08:00
Markus Koeniger
b8f15d1df2 iio: accel: iis328dq: fix gain values
The sensors IIS328DQ and H3LIS331DL share one configuration but
H3LIS331DL has different gain parameters, configs therefore
need to be split up.
The gain parameters for the IIS328DQ are 0.98, 1.95 and 3.91,
depending on the selected measurement range.

See sensor manuals, chapter 2.1 "mechanical characteristics",
parameter "Sensitivity".

Datasheet: https://www.st.com/resource/en/datasheet/iis328dq.pdf
Datasheet: https://www.st.com/resource/en/datasheet/h3lis331dl.pdf
Fixes: 46e33707fe ("iio: accel: add support for IIS328DQ variant")
Reviewed-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
Signed-off-by: Markus Koeniger <markus.koeniger@liebherr.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2026-01-11 12:00:08 +00:00
Daniel Palmer
a5f00be9b3 tools/nolibc: Add a simple test for writing to a FILE and reading it back
Add a test that exercises create->write->seek->read to check that using the
stream functions (fwrite() etc) is not totally broken.

The only edge cases this is testing for are:
- Reading the file after writing but without rewinding reads nothing.
- Trying to read more items than the file contains returns the count of
  fully read items.

Signed-off-by: Daniel Palmer <daniel@thingy.jp>
Link: https://patch.msgid.link/20260105023629.1502801-4-daniel@thingy.jp
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-01-11 12:47:47 +01:00
Daniel Palmer
109770cc81 tools/nolibc: Add fseek() to stdio.h
A very basic wrapper around lseek() that implements fseek().

Signed-off-by: Daniel Palmer <daniel@thingy.jp>
Link: https://patch.msgid.link/20260105023629.1502801-3-daniel@thingy.jp
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-01-11 12:47:47 +01:00
Daniel Palmer
edaf307431 tools/nolibc: Add fread() to stdio.h
Add a very basic version of fread() like we already have for fwrite().

Signed-off-by: Daniel Palmer <daniel@thingy.jp>
Link: https://patch.msgid.link/20260105023629.1502801-2-daniel@thingy.jp
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-01-11 12:47:47 +01:00