platform/kernel/linux-starfive.git
6 years agostaging:rtl8192u: Rename RF90_RADIO_PATH_E - Style
John Whitmore [Thu, 26 Jul 2018 19:24:24 +0000 (20:24 +0100)]
staging:rtl8192u: Rename RF90_RADIO_PATH_E - Style

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>
6 years agostaging:rtl8192u: Rename HW90_BLOCK_E - Style
John Whitmore [Thu, 26 Jul 2018 19:24:23 +0000 (20:24 +0100)]
staging:rtl8192u: Rename HW90_BLOCK_E - Style

Rename the enumerated type HW90_BLOCK_E to hw90_block_e. Whilst this is
not flagged by checkpatch types are meant to be in lowercase.

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>
6 years agostaging:rtl8192u: Remove proxy rtl819XRadioD_Array - Style
John Whitmore [Thu, 26 Jul 2018 19:24:22 +0000 (20:24 +0100)]
staging:rtl8192u: Remove proxy rtl819XRadioD_Array - Style

Remove the array rtl819XRadioD_Array which is only acting as a proxy to
the real array Rtl8192UsbRadioD_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>
6 years agostaging:rtl8192u: Remove proxy rtl819XRadioC_Array - Style
John Whitmore [Thu, 26 Jul 2018 19:24:21 +0000 (20:24 +0100)]
staging:rtl8192u: Remove proxy rtl819XRadioC_Array - Style

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>
6 years agostaging:rtl8192u: Remove proxy rtl819XRadioB_Array - Style
John Whitmore [Thu, 26 Jul 2018 19:24:20 +0000 (20:24 +0100)]
staging:rtl8192u: Remove proxy rtl819XRadioB_Array - Style

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>
6 years agostaging:rtl8192u: Remove proxy rtl819XRadioA_Array - Style
John Whitmore [Thu, 26 Jul 2018 19:24:19 +0000 (20:24 +0100)]
staging:rtl8192u: Remove proxy rtl819XRadioA_Array - Style

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>
6 years agostaging:rtl8192u: Remove proxy array rtl819XAGCTAB_Array - Style
John Whitmore [Thu, 26 Jul 2018 19:24:18 +0000 (20:24 +0100)]
staging:rtl8192u: Remove proxy array rtl819XAGCTAB_Array - Style

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>
6 years agostaging:rtl8192u: Remove proxy struct rtl819XPHY_REG_1T2RArray - Style
John Whitmore [Thu, 26 Jul 2018 19:24:17 +0000 (20:24 +0100)]
staging:rtl8192u: Remove proxy struct rtl819XPHY_REG_1T2RArray - Style

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>
6 years agostaging:rtl8192u: Remove proxy struct rtl819XMACPHY_Array_PG - Style
John Whitmore [Thu, 26 Jul 2018 19:24:16 +0000 (20:24 +0100)]
staging:rtl8192u: Remove proxy struct rtl819XMACPHY_Array_PG - Style

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>
6 years agostaging:rtl8192u: Rename msDelay to ms_delay - Style
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>
6 years agostaging:rtl8192u: Rename Para2 to para_2 - style
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>
6 years agostaging:rtl8192u: Rename Para1 > para_1 - Style
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>
6 years agostaging:rtl8192u: Rename CmdID - Style
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>
6 years agostaging:rtl8192u: Rename SwChnlCmd - Style
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>
6 years agostaging:rtl8192u: Remove multiple blank lines - Style
John Whitmore [Wed, 25 Jul 2018 22:16:27 +0000 (23:16 +0100)]
staging:rtl8192u: Remove multiple blank lines - Style

Remove multiple blank lines, raise a checkpatch issue. This 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>
6 years agostaging:rtl8192u: Rename ISR_BcnTimerIntr - Style
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>
6 years agostaging:rtl8192u: Rename ISR_TxBcnErr bit definition - Style
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>
6 years agostaging:rtl8192u: Rename bit definition ISR_TxBcnOk - Style
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>
6 years agostaging: rtl8188eu: remove unused rtw_get_oper_choffset()
Michael Straube [Wed, 25 Jul 2018 19:37:58 +0000 (21:37 +0200)]
staging: rtl8188eu: remove unused rtw_get_oper_choffset()

