staging: r8188eu: Remove self assignment in get_rx_power_val_by_reg()
Clang warns:
drivers/staging/r8188eu/hal/rtl8188e_rf6052.c:344:13: warning:
explicitly assigning value of variable of type 'u32' (aka 'unsigned
int') to itself [-Wself-assign]
writeVal = writeVal;
~~~~~~~~ ^ ~~~~~~~~
1 warning generated.
Clang warns several times across the driver along the lines of:
drivers/staging/r8188eu/core/rtw_pwrctrl.c:222:21: warning: equality
comparison with extraneous parentheses [-Wparentheses-equality]
if ((pwrpriv->rpwm == pslv)) {
~~~~~~~~~~~~~~^~~~~~~
drivers/staging/r8188eu/core/rtw_pwrctrl.c:222:21: note: remove
extraneous parentheses around the comparison to silence this warning
if ((pwrpriv->rpwm == pslv)) {
~ ^ ~
drivers/staging/r8188eu/core/rtw_pwrctrl.c:222:21: note: use '=' to turn
this equality comparison into an assignment
if ((pwrpriv->rpwm == pslv)) {
^~
=
1 warning generated.
The compilers have agreed that single parentheses are used for equality
and double parentheses are used for assignment within control flow
statements such as if and while so remove them in these places to fix
the warning.
Larry Finger [Thu, 5 Aug 2021 18:37:17 +0000 (13:37 -0500)]
staging: r8188eu: Remove rtw_buf_free()
This routine is just a wrapper around kfree(). The wrapper also sets
buffer length to 0, and the pointer to NULL. The length variable is in
the struct to be freed, thus setting it to zero is meaningless. Setting
the pointer to NULL is also not needed.
Larry Finger [Thu, 5 Aug 2021 18:37:16 +0000 (13:37 -0500)]
staging: r8188eu: Remove more empty routines
After removing some empty routines in os_dep/osdep_service.c, new routines
become empty. These include rtw_mfree_stainfo(),
_rtw_free_sta_xmit_priv_lock(), and rtw_mfree_recv_priv_lock.
Larry Finger [Thu, 5 Aug 2021 18:37:13 +0000 (13:37 -0500)]
staging: r8188eu: Remove wrappers for kalloc() and kzalloc()
These wrappers involve an in_interrupt() call, which is not frowned on
in the kernel. These changes decrease the size of the driver by a trivial
amount.
staging: r8188eu: Fix incorrect types in arguments
GCC + Sparse emit warnings of passing incorrect type in arguments of
some functions because of different base types. Fix them by changing
the types of the parameters of the above-mentioned functions.
In the meantime, remove the unnecessary casts of those arguments
which are then passed to memcpy() within those same functions.
Michael Straube [Thu, 5 Aug 2021 14:09:41 +0000 (16:09 +0200)]
staging: r8188eu: fix build error
Remove unnecessary label to fix build error introduced with
commit b398ff88aa36 ("staging: r8188eu: remove return from void functions")
drivers/staging/r8188eu/hal/rtl8188e_dm.c:182:1: error: label at end of compound statement
Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Michael Straube <straube.linux@gmail.com> Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20210805140941.9130-1-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: r8188eu: Remove unneeded comments in rtw_mp_ioctl.h
After commit 85143bdc731b ("staging: r8188eu: include: Remove unused
const definitions"), some comments are not anymore needed. Remove them
too. In the while, remove also a line with a void comment.
Remove rtw_mfree_all_stainfo() and the only line of code that calls
it. This function simply takes a spinlock and iterates over a list
with no purpose. That iteration has no side effects.
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Acked-by: Dan Carpenter <dan.carpenter@oracle.com> Link: https://lore.kernel.org/r/20210802005517.12815-1-fmdefrancesco@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: r8188eu: Fix cast between incompatible function type
Fix sparse warnings of casts between incompatible function
types from ‘void (*)(void *)’ to ‘void (*)(long unsigned int)’
[-Wcast-function-type].
Suggested-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com> Link: https://lore.kernel.org/r/20210804143218.13665-1-fmdefrancesco@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Len Baker [Sun, 1 Aug 2021 08:51:53 +0000 (10:51 +0200)]
staging/fbtft: Remove all strcpy() uses
strcpy() performs no bounds checking on the destination buffer. This
could result in linear overflows beyond the end of the buffer, leading
to all kinds of misbehaviors. The safe replacement is strscpy() but in
this case it is simpler to use the "%*ph" format specifier.
Moreover, with the "0x%02X " in the sprintf followed by the strcat, the
msg buffer (now removed) can print 128/5 values (25 hex values). So, the
"%*ph" replacement won't cut output earlier than requested since this
format specifier can print up to 64 bytes.
Larry Finger [Tue, 3 Aug 2021 13:52:23 +0000 (08:52 -0500)]
staging: r8188eu: Remove some bit manipulation macros
This driver defines a set of macros that get or set a bitfield in the
RX and TX descriptors. Most of these have been replaced by the appropriate
use of the system macros BIT() or GENMASK().
While reworking these routines, I also fixed camel case variables and
missing spaces. Some comments were also converted to the
drivers/net/wireless preferred format.
Larry Finger [Tue, 3 Aug 2021 13:52:22 +0000 (08:52 -0500)]
staging: r8188eu: Remove some unused and ugly macros
This driver contains a number of macros that are intended to do endian
conversion. The first step in getting rid of them is to delete the
ones that are not used.
Commit 55dfa29b43d2 ("staging: rtl8188eu: remove rtl8188eu driver from
staging dir") removes ./drivers/staging/rtl8188eu, but misses to adjust
the STAGING - REALTEK RTL8188EU DRIVERS section in MAINTAINERS.
A refurnished rtl8188eu driver is available in ./drivers/staging/r8188eu/
and there is no existing section in MAINTAINERS for that directory.
So, reuse the STAGING - REALTEK RTL8188EU DRIVERS section and point to the
refurnished driver with its current developers and maintainers according
to the current git log.
Acked-by: Phillip Potter <phil@philpotter.co.uk> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> Link: https://lore.kernel.org/r/20210803071811.8142-1-lukas.bulwahn@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Larry Finger [Mon, 2 Aug 2021 19:27:19 +0000 (14:27 -0500)]
staging: r8188eu: Remove 4 empty routines from os_sep/service.c
Routines rtw_suspend_lock_init(), rtw_suspend_lock_uninit(),
rtw_lock_suspend(), and rtw_unlock_suspend() do not conti=ain any code.
Simplify by removing them.
Reported-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: "Fabio M. De Francesco" <fmdefrancesco@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Phillip Potter [Sat, 31 Jul 2021 23:56:48 +0000 (00:56 +0100)]
staging: r8188eu: remove RT_PRINT_DATA macro
Remove RT_PRINT_DATA definition from include/rtw_debug.h, and its
two calling statements in hal/hal_com.c, as this code was not written
with best practices in mind and is safer to simply remove.
Phillip Potter [Sat, 31 Jul 2021 13:38:09 +0000 (14:38 +0100)]
staging: rtl8188eu: remove rtl8188eu driver from staging dir
This driver was deprecated with the introduction of the r8188eu driver,
based upon Realtek sources that were modified for CFG80211 support and
other fixes on GitHub by Larry Finger. As that driver is now progressing
at pace, we should remove this one.
Phillip Potter [Sat, 31 Jul 2021 13:38:04 +0000 (14:38 +0100)]
staging: r8188eu: correct set/defined but unused warnings from debug cleanup
The recent include/odm_debug.h removal series caused a few kernel test
robot warnings. This patch fixes them as well as an existing warning
related to an array within include/rtw_security.h not being used.
Phillip Potter [Sat, 31 Jul 2021 00:39:37 +0000 (01:39 +0100)]
staging: r8188eu: remove include/odm_debug.h
Remove include/odm_debug.h in its entirety. To do this, first:
(1) Remove DebugLevel and DebugComponents members from the struct
odm_dm_struct definition, and any uses of these elsewhere in
the driver.
(2) Remove the function ODM_InitDebugSetting from hal/odm_debug.c
whilst leaving the file in place for now as it contains a global
which is still used and will be removed by further cleanup code.
Also remove all of its callers. All the function does is set the
members mentioned above.
(3) Remove the now redundant constants and their usages:
ODM_CMNINFO_DBG_LEVEL
ODM_CMNINFO_DBG_COMP
HW_DEF_ODM_DBG_FLAG
HW_DEF_FA_CNT_DUMP
This includes usage within a few hexadecimal ioctl switch cases
in os_dep/ioctl_linux.c (although only the call itself within
0x11 as it contains additional code currently).
(4) Finally, remove the file itself and its inclusion within
include/odm_precomp.h, as none of the remaining content is used
from anywhere else in the driver.
Phillip Potter [Sat, 31 Jul 2021 00:39:36 +0000 (01:39 +0100)]
staging: r8188eu: remove DbgPrint and RT_PRINTK macro definitions
Remove DbgPrint and RT_PRINTK macro definitions from include/odm_debug.h,
as they are called from nowhere and are therefore superfluous. Also
remove comment in core/rtw_xmit.c referring to DbgPrint so that future
confusion is prevented.
Phillip Potter [Sat, 31 Jul 2021 00:39:34 +0000 (01:39 +0100)]
staging: r8188eu: remove ODM_RT_TRACE calls from hal/odm.c
Remove ODM_RT_TRACE calls from hal/odm.c, as by removing these calls
in this file and others, we can ultimately then remove the macro
definition itself, which does not follow best practice.
Also remove three empty functions and their calls from hal/odm.c, as
they only contained ODM_RT_TRACE calls, and remove the corresponding
include/odm_precomp.h declarations.
Phillip Potter [Sat, 31 Jul 2021 00:39:33 +0000 (01:39 +0100)]
staging: r8188eu: remove ODM_RT_TRACE calls from hal/odm_RegConfig8188E.c
Remove ODM_RT_TRACE calls from hal/odm_RegConfig8188E.c, as by removing these
calls in this file and others, we can ultimately then remove the macro
definition itself, which does not follow best practice.
Phillip Potter [Sat, 31 Jul 2021 00:39:32 +0000 (01:39 +0100)]
staging: r8188eu: remove ODM_RT_TRACE calls from hal/odm_RTL8188E.c
Remove ODM_RT_TRACE calls from hal/odm_RTL8188E.c, as by removing these
calls in this file and others, we can ultimately then remove the macro
definition itself, which does not follow best practice.
Phillip Potter [Sat, 31 Jul 2021 00:39:31 +0000 (01:39 +0100)]
staging: r8188eu: remove ODM_RT_TRACE calls from hal/odm_HWConfig.c
Remove ODM_RT_TRACE calls from hal/odm_HWConfig.c, as by removing these
calls in this file and others, we can ultimately then remove the macro
definition itself, which does not follow best practice.
Phillip Potter [Sat, 31 Jul 2021 00:39:30 +0000 (01:39 +0100)]
staging: r8188eu: remove ODM_RT_TRACE calls from hal/HalPhyRf_8188e.c
Remove ODM_RT_TRACE calls from hal/HalPhyRf_8188e.c, as by removing these
calls in this file and others, we can ultimately then remove the macro
definition itself, which does not follow best practice.
Phillip Potter [Sat, 31 Jul 2021 00:39:29 +0000 (01:39 +0100)]
staging: r8188eu: remove ODM_RT_TRACE calls from hal/Hal8188ERateAdaptive.c
Remove ODM_RT_TRACE calls from hal/Hal8188ERateAdaptive.c, as by removing
these calls in this file and others, we can ultimately then remove the
macro definition itself, which does not follow best practice.
staging: rtl8723bs: align condition to match open parentheses
fix following checkpatch issue:
CHECK: Alignment should match open parenthesis
54: FILE: drivers/staging/rtl8723bs/core/rtw_mlme.c:609:
+ if (target->reserved[0] != 2 &&
+ target->reserved[0] >=
pnetwork->network.reserved[0]
The driver seems to want to include a specific directory for all include
files on the build path, but that breaks when trying to build only the
module directory, or when building with "O=" option.
Fix this up by making all includes for the driver be relative locations.
It is a wrapper around usb_control_msg() that does nothing, so remove
the macro and just call the correct USB function instead in the one
place it is used.
It is just a wrapper around kfree(), so just replace all calls with
kfree() instead. The pointer is also set to NULL and the length set to
0 to emulate the original logic, just to be "safe" as I do not have a
device to test with, but odds are that can be removed later on.
Larry Finger [Thu, 29 Jul 2021 17:09:30 +0000 (12:09 -0500)]
staging: r8188eu: Add "fallthrough" statement to quiet compiler
Compiler gcc11, and possibly others, emit a warning when a fall-through
case is found in a switch statement. Add a "fallthrough" statement to
eliminate this warning.
This file contains only the definition of the driver version. This statement
is moved into a header called by all the affected source files, and the now
empty header is deleted.
This header only includes one prototype and one define statement. The
new definition is used once, thus it can be removed. The prototype is
moved to a header that is already called by the supplier and the user
of that routine, thus the small header is removed.