John Whitmore [Fri, 27 Jul 2018 17:31:13 +0000 (18:31 +0100)]
staging:rtl8192u: Remove typedef and rename RX_TS_RECORD - Style
Remove the typedef from structure RX_TS_RECORD, this change clears the
checkpatch issue with creation of new types.
Additionally the structure is renamed from RX_TS_RECORD to rx_ts_record.
Whilst this is not raised as a checkpatch error structures are meant to
be named in lower case.
These changes are coding style changes which should have no impact on
runtime code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John Whitmore [Fri, 27 Jul 2018 17:31:05 +0000 (18:31 +0100)]
staging:rtl8192u: Rename TsCommonInfo - Style
Rename the member variable TsCommonInfo in two structures, both
tx_ts_record and RX_TS_RECORD. This member variable is used in both
structures and in both cases causes a checkpatch issue with CamelCase
naming.
The changes are purely coding style and should not impact runtime
code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John Whitmore [Fri, 27 Jul 2018 17:31:04 +0000 (18:31 +0100)]
staging:rtl8192u: Remove typedef and rename TX_TS_RECORD - Style
Remove the typdef from structure TX_TS_RECORD and rename to tx_ts_record.
The removal of the typedef clears the checkpatch issue with creating new
types in code. The name change, whilst not specifically flagged by
checkpatch, is an issue since types are meant to be named in lowercase.
These changes are purely coding style changes and should have no impact
on runtime execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John Whitmore [Thu, 26 Jul 2018 19:24:26 +0000 (20:24 +0100)]
staging:rtl8192u: Rename eRFPath - Style
Rename the variable eRFPath to e_rfpath. This change resolves a
checkpatch issue with CamelCase naming. The variable name is used both
as a parameter name in function definitions, function prototypes and as
a local variable.
This change is purely a coding style change which should have no impact
on runtime code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Rename the enumerated type RF90_RADIO_PATH_E to rf90_radio_path_e.
Whilst it is not flagged as an issue by checkpatch, types are meant
to be named in lowercase.
This change is purely a coding style change which should have no
impact on runtime code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Remove the array rtl819XRadioC_Array which is only serving as a proxy for
the real array Rtl8192UsbRadioC_Array. This is a coding style change and
should have no impact on runtime code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Remove the array rtl819XRadioB_Array Rtl8192UsbRadioB_Array which acts
as a proxy the actual array Rtl8192UsbRadioB_Array. The only purpose, I
can see for this implementation is to obscure the actual array being
used Rtl8192UsbRadioB_Array.
This is a coding style change which should have no impact on runtime
code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The array rtl819XRadioA_Array serves as a proxy array for the actual
array Rtl8192UsbRadioA_Array. This implementation seems to serve no
other purpose then to obscure the actually array Rtl8192UsbRadioA_Array.
This is a coding style change which should have no impact on runtime
code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Remove the array rtl819XAGCTAB_Array which is only a proxy to the
array Rtl8192UsbAGCTAB_Array. There appears to be no purpose
served by this implementation, other then to obscure the
Rtl8192UsbAGCTAB_Array structure, which is actually written to and
read from.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Remove the struct rtl819XPHY_REG_1T2RArray which is simply a proxy for
the struct Rtl8192UsbPHY_REG_1T2RArray. There appears to be no purpose
served by this implementation, other then to obscure the
Rtl8192UsbPHY_REG_1T2RArray structure.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Remove the struct rtl819XMACPHY_Array_PG which is simply a proxy for
the struct Rtl8192UsbMACPHY_Array_PG. There appears to be no purpose
served by this implementation, other then to obscure the
Rtl8192UsbMACPHY_Array_PG structure.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John Whitmore [Thu, 26 Jul 2018 19:24:15 +0000 (20:24 +0100)]
staging:rtl8192u: Rename msDelay to ms_delay - Style
Rename the member variable msDelay to ms_delay. This change clears the
checkpatch issue with CamelCase naming. The change is purely a coding
style change which should not impact runtime code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John Whitmore [Thu, 26 Jul 2018 19:24:14 +0000 (20:24 +0100)]
staging:rtl8192u: Rename Para2 to para_2 - style
Rename member variable Para2 to para_2. This change clears the checkpatch
issue with CamelCase naming. The change is purely a coding style change
and should have no impact on runtime code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John Whitmore [Thu, 26 Jul 2018 19:24:13 +0000 (20:24 +0100)]
staging:rtl8192u: Rename Para1 > para_1 - Style
Rename the member variable Para1 to para_1. This change clears the
checkpatch issue with CamelCase naming. The change is purely a coding
style change and should have no impact on runtime code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John Whitmore [Thu, 26 Jul 2018 19:24:12 +0000 (20:24 +0100)]
staging:rtl8192u: Rename CmdID - Style
Rename the member variable CmdId to cmd_id. This change clears the
checkpatch issue with CamelCase naming. The change is purely a coding
style change which should have no impact on runtime code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John Whitmore [Thu, 26 Jul 2018 19:24:11 +0000 (20:24 +0100)]
staging:rtl8192u: Rename SwChnlCmd - Style
Rename the structure SwChnlCmd to sw_chnl_cmd. This change clears the
checkpatch issue with CamelCase naming. The change is purely a coding
style change and should have no impact on runtime code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John Whitmore [Wed, 25 Jul 2018 22:16:26 +0000 (23:16 +0100)]
staging:rtl8192u: Rename ISR_BcnTimerIntr - Style
Rename the bit definition ISR_BcnTimerIntr to ISR_BCN_TIMER_INTR. This
change clears the checkpatch issue with CamelCase naming. The change is
purely a style change and should not impact runtime code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John Whitmore [Wed, 25 Jul 2018 22:16:25 +0000 (23:16 +0100)]
staging:rtl8192u: Rename ISR_TxBcnErr bit definition - Style
Rename the bit definition ISR_TxBcnErr to ISR_TX_BCN_ERR. This change
clears the checkpatch issue with CamelCase naming. The change is purely
a coding style change which should not impact runtime code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John Whitmore [Wed, 25 Jul 2018 22:16:23 +0000 (23:16 +0100)]
staging:rtl8192u: Rename bit definition ISR_TxBcnOk - Style
Rename the bit definition ISR_TxBcnOk to ISR_TX_BCN_OK. This change
clears the checkpatch issue with CamelCase naming. The change is a
coding style change which should not impact runtime code execution.
Signed-off-by: John Whitmore <johnfwhitmore@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Tim Collier [Wed, 25 Jul 2018 19:30:32 +0000 (20:30 +0100)]
staging: wlan-ng: correction to comment in hfa384x_usb
The comment for hfa384x_docmd incorrectly states that usercb_data
should be NULL for DOASYNC calls; in fact, it should be NULL for
DOWAIT calls (this is consistent with the other similar functions and
the rest of the comment text).
Signed-off-by: Tim Collier <osdevtc@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Tim Collier [Wed, 25 Jul 2018 19:30:31 +0000 (20:30 +0100)]
staging: wlan-ng: remove volatile from reapable field in hfa384x_usbctlx
Fix checkpatch.pl warning:
"Use of volatile is usually wrong: see
Documentation/process/volatile-considered-harmful.rs"
reapable is not used to access h/w directly, so volatile is not
necessary.
>From reading the code, the contexts in which the field may be
updated/accessed across threads are protected by the hw->ctlxq.lock
spinlock, where hw is the device struct, so appears thread-safe.
Signed-off-by: Tim Collier <osdevtc@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: rtl8192u: ieee80211: Convert from ahash to shash
This is an identical change to the wireless/lib80211 of the same name.
In preparing to remove all stack VLA usage from the kernel[1], this
removes the discouraged use of AHASH_REQUEST_ON_STACK in favor of
the smaller SHASH_DESC_ON_STACK by converting from ahash-wrapped-shash
to direct shash. By removing a layer of indirection this both improves
performance and reduces stack usage. The stack allocation will be made
a fixed size in a later patch to the crypto subsystem.
staging: rtl8192e: ieee80211: Convert from ahash to shash
This is an identical change to the wireless/lib80211 of the same name.
In preparing to remove all stack VLA usage from the kernel[1], this
removes the discouraged use of AHASH_REQUEST_ON_STACK in favor of
the smaller SHASH_DESC_ON_STACK by converting from ahash-wrapped-shash
to direct shash. By removing a layer of indirection this both improves
performance and reduces stack usage. The stack allocation will be made
a fixed size in a later patch to the crypto subsystem.
staging: axis-fifo: fix return value check in axis_fifo_probe()
In case of error, the function device_create() returns ERR_PTR() and
never returns NULL. The NULL test in the return value check should be
replaced with IS_ERR().
Fixes: 4a965c5f89de ("staging: add driver for Xilinx AXI-Stream FIFO v4.1 IP core") Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: gasket: page table: remove code for "no dma_ops"
Remove code with TODOs on it for working around apparent problems
previously seen in a qemu environment where dma_ops was not set
correctly. There is no user of this in the current code.
This patch adds an optional choice which can be
enabled by users in order to cache both incomplete
ends of compressed clusters as a complement to
the in-place decompression in order to boost random
read, but it costs more memory than the in-place
decompression only.
staging: erofs: introduce VLE decompression support
This patch introduces the basic in-place VLE decompression
implementation for the erofs file system.
Compared with fixed-sized input compression, it implements
what we call 'the variable-length extent compression' which
specifies the same output size for each compression block
to make the full use of IO bandwidth (which means almost
all data from block device can be directly used for decomp-
ression), improve the real (rather than just via data caching,
which costs more memory) random read and keep the relatively
lower compression ratios (it saves more storage space than
fixed-sized input compression which is also configured with
the same input block size), as illustrated below:
The main point of 'in-place' refers to the decompression mode:
Instead of allocating independent compressed pages and data
structures, it reuses the allocated file cache pages at most
to store its compressed data and the corresponding pagevec in
a time-sharing approach by default, which will be useful for
low memory scenario.
In the end, unlike the other filesystems with (de)compression
support using a relatively large compression block size, which
reads and decompresses >= 128KB at once, and gains a more
good-looking random read (In fact it collects small random reads
into large sequential reads and caches all decompressed data
in memory, but it is unacceptable especially for embedded devices
with limited memory, and it is not the real random read), we
select a universal small-sized 4KB compressed cluster, which is
the smallest page size for most architectures, and all compressed
clusters can be read and decompressed independently, which ensures
random read number for all use cases.
staging: erofs: introduce workstation for decompression
This patch introduces another concept used by the unzip
subsystem called 'workstation'. It can be seen as a sparse
array that stores pointers pointed to data structures
related to the corresponding physical blocks.
All lookup cases are protected by RCU read lock. Besides,
reference count and spin_lock are also introduced to
manage its lifetime and serialize all update operations.
'workstation' is currently implemented on the in-kernel
radix tree approach for backward compatibility.
With the evolution of linux kernel, it could be migrated
into XArray implementation in the future.
This patch adds a dedicated shrinker targeting to free unneeded
memory consumed by a number of erofs in-memory data structures.
Like F2FS and UBIFS, it also adds:
- sbi->umount_mutex to avoid races on shrinker and put_super
- sbi->shrinker_run_no to not revisit recently scaned objects
staging: erofs: introduce a customized LZ4 decompression
We have to reduce the memory cost as much as possible,
so we don't want to decompress more data beyond
the output buffer size, however "LZ4_decompress_safe_partial"
doesn't guarantee to stop at the arbitary end position,
but stop just after its current LZ4 "sequence" is completed.
This patch introduces an temporary _on-stack_ page
pool to reuse the freed page directly as much as
it can for better performance and release all pages
at a time, it also slightly reduces the possibility of
the potential memory allocation failure.
This patch introduces an iterable L2P mapping
operation 'erofs_map_blocks_iter'.
Compared with 'erofs_map_blocks', it avoids
a number of redundant 'release and regrab'
processes if they request the same meta page.
staging: erofs: introduce pagevec for unzip subsystem
For each compressed cluster, there is a straight-forward
way of allocating a fixed or variable-sized (for VLE) array
to record the corresponding file pages for its decompression
if we decide to decompress these pages asynchronously (eg.
read-ahead case), however it could take much extra on-heap
memory compared with traditional uncompressed filesystems.
This patch introduces a pagevec solution to reuse some
allocated file page in the time-sharing approach storing
parts of the array itself in order to minimize the extra
memory overhead, thus only a constant and small-sized array
used for booting the whole array itself up will be needed.
Currently kernel has scattered tagged pointer usages hacked
by hand in plain code, without a unique and portable functionset
to highlight the tagged pointer itself and wrap these hacked code
in order to clean up all over meaningless magic masks.
Therefore, this patch introduces simple generic methods to fold
tags into a pointer integer. It currently supports the last n bits
of the pointer for tags, which can be selected by users.
In addition, it will also be used for the upcoming EROFS filesystem,
which heavily uses tagged pointer approach for high performance
and reducing extra memory allocation.
This patch introduces error injection infrastructure, with it, we can
inject error in any kernel exported common functions which erofs used,
so that it can force erofs running into error paths, it turns out that
tests can cover real rare paths more easily to find bugs.
Inline and shared xattrs are introduced for flexibility.
Specifically, if the same xattr occurs for many times
in a large number of inodes or the value of a xattr is so large
that it isn't suitable to be inlined, a shared xattr
kept in the xattr meta will be used instead.
This commit adds erofs super block operations, including (u)mount,
remount_fs, show_options, statfs, in addition to some private
icache management functions.
In our documentation, we claim to use a 5-tuple key for Rx hash
distribution of flows. The code however configures a key composed
of all supported header fields.
Update the Rx hash key to contain only the documented fields:
{IP src, IP dst, IP nextproto, L4 src, L4 dst}, which was the
original intention and makes most sense as a default.