The function rtw_get_oper_choffset() is never used, so remove it.
Discovered by cppcheck.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: remove unused rtw_get_oper_bw()
Michael Straube [Wed, 25 Jul 2018 19:37:57 +0000 (21:37 +0200)]
staging: rtl8188eu: remove unused rtw_get_oper_bw()

The function rtw_get_oper_bw() is never used, so remove it.
Discovered by cppcheck.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: remove unused CAM_empty_entry()
Michael Straube [Wed, 25 Jul 2018 19:37:56 +0000 (21:37 +0200)]
staging: rtl8188eu: remove unused CAM_empty_entry()

The function CAM_empty_entry() is never used, so remove it.
Discovered by cppcheck.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8188eu: remove unused ODM_RASupport_Init()
Michael Straube [Wed, 25 Jul 2018 19:37:55 +0000 (21:37 +0200)]
staging: rtl8188eu: remove unused ODM_RASupport_Init()

The function ODM_RASupport_Init() is never used, so remove it.
Discovered by cppcheck.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: wlan-ng: correction to comment in hfa384x_usb
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>
6 years agostaging: wlan-ng: remove volatile from reapable field in hfa384x_usbctlx
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>
6 years agostaging: rtl8188eu: remove unused sreset_get_wifi_status()
Michael Straube [Thu, 26 Jul 2018 19:46:59 +0000 (21:46 +0200)]
staging: rtl8188eu: remove unused sreset_get_wifi_status()

The function sreset_get_wifi_status() is never used, so remove it.
Discovered by cppcheck.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: mt7621-mmc: Use BIT macro instead of explicit shifting in board.h
Nishad Kamdar [Fri, 27 Jul 2018 16:07:37 +0000 (21:37 +0530)]
staging: mt7621-mmc: Use BIT macro instead of explicit shifting in board.h

Replace explicit shifting with BIT macro in board.h.
Issue found by checkpatch.

Signed-off-by: Nishad Kamdar <nishadkamdar@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8192u: ieee80211: Convert from ahash to shash
Kees Cook [Tue, 24 Jul 2018 16:49:32 +0000 (09:49 -0700)]
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.

[1] https://lkml.kernel.org/r/CA+55aFzCG-zNmZwX4A2FQpadafLfEzK6CC=qPXydAacU1RqZWA@mail.gmail.com

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: rtl8192e: ieee80211: Convert from ahash to shash
Kees Cook [Tue, 24 Jul 2018 16:49:33 +0000 (09:49 -0700)]
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.

[1] https://lkml.kernel.org/r/CA+55aFzCG-zNmZwX4A2FQpadafLfEzK6CC=qPXydAacU1RqZWA@mail.gmail.com

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: use NULL instead of 0 for null pointer
Dmitriy Cherkasov [Sat, 28 Jul 2018 22:55:24 +0000 (22:55 +0000)]
staging: gasket: use NULL instead of 0 for null pointer

Fixes sparse warning: Using plain integer as NULL pointer

Signed-off-by: Dmitriy Cherkasov <dmitriy@oss-tech.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: core: hold reference on device while in use
Todd Poynor [Sat, 28 Jul 2018 19:33:24 +0000 (12:33 -0700)]
staging: gasket: core: hold reference on device while in use

Hold a reference on the struct device while a pointer to that
device is in use by gasket.

Reported-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: fix conditional uninitialized `pcn' in z_erofs_map_blocks_iter
Gao Xiang [Sun, 29 Jul 2018 05:37:57 +0000 (13:37 +0800)]
staging: erofs: fix conditional uninitialized `pcn' in z_erofs_map_blocks_iter

This patch adds error handling code for
z_erofs_map_blocks_iter to fix the compiler blame.

Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: fix compile error without built-in decompression support
Gao Xiang [Sun, 29 Jul 2018 05:34:58 +0000 (13:34 +0800)]
staging: erofs: fix compile error without built-in decompression support

This patch fixes incorrect code snippets due to spilt code
into small patches by mistake.

