staging: vchiq_core: Factor out bulk transfer for blocking mode
Factor out bulk transfer for blocking mode into a separate dedicated
function bulk_xfer_blocking_interruptible(). It is suffixed by
"_interruptible" to denote that it can be interrupted and -EAGAIN
can be returned. It would be up to the users of the function to retry
the call in those cases.
Adjust the calls to vchiq-dev.c ioctl interface and vchiq_arm.c
for blocking bulk transfers.
Factor out core logic for preparing bulk data transfer(mutex locking,
waits on vchiq_bulk_queue wait-queue, initialising the bulk transfer)
out of the vchiq_bulk_transfer(). This simplifies the existing
vchiq_bulk_transfer() and makes it more readable since all the core
logic is handled in vchiq_bulk_xfer_queue_msg_interruptible(). It
will also help us to refactor vchiq_bulk_transfer() easily for different
vchiq bulk transfer modes.
staging: vchiq: Factor out bulk transfer for VCHIQ_BULK_MODE_WAITING
The bulk transfer is VCHIQ_BULK_MODE_WAITING is used by VCHIQ ioctl
interface. It is factored out to a separate function from
vchiq_bulk_transfer() to bulk_xfer_waiting_interruptible().
This is a part of vchiq_bulk_transfer refactoring. Each bulk mode
will have their dedicated functions to execute bulk transfers.
Each mode will be handled separately in subsequent patches.
bulk_xfer_waiting_interruptible() is suffixed with "_interruptible"
to denote that it can be interrupted when a signal is received.
-EAGAIN maybe returned in those cases, similar to what
vchiq_bulk_transfer() does.
Adjust the vchiq_irq_queue_bulk_tx_rx() in the vchiq-dev.c to call
bulk_xfer_waiting_interruptible() for waiting mode. A temporary
goto label has been introduced to jump the call execution over
vchiq_bulk_transfer() for waiting mode only. When all dedicated bulk
transfer calls are introduced, this label shall be dropped.
staging: vme_user: changed geoid data type from int to u32
Geoid is a module parameter which is set by root user.
Its valid values are between 0 and VME_MAX_SLOTS. So, changing data type
of geoid from int to u32 since it will always be positive.
Steven Davis [Sun, 1 Sep 2024 21:18:59 +0000 (17:18 -0400)]
staging: greybus: Fix capitalization and punctuation inconsistencies
There were a lot of inconsistencies in outputs and
comments, some were properly formatted and
capitalized, and some weren't. This patch resolves
this by properly formatting the inconsistent comments
and outputs.
Michael Straube [Sat, 31 Aug 2024 10:08:09 +0000 (12:08 +0200)]
staging: rtl8192e: adjust size of RxMIMOSignalStrength
The array RxMIMOSignalStrength in struct rtllib_rx_stats is always accessed
with indices in the range i = 0; i < 2. We can reduce the size from 4 to 2.
Michael Straube [Sat, 31 Aug 2024 10:08:08 +0000 (12:08 +0200)]
staging: rtl8192e: adjust size of brfpath_rxenable for new RF90_PATH_MAX
The array brfpath_rxenable in struct r8192_priv is always accessed by
indices in the range i = 0; i < RF90_PATH_MAX. A previous patch changed the
value of RF90_PATH_MAX from 4 to 2, so we can reduce the size of
brfpath_rxenable to 2. Use RF90_PATH_MAX instead of a hard-coded size.
Michael Straube [Sat, 31 Aug 2024 10:08:07 +0000 (12:08 +0200)]
staging: rtl8192e: adjust size of trsw_gain_X for new RF90_PATH_MAX
The array trsw_gain_X in struct phy_sts_ofdm_819xpci is always accessed by
indices in the range i = 0; i < RF90_PATH_MAX. A previous patch changed the
value of RF90_PATH_MAX from 4 to 2, so we can reduce the size of
trsw_gain_X to 2. Use RF90_PATH_MAX instead of a hard-coded size.
Michael Straube [Sat, 31 Aug 2024 10:08:06 +0000 (12:08 +0200)]
staging: rtl8192e: adjust size of rx_pwr for new RF90_PATH_MAX
The local array rx_pwr in the function _rtl92e_query_rxphystatus() is
always accessed by indices in the range i = 0; i < RF90_PATH_MAX.
A previous patch changed the value of RF90_PATH_MAX from 4 to 2, so we can
reduce the size of rx_pwr to 2. Use RF90_PATH_MAX instead of a hard-coded
size.
Manisha Singh [Wed, 28 Aug 2024 22:21:53 +0000 (03:51 +0530)]
staging: rtl8712: Fix style issues in rtl871x_io.c
Refactor the _init_intf_hdl() function to avoid multiple
assignments in a single statement. This change improves code readability
and adheres to kernel coding style guidelines.
Dorine Tipo [Wed, 28 Aug 2024 08:29:35 +0000 (08:29 +0000)]
staging: rtl8712: Align parenthesis in usb_ops_linux.c
Fix the parenthesis alignment in r8712_read_port() function to match
the opening parenthesis.
This improves code readability and adheres to the kernel coding style.
Signed-off-by: Dorine Tipo <dorine.a.tipo@gmail.com> Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> Link: https://lore.kernel.org/r/20240828082935.GA3815@ubuntu-focal Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dominik Karol Piątkowski [Wed, 28 Aug 2024 14:46:56 +0000 (14:46 +0000)]
staging: vt6655: Update maintainer in TODO
Commit ed394dbf5371b03a5335a7ba1973ba124c0ced3d replaced Forest Bond
with Philipp Hortmann as vt665X maintainer in MAINTAINERS, but
drivers/staging/vt6655/TODO was not changed, rendering it stale. This
patch fixes it.
Riyan Dhiman [Tue, 27 Aug 2024 12:56:05 +0000 (18:26 +0530)]
staging: vme_user: added bound check to geoid
The geoid is a module parameter that allows users to hardcode the slot number.
A bound check for geoid was added in the probe function because only values
between 0 and less than VME_MAX_SLOT are valid.
Simon Horman [Fri, 23 Aug 2024 17:26:27 +0000 (18:26 +0100)]
staging: rtl8192e: remove set but otherwise unused local variable iv16
Since the commit 5f1a6826ea49 ("staging: rtl8192e: remove set but
otherwise unused local variable iv32"), the local variable iv16 is set
but otherwise unused. So remove it.
Compile tested only.
Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202408232049.UJef268y-lkp@intel.com/ Signed-off-by: Simon Horman <horms@kernel.org> Link: https://lore.kernel.org/r/20240823-rtl8192e-iv16-v1-1-000702673065@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Peter Robinson [Wed, 14 Aug 2024 14:52:46 +0000 (15:52 +0100)]
staging: rtl8723bs: drop unnessary dep on CFG80211_WEXT
In commit 174ac41a7aaf ("staging: rtl8723bs: remove obsolete wext
support") a dep on CFG80211_WEXT was added to allow wext userspace
calls to be managed via the compatibility support. This is an
optional dependency which the driver has no dependency on and
stops users/distros etc from dropping CFG80211_WEXT if they want
to enable this driver. Drop this dependency as if users want this
legacy feature they will be explicitly enabling it themselves.
Manjae Cho [Wed, 31 Jul 2024 22:51:34 +0000 (07:51 +0900)]
staging: rtl8723bs: Improve clarity of MAR usage
This patch improves the readability of the code related to the Multicast
Address Register (REG_MAR) in the rtl8723bs driver. It adds comments to
clarify the purpose and offset of the register, making the code more
self-documenting without introducing new macros.
Thomas Zimmermann [Wed, 31 Jul 2024 12:58:52 +0000 (14:58 +0200)]
staging: olpc_dcon: Use backlight power constants
Replace FB_BLANK_ constants with their counterparts from the
backlight subsystem. The values are identical, so there's no
change in functionality or semantics.
Thomas Zimmermann [Wed, 31 Jul 2024 12:58:51 +0000 (14:58 +0200)]
staging: fbtft: Use backlight power constants
Replace FB_BLANK_ constants with their counterparts from the
backlight subsystem. The values are identical, so there's no
change in functionality or semantics.
Steven Davis [Tue, 30 Jul 2024 21:08:12 +0000 (17:08 -0400)]
staging: nvec: Capitalize outputs to match the rest of the driver
Noticing that some messages were capitalized and some weren't, I
capitalized them to match the rest. This makes the messages relatively
easier to understand for an end user, and reduces confusion about
capitalization. A comment was also capitalized.
staging: rtl8723bs: style fix open brace on new line
It fixes the following checkpatch.pl error
"ERROR: that open brace { should be on the previous line" and avoids the
warning "WARNING: braces {} are not necessary for single statement blocks".
Steven Davis [Tue, 23 Jul 2024 16:31:03 +0000 (12:31 -0400)]
staging: most: video: Fixed minor capitalization and grammatical issues
This patch makes three error messages in the driver easier to read by
capitalizing the first letters properly.
For example, "channel already linked" becomes "Channel already linked", and
"expect" becomes "expected", as you would typically
find in an error message.
This patch improves user experience by making the errors clearer.
Merge tag 'kbuild-fixes-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull Kbuild fixes from Masahiro Yamada:
- Fix RPM package build error caused by an incorrect locale setup
- Mark modules.weakdep as ghost in RPM package
- Fix the odd combination of -S and -c in stack protector scripts,
which is an error with the latest Clang
* tag 'kbuild-fixes-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
kbuild: Fix '-S -c' in x86 stack protector scripts
kbuild: rpm-pkg: ghost modules.weakdep file
kbuild: rpm-pkg: Fix C locale setup
minmax: simplify and clarify min_t()/max_t() implementation
This simplifies the min_t() and max_t() macros by no longer making them
work in the context of a C constant expression.
That means that you can no longer use them for static initializers or
for array sizes in type definitions, but there were only a couple of
such uses, and all of them were converted (famous last words) to use
MIN_T/MAX_T instead.
Cc: David Laight <David.Laight@aculab.com> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Commit 3a7e02c040b1 ("minmax: avoid overly complicated constant
expressions in VM code") added the simpler MIN_T/MAX_T macros in order
to avoid some excessive expansion from the rather complicated regular
min/max macros.
The complexity of those macros stems from two issues:
(a) trying to use them in situations that require a C constant
expression (in static initializers and for array sizes)
(b) the type sanity checking
and MIN_T/MAX_T avoids both of these issues.
Now, in the whole (long) discussion about all this, it was pointed out
that the whole type sanity checking is entirely unnecessary for
min_t/max_t which get a fixed type that the comparison is done in.
But that still leaves min_t/max_t unnecessarily complicated due to
worries about the C constant expression case.
However, it turns out that there really aren't very many cases that use
min_t/max_t for this, and we can just force-convert those.
This does exactly that.
Which in turn will then allow for much simpler implementations of
min_t()/max_t(). All the usual "macros in all upper case will evaluate
the arguments multiple times" rules apply.
We should do all the same things for the regular min/max() vs MIN/MAX()
cases, but that has the added complexity of various drivers defining
their own local versions of MIN/MAX, so that needs another level of
fixes first.
kbuild: Fix '-S -c' in x86 stack protector scripts
After a recent change in clang to stop consuming all instances of '-S'
and '-c' [1], the stack protector scripts break due to the kernel's use
of -Werror=unused-command-line-argument to catch cases where flags are
not being properly consumed by the compiler driver:
$ echo | clang -o - -x c - -S -c -Werror=unused-command-line-argument
clang: error: argument unused during compilation: '-c' [-Werror,-Wunused-command-line-argument]
This results in CONFIG_STACKPROTECTOR getting disabled because
CONFIG_CC_HAS_SANE_STACKPROTECTOR is no longer set.
'-c' and '-S' both instruct the compiler to stop at different stages of
the pipeline ('-S' after compiling, '-c' after assembling), so having
them present together in the same command makes little sense. In this
case, the test wants to stop before assembling because it is looking at
the textual assembly output of the compiler for either '%fs' or '%gs',
so remove '-c' from the list of arguments to resolve the error.
All versions of GCC continue to work after this change, along with
versions of clang that do or do not contain the change mentioned above.
Cc: stable@vger.kernel.org Fixes: 4f7fd4d7a791 ("[PATCH] Add the -fstack-protector option to the CFLAGS") Fixes: 60a5317ff0f4 ("x86: implement x86_32 stack protector") Link: https://github.com/llvm/llvm-project/commit/6461e537815f7fa68cef06842505353cf5600e9c Signed-off-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Merge tag 'v6.11-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
Pull turbostat updates from Len Brown:
- Enable turbostat extensions to add both perf and PMT (Intel
Platform Monitoring Technology) counters via the cmdline
- Demonstrate PMT access with built-in support for Meteor Lake's
Die C6 counter
* tag 'v6.11-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
tools/power turbostat: version 2024.07.26
tools/power turbostat: Include umask=%x in perf counter's config
tools/power turbostat: Document PMT in turbostat.8
tools/power turbostat: Add MTL's PMT DC6 builtin counter
tools/power turbostat: Add early support for PMT counters
tools/power turbostat: Add selftests for added perf counters
tools/power turbostat: Add selftests for SMI, APERF and MPERF counters
tools/power turbostat: Move verbose counter messages to level 2
tools/power turbostat: Move debug prints from stdout to stderr
tools/power turbostat: Fix typo in turbostat.8
tools/power turbostat: Add perf added counter example to turbostat.8
tools/power turbostat: Fix formatting in turbostat.8
tools/power turbostat: Extend --add option with perf counters
tools/power turbostat: Group SMI counter with APERF and MPERF
tools/power turbostat: Add ZERO_ARRAY for zero initializing builtin array
tools/power turbostat: Replace enum rapl_source and cstate_source with counter_source
tools/power turbostat: Remove anonymous union from rapl_counter_info_t
tools/power/turbostat: Switch to new Intel CPU model defines
Merge tag 'cxl-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
Pull CXL updates from Dave Jiang:
"Core:
- A CXL maturity map has been added to the documentation to detail
the current state of CXL enabling.
It provides the status of the current state of various CXL features
to inform current and future contributors of where things are and
which areas need contribution.
- A notifier handler has been added in order for a newly created CXL
memory region to trigger the abstract distance metrics calculation.
This should bring parity for CXL memory to the same level vs
hotplugged DRAM for NUMA abstract distance calculation. The
abstract distance reflects relative performance used for memory
tiering handling.
- An addition for XOR math has been added to address the CXL DPA to
SPA translation.
CXL address translation did not support address interleave math
with XOR prior to this change.
Fixes:
- Fix to address race condition in the CXL memory hotplug notifier
- Add missing MODULE_DESCRIPTION() for CXL modules
- Fix incorrect vendor debug UUID define
Misc:
- A warning has been added to inform users of an unsupported
configuration when mixing CXL VH and RCH/RCD hierarchies
- The ENXIO error code has been replaced with EBUSY for inject poison
limit reached via debugfs and cxl-test support
- Moving the PCI config read in cxl_dvsec_rr_decode() to avoid
unnecessary PCI config reads
- A refactor to a common struct for DRAM and general media CXL
events"
* tag 'cxl-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl:
cxl/core/pci: Move reading of control register to immediately before usage
cxl: Remove defunct code calculating host bridge target positions
cxl/region: Verify target positions using the ordered target list
cxl: Restore XOR'd position bits during address translation
cxl/core: Fold cxl_trace_hpa() into cxl_dpa_to_hpa()
cxl/test: Replace ENXIO with EBUSY for inject poison limit reached
cxl/memdev: Replace ENXIO with EBUSY for inject poison limit reached
cxl/acpi: Warn on mixed CXL VH and RCH/RCD Hierarchy
cxl/core: Fix incorrect vendor debug UUID define
Documentation: CXL Maturity Map
cxl/region: Simplify cxl_region_nid()
cxl/region: Support to calculate memory tier abstract distance
cxl/region: Fix a race condition in memory hotplug notifier
cxl: add missing MODULE_DESCRIPTION() macros
cxl/events: Use a common struct for DRAM and General Media events
Merge tag 'unicode-next-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krisman/unicode
Pull unicode update from Gabriel Krisman Bertazi:
"Two small fixes to silence the compiler and static analyzers tools
from Ben Dooks and Jeff Johnson"
* tag 'unicode-next-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krisman/unicode:
unicode: add MODULE_DESCRIPTION() macros
unicode: make utf8 test count static
In the same way as for other similar files, mark as ghost the new file
generated by depmod for configured weak dependencies for modules,
modules.weakdep, so that although it is not included in the package,
claim the ownership on it.
Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>