Link: https://lists.01.org/pipermail/kbuild-all/2018-July/050747.html
Link: https://lists.01.org/pipermail/kbuild-all/2018-July/050750.html
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: axis-fifo: fix return value check in axis_fifo_probe()
Wei Yongjun [Fri, 27 Jul 2018 07:15:15 +0000 (07:15 +0000)]
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>
6 years agostaging: gasket: page table: remove code for "no dma_ops"
Todd Poynor [Sat, 28 Jul 2018 05:21:59 +0000 (22:21 -0700)]
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.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: sysfs: remove unnecessary NULL check on device ptr
Todd Poynor [Sat, 28 Jul 2018 05:21:58 +0000 (22:21 -0700)]
staging: gasket: sysfs: remove unnecessary NULL check on device ptr

The device pointer passed into get_mapping() will never be NULL; the
check is unnecessary.

Reported-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: apex: fixup undefined PCI class
Todd Poynor [Sat, 28 Jul 2018 05:21:57 +0000 (22:21 -0700)]
staging: gasket: apex: fixup undefined PCI class

Apex chips with class 0 (PCI_CLASS_NOT_DEFINED) fixed up to
PCI_CLASS_SYSTEM_OTHER to enable PCI resource assignments.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: sysfs: remove check for refcount already zero
Todd Poynor [Sat, 28 Jul 2018 05:21:56 +0000 (22:21 -0700)]
staging: gasket: sysfs: remove check for refcount already zero

Remove the check for refcount already zero, which shouldn't be
necessary.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: fix a compile warning of Z_EROFS_VLE_VMAP_ONSTACK_PAGES
Gao Xiang [Sat, 28 Jul 2018 07:10:32 +0000 (15:10 +0800)]
staging: erofs: fix a compile warning of Z_EROFS_VLE_VMAP_ONSTACK_PAGES

There is a type mismatch in the definition of
Z_EROFS_VLE_VMAP_ONSTACK_PAGES, let's fix it.

Link: https://lists.01.org/pipermail/kbuild-all/2018-July/050707.html
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: add a TODO and update MAINTAINERS for staging
Gao Xiang [Thu, 26 Jul 2018 12:22:08 +0000 (20:22 +0800)]
staging: erofs: add a TODO and update MAINTAINERS for staging

This patch adds a TODO to list the things to be done, and
the relevant info to MAINTAINERS so we can take all the blame :)

Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: introduce cached decompression
Gao Xiang [Thu, 26 Jul 2018 12:22:07 +0000 (20:22 +0800)]
staging: erofs: introduce cached decompression

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.

Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: introduce VLE decompression support
Gao Xiang [Thu, 26 Jul 2018 12:22:06 +0000 (20:22 +0800)]
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:

        |---  variable-length extent ---|------ VLE ------|---  VLE ---|
         /> clusterofs                  /> clusterofs     /> clusterofs /> clusterofs
   ++---|-------++-----------++---------|-++-----------++-|---------++-|
...||   |       ||           ||         | ||           || |         || | ... original data
   ++---|-------++-----------++---------|-++-----------++-|---------++-|
   ++->cluster<-++->cluster<-++->cluster<-++->cluster<-++->cluster<-++
        size         size         size         size         size
         \                             /                 /            /
          \                      /              /            /
           \               /            /            /
            ++-----------++-----------++-----------++
        ... ||           ||           ||           || ... compressed clusters
            ++-----------++-----------++-----------++
            ++->cluster<-++->cluster<-++->cluster<-++
                 size         size         size

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.

Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: introduce workstation for decompression
Gao Xiang [Thu, 26 Jul 2018 12:22:05 +0000 (20:22 +0800)]
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.

Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: introduce erofs shrinker
Gao Xiang [Thu, 26 Jul 2018 12:22:04 +0000 (20:22 +0800)]
staging: erofs: introduce erofs shrinker

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

Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: introduce superblock registration
Gao Xiang [Thu, 26 Jul 2018 12:22:03 +0000 (20:22 +0800)]
staging: erofs: introduce superblock registration

In order to introducing shrinker solution for erofs,
let's manage all mounted erofs instances at first.

Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: add a generic z_erofs VLE decompressor
Gao Xiang [Thu, 26 Jul 2018 12:22:02 +0000 (20:22 +0800)]
staging: erofs: add a generic z_erofs VLE decompressor

Currently, this patch only simply implements LZ4
decompressor due to its development priority.

In the future, erofs will support more compression
algorithm and format other than LZ4, thus a generic
decompressor interface will be needed.

Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: introduce a customized LZ4 decompression
Gao Xiang [Thu, 26 Jul 2018 12:22:01 +0000 (20:22 +0800)]
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.

Link: https://groups.google.com/forum/#!topic/lz4c/_3kkz5N6n00
Therefore, I hacked the LZ4 decompression logic by hand,
probably NOT the fastest approach, and hope for better
implementation.

Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: globalize prepare_bio and __submit_bio
Gao Xiang [Thu, 26 Jul 2018 12:22:00 +0000 (20:22 +0800)]
staging: erofs: globalize prepare_bio and __submit_bio

The unzip subsystem also uses these functions,
let's export them to internal.h.

Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: add erofs_allocpage
Gao Xiang [Thu, 26 Jul 2018 12:21:59 +0000 (20:21 +0800)]
staging: erofs: add erofs_allocpage

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.

Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: add erofs_map_blocks_iter
Gao Xiang [Thu, 26 Jul 2018 12:21:58 +0000 (20:21 +0800)]
staging: erofs: add erofs_map_blocks_iter

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.

Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: introduce pagevec for unzip subsystem
Gao Xiang [Thu, 26 Jul 2018 12:21:57 +0000 (20:21 +0800)]
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.

Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: <linux/tagptr.h>: introduce tagged pointer
Gao Xiang [Thu, 26 Jul 2018 12:21:56 +0000 (20:21 +0800)]
staging: erofs: <linux/tagptr.h>: introduce tagged pointer

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.

Link: https://en.wikipedia.org/wiki/Tagged_pointer
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: support tracepoint
Chao Yu [Thu, 26 Jul 2018 12:21:55 +0000 (20:21 +0800)]
staging: erofs: support tracepoint

Add basic tracepoints for ->readpage{,s}, ->lookup,
->destroy_inode, fill_inode and map_blocks.

Reviewed-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: introduce error injection infrastructure
Chao Yu [Thu, 26 Jul 2018 12:21:54 +0000 (20:21 +0800)]
staging: erofs: introduce error injection infrastructure

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.

Reviewed-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: support special inode
Chao Yu [Thu, 26 Jul 2018 12:21:53 +0000 (20:21 +0800)]
staging: erofs: support special inode

This patch adds to support special inode, such as block dev, char,
socket, pipe inode.

Reviewed-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: introduce xattr & acl support
Gao Xiang [Thu, 26 Jul 2018 12:21:52 +0000 (20:21 +0800)]
staging: erofs: introduce xattr & acl support

This implements xattr and acl functionalities.

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.

Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: update Kconfig and Makefile
Gao Xiang [Thu, 26 Jul 2018 12:21:51 +0000 (20:21 +0800)]
staging: erofs: update Kconfig and Makefile

This commit adds Makefile and Kconfig for erofs, and
updates Makefile and Kconfig files in the fs directory.

Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: add namei functions
Gao Xiang [Thu, 26 Jul 2018 12:21:50 +0000 (20:21 +0800)]
staging: erofs: add namei functions

This commit adds functions that transfer names to inodes.

Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: add directory operations
Gao Xiang [Thu, 26 Jul 2018 12:21:49 +0000 (20:21 +0800)]
staging: erofs: add directory operations

This adds functions for directory, mainly readdir.

Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: add inode operations
Gao Xiang [Thu, 26 Jul 2018 12:21:48 +0000 (20:21 +0800)]
staging: erofs: add inode operations

This adds core functions to get, read an inode.

Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: add raw address_space operations
Gao Xiang [Thu, 26 Jul 2018 12:21:47 +0000 (20:21 +0800)]
staging: erofs: add raw address_space operations

This commit adds functions for meta and raw data, and also
provides address_space_operations for raw data access.

Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: add super block operations
Gao Xiang [Thu, 26 Jul 2018 12:21:46 +0000 (20:21 +0800)]
staging: erofs: add super block operations

This commit adds erofs super block operations, including (u)mount,
remount_fs, show_options, statfs, in addition to some private
icache management functions.

Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: add erofs in-memory stuffs
Gao Xiang [Thu, 26 Jul 2018 12:21:45 +0000 (20:21 +0800)]
staging: erofs: add erofs in-memory stuffs

 - erofs_sb_info:
   contains erofs-specific in-memory information.

 - erofs_vnode:
   contains vfs_inode and other fs-specific information.
   same as super block, the only one in-memory definition exists.

 - erofs_map_blocks
   plays a role in the file L2P mapping

Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: erofs: add on-disk layout
Gao Xiang [Thu, 26 Jul 2018 12:21:44 +0000 (20:21 +0800)]
staging: erofs: add on-disk layout

This commit adds the on-disk layout header file of erofs.

Note that the on-disk layout is still WIP, and some fields are
reserved for the future use by design.

Any comments are welcome.

Thanks-to: Li Guifu <liguifu2@huawei.com>
Thanks-to: Sun Qiuyang <sunqiuyang@huawei.com>
Signed-off-by: Miao Xie <miaoxie@huawei.com>
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: fsl-dpaa2/ethsw: document nested structs as per kernel-doc
Ioana Ciornei [Fri, 27 Jul 2018 14:43:18 +0000 (17:43 +0300)]
staging: fsl-dpaa2/ethsw: document nested structs as per kernel-doc

Document nested structs per kernel-doc requirements by moving
all comments before the actual struct.

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: fsl-dpaa2/eth: document nested structs as per kernel-doc
Ioana Ciornei [Fri, 27 Jul 2018 14:43:17 +0000 (17:43 +0300)]
staging: fsl-dpaa2/eth: document nested structs as per kernel-doc

Document nested structs per kernel-doc requirements by moving
all comments before the actual struct.

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: fsl-dpaa2/eth: Remove unused driver version
Ioana Radulescu [Fri, 27 Jul 2018 14:13:00 +0000 (09:13 -0500)]
staging: fsl-dpaa2/eth: Remove unused driver version

We never really used the driver version, so no point
in keeping it around.

Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: fsl-dpaa2/eth: Update default hash key
Ioana Radulescu [Fri, 27 Jul 2018 14:12:59 +0000 (09:12 -0500)]
staging: fsl-dpaa2/eth: Update default hash key

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.

Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: fsl-dpaa2/ethsw: Fix error message
Ioana Radulescu [Wed, 25 Jul 2018 14:29:47 +0000 (09:29 -0500)]
staging: fsl-dpaa2/ethsw: Fix error message

Error message was referencing wrong function, fix it.

Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agoStaging: octeon-usb: Adding SPDX license identifier
Georgios Tsotsos [Thu, 26 Jul 2018 15:41:51 +0000 (18:41 +0300)]
Staging: octeon-usb: Adding SPDX license identifier

Adding appropriate SPDX-License-Identifier (GPL-2) that were missing
from code, header and make files.

Signed-off-by: Georgios Tsotsos <tsotsos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: don't print device addresses as kernel pointers
Todd Poynor [Fri, 27 Jul 2018 03:07:37 +0000 (20:07 -0700)]
staging: gasket: don't print device addresses as kernel pointers

Print device addresses as unsigned long, not as kernel pointers.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: TODO: remove entry for convert to standard logging
Todd Poynor [Fri, 27 Jul 2018 03:07:36 +0000 (20:07 -0700)]
staging: gasket: TODO: remove entry for convert to standard logging

Gasket/apex drivers now use standard logging, remove TODO entry for
this.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: remove gasket logging header
Todd Poynor [Fri, 27 Jul 2018 03:07:35 +0000 (20:07 -0700)]
staging: gasket: remove gasket logging header

Gasket logging functions no longer used.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: apex: convert to standard logging
Todd Poynor [Fri, 27 Jul 2018 03:07:34 +0000 (20:07 -0700)]
staging: gasket: apex: convert to standard logging

Drop gasket logging calls in favor of standard logging.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: sysfs: convert to standard logging
Todd Poynor [Fri, 27 Jul 2018 03:07:33 +0000 (20:07 -0700)]
staging: gasket: sysfs: convert to standard logging

Drop gasket logging calls in favor of standard logging.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: page table: convert to standard logging
Todd Poynor [Fri, 27 Jul 2018 03:07:32 +0000 (20:07 -0700)]
staging: gasket: page table: convert to standard logging

Replace gasket logging calls with standard logging calls.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: ioctl: convert to standard logging
Todd Poynor [Fri, 27 Jul 2018 03:07:31 +0000 (20:07 -0700)]
staging: gasket: ioctl: convert to standard logging

Replace gasket logging calls with standard logging calls.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: interrupt: convert to standard logging
Todd Poynor [Fri, 27 Jul 2018 03:07:30 +0000 (20:07 -0700)]
staging: gasket: interrupt: convert to standard logging

Convert gasket logging calls to standard functions.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: core: convert to standard logging
Todd Poynor [Fri, 27 Jul 2018 03:07:29 +0000 (20:07 -0700)]
staging: gasket: core: convert to standard logging

Use standard logging functions, drop use of gasket log functions.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging: gasket: save struct device for a gasket device
Todd Poynor [Fri, 27 Jul 2018 03:07:28 +0000 (20:07 -0700)]
staging: gasket: save struct device for a gasket device

Save the struct device pointer to a gasket device in gasket's metadata,
to facilitate use of standard logging calls and in anticipation of
non-PCI gasket devices in the future.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agoMerge tag 'iio-for-4.19b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23...
Greg Kroah-Hartman [Wed, 25 Jul 2018 08:12:07 +0000 (10:12 +0200)]
Merge tag 'iio-for-4.19b' of git://git./linux/kernel/git/jic23/iio into staging-next

Jonathan writes:

Second set of IIO new device support, features and cleanups.

There are also a couple of fixes that can wait for the coming merge
window.

Core new features

* Support for phase channels (used in time of flight sensors amongst
  other things)
* Support for deep UV light channel modifier.

New Device Support

* AD4758 DAC
  - New driver and dt bindings.
* adxl345
  - Support the adxl375 +-200g part which is register compatible.
* isl29501 Time of flight sensor.
  - New driver
* meson-saradc
  - Support the Meson8m2 Socs - right now this is just an ID, but there will
    be additional difference in future.
* mpu6050
  - New ID for 6515 variant.
* si1133 UV sensor.
  - New driver
* Spreadtrum SC27xx PMIC ADC
  - New driver and dt bindings.

Features

* adxl345
  - Add calibration offset readback and writing.
  - Add sampling frequency control.

Fixes and Cleanups

* ad5933
  - Use a macro for the channel definition to reduce duplication.
* ad9523
  - Replace use of core mlock with a local lock. Part of ongoing efforts
    to avoid confusing the purpose of mlock which is only about iio core
    state changes.
  - Fix displayed phase which was out by a factor of 10.
* adxl345
  - Add a link to the datasheet.
  - Rework the use of the address field in the chan_spec structures to
    allow addition of more per channel information.
* adis imu
  - Mark switch fall throughs.
* at91-sama5d2
  - Fix some casting on big endian systems.
* bmp280
  - Drop some DT elements that aren't used and should mostly be done from
    userspace rather than in DT.
* hx711
  - add clock-frequency dt binding and resulting delay to deal with capacitance
    issue on some boards.
  - fix a spurious unit-address in the example.
* ina2xx
  - Avoid a possible kthread_stop with a stale task_struct.
* ltc2632
  - Remove some unused local variables (assigned but value never used).
* max1363
  - Use device_get_match_data to remove some boilerplate.
* mma8452
  - Mark switch fall throughs.
* sca3000
  - Fix a missing return in a switch statement (a bad fallthrough
    previously!)
* sigma-delta-modulator
  - Drop incorrect unit address from the DT example.
* st_accel
  - Use device_get_match_data to drop some boiler plate.
  - Move to probe_new for i2c driver as second parameter not used.
* st_sensors library
  - Use a strlcpy (safe in this case).
* st_lsm6dsx
  - Add some error logging.
* ti-ads7950
  - SPDX
  - Allow simultaneous buffered and polled reads. Needed on a Lego Mindstorms
    EV3 where some channels are used for power supply monitoring at a very low
    rate.
* ti-dac5571
  - Remove an unused variable.
* xadc
  - Drop some dead code.

6 years agoiio: sca3000: Fix missing return in switch
Gustavo A. R. Silva [Sat, 7 Jul 2018 17:44:01 +0000 (12:44 -0500)]
iio: sca3000: Fix missing return in switch

The IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY case is missing a
return and will fall through to the default case and errorenously
return -EINVAL.

Fix this by adding in missing *return ret*.

Fixes: 626f971b5b07 ("staging:iio:accel:sca3000 Add write support to the low pass filter control")
Reported-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agoiio: ad9523: Fix displayed phase
Lars-Peter Clausen [Mon, 25 Jun 2018 08:03:07 +0000 (11:03 +0300)]
iio: ad9523: Fix displayed phase

Fix the displayed phase for the ad9523 driver. Currently the most
significant decimal place is dropped and all other digits are shifted one
to the left. This is due to a multiplication by 10, which is not necessary,
so remove it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Fixes: cd1678f9632 ("iio: frequency: New driver for AD9523 SPI Low Jitter Clock Generator")
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
6 years agostaging: add driver for Xilinx AXI-Stream FIFO v4.1 IP core
Jacob Feder [Mon, 23 Jul 2018 01:27:37 +0000 (21:27 -0400)]
staging: add driver for Xilinx AXI-Stream FIFO v4.1 IP core

This IP core has read and write AXI-Stream FIFOs, the contents of which can
be accessed from the AXI4 memory-mapped interface. This is useful for
transferring data from a processor into the FPGA fabric. The driver creates
a character device that can be read/written to with standard
open/read/write/close.

See Xilinx PG080 document for IP details.

https://www.xilinx.com/support/documentation/ip_documentation/axi_fifo_mm_s/v4_1/pg080-axi-fifo-mm-s.pdf

The driver currently supports only store-forward mode with a 32-bit
AXI4 Lite interface. DOES NOT support:
        - cut-through mode
        - AXI4 (non-lite)

Signed-off-by: Jacob Feder <jacobsfeder@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging:rtl8192u: Remove unused definition of sQoSCtlLng - Style
John Whitmore [Mon, 23 Jul 2018 20:50:31 +0000 (21:50 +0100)]
staging:rtl8192u: Remove unused definition of sQoSCtlLng - Style

Remove sQoSCtlLng. The constant sQoSCtlLng is never used in code so has
been removed. This is a coding style change so 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>
6 years agostaging:rtl8192u: Remove unused AC_UAPSD definitions - Style
John Whitmore [Mon, 23 Jul 2018 20:50:30 +0000 (21:50 +0100)]
staging:rtl8192u: Remove unused AC_UAPSD definitions - Style

Remove the definitions associated with AC_UAPSD. These definitions are
not used in code so have simply been removed. This is a coding style
change 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>
6 years agostaging:rtl8192u: Remove unused structure ACM - Style
John Whitmore [Mon, 23 Jul 2018 20:50:29 +0000 (21:50 +0100)]
staging:rtl8192u: Remove unused structure ACM - Style

Remove the structure ACM as it is unused in code. This change 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>
6 years agostaging:rtl8192u: Remove unused enumerated type ACM_METHOD - Style
John Whitmore [Mon, 23 Jul 2018 20:50:28 +0000 (21:50 +0100)]
staging:rtl8192u: Remove unused enumerated type ACM_METHOD - Style

Remove the enumerated type ACM_METHOD as it is unused in code. This is
a coding 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>
6 years agostaging:rtl8192u: Remove unused structure WMM_TSPEC - Style
John Whitmore [Mon, 23 Jul 2018 20:50:27 +0000 (21:50 +0100)]
staging:rtl8192u: Remove unused structure WMM_TSPEC - Style

Remove the structure WMM_TSPEC as it is unused. This change is a coding
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>
6 years agostaging:rtl8192u: Remove unused structure QOS_TSTREAM - Style
John Whitmore [Mon, 23 Jul 2018 20:50:26 +0000 (21:50 +0100)]
staging:rtl8192u: Remove unused structure QOS_TSTREAM - Style

The structure QOS_TSTREAM is unused in code so has simply been removed.
This change 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>
6 years agostaging:rtl8192u: Remove unused enumerated type QOS_ELE_SUBTYPE - Style
John Whitmore [Mon, 23 Jul 2018 20:50:25 +0000 (21:50 +0100)]
staging:rtl8192u: Remove unused enumerated type QOS_ELE_SUBTYPE - Style

The enumerated type QOS_ELE_SUBTYPE is unused in code so has been removed
from code. This is a coding style change which should have not impact on
runtime code execution.

Signed-off-by: John Whitmore <johnfwhitmore@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging:rtl8192u: Remove the unused AC_CODING definitions - Style
John Whitmore [Mon, 23 Jul 2018 20:50:24 +0000 (21:50 +0100)]
staging:rtl8192u: Remove the unused AC_CODING definitions - Style

The AC_CODING definitions are unused in code, so have simply been removed
from source. This is a coding 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>
6 years agostaging:rtl8192u: Remove unused union QOS_INFO_FIELD - Style
John Whitmore [Mon, 23 Jul 2018 20:50:23 +0000 (21:50 +0100)]
staging:rtl8192u: Remove unused union QOS_INFO_FIELD - Style

The union QOS_INFO_FIELD is unused in code so has been removed from source.
This change is a coding style change so 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>
6 years agostaging:rtl8192u: Remove unused structure QOS_CTRL_FIELD - Style
John Whitmore [Mon, 23 Jul 2018 20:50:22 +0000 (21:50 +0100)]
staging:rtl8192u: Remove unused structure QOS_CTRL_FIELD - Style

The structure QOS_CTRL_FIELD is unused in code so has simply been removed
from source. 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>
6 years agostaging:rtl8192u: Remove unused structure STA_QOS - Style
John Whitmore [Mon, 23 Jul 2018 20:50:21 +0000 (21:50 +0100)]
staging:rtl8192u: Remove unused structure STA_QOS - Style

Remove structure STA_QOS as it is unused in code. This change is a coding
style change so should not impact runtime code execution.

Signed-off-by: John Whitmore <johnfwhitmore@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging:rtl8192u: Removed unused structure BSS_QOS - Style
John Whitmore [Mon, 23 Jul 2018 20:50:20 +0000 (21:50 +0100)]
staging:rtl8192u: Removed unused structure BSS_QOS - Style

The structure BSS_QOS is not used in code so has simply been removed. The
change is a coding style change and should not impact runtime execution.

Signed-off-by: John Whitmore <johnfwhitmore@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging:rtl8192u: Remove unused QOS definitions - Style
John Whitmore [Mon, 23 Jul 2018 20:50:19 +0000 (21:50 +0100)]
staging:rtl8192u: Remove unused QOS definitions - Style

Remove the unused QOS related types.

Since definitions are not used simply remove from code. This change is
a coding style change and should not impact runtime execution.

Signed-off-by: John Whitmore <johnfwhitmore@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging:rtl8192u: Remove unused enumerated type ACK_POLICY - Style
John Whitmore [Mon, 23 Jul 2018 20:50:18 +0000 (21:50 +0100)]
staging:rtl8192u: Remove unused enumerated type ACK_POLICY - Style

The enumerated type ACK_POLICY is not used in code so it has been removed
from the source code. 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>
6 years agostaging:rtl8192u: Remove typedef of u32 to QOS_MODE - Style
John Whitmore [Mon, 23 Jul 2018 20:50:17 +0000 (21:50 +0100)]
staging:rtl8192u: Remove typedef of u32 to QOS_MODE - Style

The typedef of QOS_MODE as a u32 is contrary to coding standard and fails
the checkpatch tests for defining new types in code. Definitions of type
QOS_MODE have simply been replaced with a u32 type.

This is a coding style change which should not impact runtime execution.

Signed-off-by: John Whitmore <johnfwhitmore@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
6 years agostaging:rtl8192u: Remove unused RTL8258 bit mask definitions - Style
John Whitmore [Sun, 22 Jul 2018 22:10:35 +0000 (23:10 +0100)]
staging:rtl8192u: Remove unused RTL8258 bit mask definitions - Style

Remove the unused 'RTL8258' bit mask definitions. These definitions fail
the checkpatch CamelCase naming tests. Since the definitions are unused
in code they have been removed, rather then renaming.

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>
6 years agostaging:rtl8192u: Remove unused Zebra4 bit mask definitions - Style
John Whitmore [Sun, 22 Jul 2018 22:10:34 +0000 (23:10 +0100)]
staging:rtl8192u: Remove unused Zebra4 bit mask definitions - Style

Remove the unused 'Zebra4' bit mask definitions. These definitions fail
the checkpatch CamelCase naming tests. Rather then renaming, as the
definitions are unused they have simply been removed.

This 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>