Commit Graph

1015869 Commits

Author SHA1 Message Date
Phillip Potter 2b1aca59e1 staging: rtl8188eu: remove MSG_88E macro from include/rtw_debug.h
Remove definition of MSG_88E macro from include/rtw_debug.h, as it
no longer has any callers and does not follow kernel coding conventions.
Removing this macro leaves only RT_TRACE and associated definitions.

Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
Link: https://lore.kernel.org/r/20210623234902.7411-10-phil@philpotter.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:43:20 +02:00
Phillip Potter 4ce8ae2028 staging: rtl8188eu: remove MSG_88E call from hal/odm.c
Remove MSG_88E call from hal/odm.c as this macro is unnecessary,
and this call is dubious in terms of necessity. Removing all calls
will ultimately allow the removal of the macro itself.

Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
Link: https://lore.kernel.org/r/20210623234902.7411-8-phil@philpotter.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:43:06 +02:00
Phillip Potter ffa3e77ca7 staging: rtl8188eu: remove DBG_88E_LEVEL macro from include/rtw_debug.h
Remove definition of DBG_88E_LEVEL macro from include/rtw_debug.h, as it
no longer has any callers and does not follow kernel coding conventions.
Removing all such macros will ultimately allow the removal of this file.

Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
Link: https://lore.kernel.org/r/20210623234902.7411-7-phil@philpotter.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:43:06 +02:00
Phillip Potter c511354263 staging: rtl8188eu: remove all DBG_88E_LEVEL calls from core/rtw_xmit.c
Remove all DBG_88E_LEVEL calls from core/rtw_xmit.c as this macro is
unnecessary, and these calls are dubious in terms of necessity.
Removing all calls will ultimately allow the removal of the macro
itself.

Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
Link: https://lore.kernel.org/r/20210623234902.7411-6-phil@philpotter.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:43:06 +02:00
Phillip Potter 0389516cb4 staging: rtl8188eu: remove all DBG_88E_LEVEL calls from core/rtw_pwrctrl.c
Remove all DBG_88E_LEVEL calls from core/rtw_pwrctrl.c as this macro is
unnecessary, and these calls are dubious in terms of necessity.
Removing all calls will ultimately allow the removal of the macro
itself.

Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
Link: https://lore.kernel.org/r/20210623234902.7411-5-phil@philpotter.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:43:06 +02:00
Phillip Potter 8e727b9353 staging: rtl8188eu: remove all DBG_88E_LEVEL calls from core/rtw_ioctl_set.c
Remove all DBG_88E_LEVEL calls from core/rtw_ioctl_set.c as this macro is
unnecessary, and these calls are dubious in terms of necessity.
Removing all calls will ultimately allow the removal of the macro
itself.

Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
Link: https://lore.kernel.org/r/20210623234902.7411-4-phil@philpotter.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:43:06 +02:00
Phillip Potter fe16215de4 staging: rtl8188eu: remove all DBG_88E_LEVEL calls from core/rtw_mlmw_ext.c
Remove all DBG_88E_LEVEL calls from core/rtw_mlmw_ext.c as this macro is
unnecessary, and these calls are dubious in terms of necessity.
Removing all calls will ultimately allow the removal of the macro
itself.

Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
Link: https://lore.kernel.org/r/20210623234902.7411-3-phil@philpotter.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:43:06 +02:00
Phillip Potter e57dcbf698 staging: rtl8188eu: remove all DBG_88E_LEVEL calls from os_dep/ioctl_linux.c
Remove all DBG_88E_LEVEL calls from os_dep/ioctl_linux.c as this macro is
unnecessary, and these calls are dubious in terms of necessity.
Removing all calls will ultimately allow the removal of the macro
itself.

Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
Link: https://lore.kernel.org/r/20210623234902.7411-2-phil@philpotter.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:43:05 +02:00
Martin Kaiser f38143580e staging: rtl8188eu: remove more unused defines
Remove some defines for register addresses and bits which obviously
refer to chipsets other than rtl8188eu.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210620175301.14988-13-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:42:45 +02:00
Martin Kaiser 0684c15d32 staging: rtl8188eu: remove sdio defines
Remove sdio defines which are not used by this driver.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210620175301.14988-12-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:42:45 +02:00
Martin Kaiser ea7810f6e0 staging: rtl8188eu: make efuse_ReadEFuse static
The function is used only inside rtw_efuse.c.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210620175301.14988-11-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:42:45 +02:00
Martin Kaiser c372251719 staging: rtl8188eu: remove RT_TRACE prints from pwrseqcmd.c
Eventually, all driver-specific debug prints should be removed.
Take another step in that direction.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210620175301.14988-10-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:42:45 +02:00
Martin Kaiser 0e02d10ec2 staging: rtl8188eu: simplify rtl88eu_mon_init
The code looks a bit nicer without goto.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210620175301.14988-9-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:42:45 +02:00
Martin Kaiser 896e902299 staging: rtl8188eu: remove HAL_INIT_PROFILE_TAG
Remove HAL_INIT_PROFILE_TAG, which is an empty loop already.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210620175301.14988-8-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:42:45 +02:00
Martin Kaiser b439959137 staging: rtl8188eu: remove RT_TRACE and MSG_88E prints from usb_halinit.c
Eventually, all driver-specific debug prints should be removed.
Take another step in that direction.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210620175301.14988-7-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:42:45 +02:00
Martin Kaiser ef803a9a49 staging: rtl8188eu: remove unnecessary if clause
if and else do the same thing.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210620175301.14988-6-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:42:44 +02:00
Martin Kaiser 7ad9bc70e1 staging: rtl8188eu: remove efuse type
A number of efuse-related functions have an "efuse type" parameter.
This type is not used and can be removed.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210620175301.14988-5-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:42:44 +02:00
Martin Kaiser 7c12683cf7 staging: rtl8188eu: remove a couple of unused defines
Remove some defines which are not used by this driver.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210620175301.14988-4-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:42:44 +02:00
Martin Kaiser 3b4b55a041 staging: rtl8188eu: remove RT_TRACE prints from rtl8188e_hal_init.c
Eventually, all driver-specific debug prints should be removed.
Take another step in that direction.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210620175301.14988-3-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:42:44 +02:00
Martin Kaiser abc6baa882 staging: rtl8188eu: remove RT_TRACE prints from usb_intf.c
Eventually, all driver-specific debug prints should be removed.
Take another step in that direction.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210620175301.14988-2-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:42:44 +02:00
Martin Kaiser c1ccff4682 staging: rtl8188eu: handle errors from dev_alloc_name
Fail the usb interface initialization if dev_alloc_name returns an error.

Other wlan drivers like natsemi or atmel use the same error handling.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210620175301.14988-1-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:42:44 +02:00
Martin Kaiser deefd9211d staging: rtl8188eu: fix usb_submit_urb error handling
usb_read_port prepares a bulk in urb and calls usb_submit_urb to pass the
usb to the usb core. It seems wrong that usb_read_port returns success to
its caller if usb_submit_urb failed with -EPERM.

According to drivers/usb/core/urb.c, usb_submit_urb returns -EPERM when
an urb is resubmitted after being cancelled by usb_kill_urb etc.

The only caller who checks the return value of usb_read_port is
rtw_hal_inirp_init. This function submits the bulk in urbs for the first
time after the netdevice is opened. We'll not receive -EPERM from
usb_submit_urb in this case. The urbs are resubmitted by
read_port_complete, which does not check for errors from usb_read_port.

This driver may kill pending bulk in urbs when the netdevice is closed when
the driver is unloaded or the system goes to sleep. I don't think that this
will interrupt an ongoing netdev open.

Suggested-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20210620174057.10201-1-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:41:50 +02:00
Christophe JAILLET 872cfb096d staging: rtl8188eu: remove "rtw_ieee80211_back_parties"
This enum is unused. It is also close to "ieee80211_back_parties" in
"include/linux/ieee80211.h", which should be used if needed.

So remove it

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/f389e0d54a5a8a46c9a696207541aa1cb433676b.1624132543.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:41:14 +02:00
Christophe JAILLET 12a17d72f7 staging: rtl8188eu: remove "rtw_ieee80211_back_actioncode"
This enum is the same as "ieee80211_back_actioncode" in
"include/linux/ieee80211.h".

Update the code accordingly and remove useless comment.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/6b6d8d81e7b2115e9206d2960ce09e1b2e8b6381.1624132543.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:41:14 +02:00
Michael Straube 9a4ccb73a5 staging: rtl8188eu: remove useless comment
Remove block comment about function HwSuspendModeEnable92Cu.
The comment contains no useful information and there is even
no HwSuspendModeEnable92Cu function in the driver code.
'git grep -n HwSuspendModeEnable92Cu drivers/staging/rtl8188eu'
returns nothing.

Reviewed-by: Martin Kaiser <martin@kaiser.cx>
Signed-off-by: Michael Straube <straube.linux@gmail.com>
Link: https://lore.kernel.org/r/20210619175055.5122-1-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:40:59 +02:00
Christophe JAILLET eb64c6f60e staging: rtl8723bs: Fix an error handling path
'ret' is known to be 0 at this point. It must be set to -ENOMEM if a
memory allocation occurs.

Fixes: 554c0a3abf ("staging: Add rtl8723bs sdio wifi driver")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/a9533d1594900152e1e64e9f09e54240e3b7062a.1624177169.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-24 14:40:53 +02:00
Shreyas Krishnakumar 6cbb3aa0f9 staging: rtl8723bs: rtw_efuse: Fix coding style
Remove unnecessary braces around single statement blocks as warned by
checkpatch.pl

Signed-off-by: Shreyas Krishnakumar <shreyaskumar1035@gmail.com>
Link: https://lore.kernel.org/r/20210616073921.156814-1-shreyaskumar1035@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-18 13:04:02 +02:00
Yang Yingliang 78adf574c9 staging: rtl8723bs: hal: use eth_broadcast_addr() to assign broadcast address
Using eth_broadcast_addr() to assign broadcast address instead
of copying from an array that contains the all-ones broadcast
address.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20210616081243.2511663-4-yangyingliang@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-18 13:03:33 +02:00
Yang Yingliang 3b0a4a1bdb staging: rtl8723bs: core: use eth_broadcast_addr() to assign broadcast address
Using eth_broadcast_addr() to assign broadcast address instead
of copying from an array that contains the all-ones broadcast
address.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20210616081243.2511663-3-yangyingliang@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-18 13:03:33 +02:00
Yang Yingliang 44c26bec86 staging: rtl8723bs: os_dep: use eth_broadcast_addr() to assign broadcast address
Using eth_broadcast_addr() to assign broadcast address instead
of memset() or copying from an array that contains the all-ones
broadcast address.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20210616081243.2511663-2-yangyingliang@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-18 13:03:33 +02:00
Qiang Ma 3c07e1eaaf staging: r8188eu/core: remove the check for NULL pointer in _rtw_enqueue_cmd()
Remove the check for _rtw_enqueue_cmd(), because
rtw_enqueue_cmd() already has a check of NULL pointer,
so this condition is not possible.

Signed-off-by: Qiang Ma <maqianga@uniontech.com>
Link: https://lore.kernel.org/r/20210616125332.31674-1-maqianga@uniontech.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-18 13:03:19 +02:00
Caleb D.S. Brzezinski a85adbb585 staging: ks7010: Wrap macro definitions in parenthesis
Wrap the definition of TX_RATE_* constants in parenthesis to prevent
incorrect casting during expansion, as recommended by checkpatch.pl.

Signed-off-by: Caleb D.S. Brzezinski <calebdsb@protonmail.com>
Link: https://lore.kernel.org/r/20210616212552.117604-1-calebdsb@protonmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-18 13:02:54 +02:00
Colin Ian King 609e9339dc staging: rts5208: remove redundant continue statement
The continue statement at the end of a for-loop has no effect,
remove it.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Addresses-Coverity: ("Continue has no effect")
Link: https://lore.kernel.org/r/20210617120411.11612-1-colin.king@canonical.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-18 13:02:47 +02:00
liuhailong 594ea7358b staging: android: ashmem: add size field in procfs fdinfo
add this information to help user to find ashmem problem.

ashmem leak scenario:
-000|fd = ashmem_create_region
-001|mmap and pagefault
-002|munmap
-003|forget close(fd) <---- which lead to ashmem leak

Signed-off-by: liuhailong <liuhailong@oppo.com>
收件人: 刘海龙(DuckBuBee) <liuhailong@oppo.com>
Link: https://lore.kernel.org/r/20210618095035.32410-1-liuhailong@oppo.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-18 13:02:40 +02:00
Greg Kroah-Hartman 8c51c9b59a Second set of Counter and IIO new device support, cleanups etc for 5.14
Counter
 ------
 
 First part of general rework of counter subsystem to add a chrdev interface
 for event drive data capture.  Most of it will hopefully land next cycle.
 
 * Consolidate documentation to avoid multiple copies of same docs in per
   device files.
 * Constify various arrays etc across subsystem.
 * 104-quad-8:
   - Annotate the module config parameter to avoid using it when kernel is
     locked down.
   - Spelling and trivial comment drops etc
 * Intel QEP
   - Follow up cleanups of trivial stuff from initial patch series.
 
 IIO
 ---
 
 Includes some cleanups as part of two ongoing audits
 - runtime pm usage in IIO.
 - Insufficient alignment on buffers passed to
 iio_push_to_buffers_with_timstamp()
 
 New device support
 * bosch,bmc150
   - Add ID for BMA253
 
 Minor features / cleanups / minor fixes / late breaking fixes
 * iio_push_to_buffers_with_timestamp() alignment fixes.
   This set includes those where the best option is to mark the buffer as
   __aligned(8). Normally this choice was made because there is too high a degree
   of possible variation in number of channels enabled to be able to guarantee
   the timestamp was always in the same location.  This ruled out the more
   obvious structure form used in other drivers. Only one small class of
   related issues have patches under review and we can finally tighten up the
   explicit rules to reflect the hidden requirement.
 
 * dummy
   - Kconfig build dependency fix.
 * adi,ad_sigma_delta
   - General devm related simplifications for these devices.
 * adi,adf4350
   - Fix some missing cleanup on error path.
 * adi,adis, ADC drivers.
   - Clean out unneeded spi_set_drvdata()
 * ams-taos,tcs3472
   - Fix a potential free of an irq that was never allocated.
 * atlas,sensor
   - Drop unbalanced runtime pm call and use pm_runtime_resume_and_get()
     to reduce boilerplate.
 * bosch,bma180
   - Fix bandwidth register values used.
 * bosch,bmc150
   - Fix wrong pointer being dereferenced in remove.
   - Stop device trying unregister itself rather than the second device.
   - Refactor ACPI second device handing.
   - Add support for DUAL250E ACPI HID.
   - Move some stuff into the header to enable following patches to not
     add additional accessor functions. Drop existing accessors.
   - Add support for hinge angle setting with DUAL250E ACPI DSM to ensure
     keyboard and touchpad enabled correctly when in laptop mode and disabled
     otherwise.
   - Add label attr for the multiple sensor locations with DUAL250E ACPI HID.
   - Fix scale units for bma222
   - Various reordering of devices supported lists to be alphabetical order.
   - Drop unnecessary duplicated chip_info_tbl[] entries.
   - Document that some devices have two interrupts, even if not currently
     used by the driver.
   - Move bma254 over to the bma255 driver.
   - Move to more consistent scale values, based on assumption that some
     datasheets use lower precision in their calculations in comparison
     with others.
 * hid-sensors
   - Use namespaces for exported symbols.
   - Update includes using manual inspection of output of the
     include-what-you-use tool.
 * invensense,icp10100
   - Drop unbalanced runtime pm put. Use pm_runtime_resume_and_get() to cleanly
     handle potential error.
 * invensense,mpu6050
   - Drop use of %hhx string formatting.
   - runtime pm boilerplate removal and drop an unbalanced call in remove.
 * liteon,ltr501
   - Fix inaccurate volatile register list.
   - Fix wrong mode bit.
   - Add a missing leXX_to_cpu() conversion.
   - Mark ltr501_chip_info structure as const.
 * pulsed-light-lidar:
   - Boilerplate removal using runtime_pm_resume_and_get()
 * scmi-sensors
   - Formatting of SPDX fix.
 * silabs,si1133
   - Fix a string format warning.
   - Drop remaining uses of %hhx string formatting.
 * silabs,si1145
   - Drop use of %hhx string formatting.
 * ti,ads1015
   - Drop unbalanced runtime pm call in remove and reduce boilerplate.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAvFiEEbilms4eEBlKRJoGxVIU0mcT0FogFAmDLW3URHGppYzIzQGtl
 cm5lbC5vcmcACgkQVIU0mcT0Foj87Q/4h+ITG64s7RZzIGAgTCXDjClW4R/yDyiR
 fPUdwwKtYKy8hQ+1shV1WukEKfoQ3uz339nlI6Ttm7NiIlt4Lqf4xmHRmo1vw1IJ
 YgyCMiFSkuNUgU/yCoHqJIAVecnQ4kVP8npNelUA5vBgQiMruzNGfTW47HDDvhFa
 rc7OF+9oFDdikU2T3b44Rd3iXU8mMtH7afpfmWyJLhLfVjW9Stk6MLOW7ID+r+v8
 TWIAtv5PbvWKSHhr95en4YTup+oChKR2R9G0l8YJEQVl4z85zD5CTavLJ0ZMuyDy
 1oyVAefVDY/ML427ulAa3bo0BEWE0RZiuxCEBDzy3gHSDSdzmiTKQiNWdTYT7UB+
 +SNeNfYjZkbY2OytcwNMk7W7GW+bIdeCvhZZcySzf6yp5ZmKbbVHbszB5mEqn4B3
 R3arxq7DqcP5EwWnP7ja+Yk923Gfl8GNkzLMjZYhs4VXR/A4+qznfw9TKpAXIxge
 HN+fs5lbkxpgEAeLvTTwVb/uimWgnR4WhJYaJlWm497a6Gvnf5Vc7Z91XMe5iUR3
 tIyX7Vz7qPtWUoIlghfjkIJOFDIPwCcqG4vyn3qax8I1mA6HtWPgZoYFMEWBDazW
 T1tX+ThMIcvsZr7WptKhaHlUamyz4z6L7PZPmIPOhNH8hcS2fR7WU9/fN4it+s/e
 a5rCw4kSfQ==
 =xwQK
 -----END PGP SIGNATURE-----

Merge tag 'iio-for-5.14b' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next

Jonathan writes:

Second set of Counter and IIO new device support, cleanups etc for 5.14

Counter
------

First part of general rework of counter subsystem to add a chrdev interface
for event drive data capture.  Most of it will hopefully land next cycle.

* Consolidate documentation to avoid multiple copies of same docs in per
  device files.
* Constify various arrays etc across subsystem.
* 104-quad-8:
  - Annotate the module config parameter to avoid using it when kernel is
    locked down.
  - Spelling and trivial comment drops etc
* Intel QEP
  - Follow up cleanups of trivial stuff from initial patch series.

IIO
---

Includes some cleanups as part of two ongoing audits
- runtime pm usage in IIO.
- Insufficient alignment on buffers passed to
iio_push_to_buffers_with_timstamp()

New device support
* bosch,bmc150
  - Add ID for BMA253

Minor features / cleanups / minor fixes / late breaking fixes
* iio_push_to_buffers_with_timestamp() alignment fixes.
  This set includes those where the best option is to mark the buffer as
  __aligned(8). Normally this choice was made because there is too high a degree
  of possible variation in number of channels enabled to be able to guarantee
  the timestamp was always in the same location.  This ruled out the more
  obvious structure form used in other drivers. Only one small class of
  related issues have patches under review and we can finally tighten up the
  explicit rules to reflect the hidden requirement.

* dummy
  - Kconfig build dependency fix.
* adi,ad_sigma_delta
  - General devm related simplifications for these devices.
* adi,adf4350
  - Fix some missing cleanup on error path.
* adi,adis, ADC drivers.
  - Clean out unneeded spi_set_drvdata()
* ams-taos,tcs3472
  - Fix a potential free of an irq that was never allocated.
* atlas,sensor
  - Drop unbalanced runtime pm call and use pm_runtime_resume_and_get()
    to reduce boilerplate.
* bosch,bma180
  - Fix bandwidth register values used.
* bosch,bmc150
  - Fix wrong pointer being dereferenced in remove.
  - Stop device trying unregister itself rather than the second device.
  - Refactor ACPI second device handing.
  - Add support for DUAL250E ACPI HID.
  - Move some stuff into the header to enable following patches to not
    add additional accessor functions. Drop existing accessors.
  - Add support for hinge angle setting with DUAL250E ACPI DSM to ensure
    keyboard and touchpad enabled correctly when in laptop mode and disabled
    otherwise.
  - Add label attr for the multiple sensor locations with DUAL250E ACPI HID.
  - Fix scale units for bma222
  - Various reordering of devices supported lists to be alphabetical order.
  - Drop unnecessary duplicated chip_info_tbl[] entries.
  - Document that some devices have two interrupts, even if not currently
    used by the driver.
  - Move bma254 over to the bma255 driver.
  - Move to more consistent scale values, based on assumption that some
    datasheets use lower precision in their calculations in comparison
    with others.
* hid-sensors
  - Use namespaces for exported symbols.
  - Update includes using manual inspection of output of the
    include-what-you-use tool.
* invensense,icp10100
  - Drop unbalanced runtime pm put. Use pm_runtime_resume_and_get() to cleanly
    handle potential error.
* invensense,mpu6050
  - Drop use of %hhx string formatting.
  - runtime pm boilerplate removal and drop an unbalanced call in remove.
* liteon,ltr501
  - Fix inaccurate volatile register list.
  - Fix wrong mode bit.
  - Add a missing leXX_to_cpu() conversion.
  - Mark ltr501_chip_info structure as const.
* pulsed-light-lidar:
  - Boilerplate removal using runtime_pm_resume_and_get()
* scmi-sensors
  - Formatting of SPDX fix.
* silabs,si1133
  - Fix a string format warning.
  - Drop remaining uses of %hhx string formatting.
* silabs,si1145
  - Drop use of %hhx string formatting.
* ti,ads1015
  - Drop unbalanced runtime pm call in remove and reduce boilerplate.

* tag 'iio-for-5.14b' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (76 commits)
  iio: light: tcs3472: do not free unallocated IRQ
  iio: accel: bmc150: Use more consistent and accurate scale values
  iio: hid-sensors: Update header includes
  iio: pressure: icp10100: Balance runtime pm + use pm_runtime_resume_and_get()
  iio: prox: pulsed-light-v2: Use pm_runtime_resume_and_get()
  iio: chemical: atlas-sensor: Balance runtime pm + pm_runtime_resume_and_get()
  iio: adc: ads1015: Balance runtime pm + pm_runtime_resume_and_get()
  iio: imu: mpu6050: Balance runtime pm + use pm_runtime_resume_and_get()
  iio: hid-sensors: lighten exported symbols by moving to IIO_HID namespace
  iio: prox: isl29501: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: light: vcnl4035: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: light: vcnl4000: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: magn: rm3100: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
  iio: adc: ti-ads8688: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
  iio: adc: mxs-lradc: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: adc: hx711: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: adc: at91-sama5d2: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  counter: interrupt-cnt: Add const qualifier for actions_list array
  iio: ltr501: mark ltr501_chip_info as const
  iio: ltr501: ltr501_read_ps(): add missing endianness conversion
  ...
2021-06-17 18:20:56 +02:00
frank zago 7cd04c863f iio: light: tcs3472: do not free unallocated IRQ
Allocating an IRQ is conditional to the IRQ existence, but freeing it
was not. If no IRQ was allocate, the driver would still try to free
IRQ 0. Add the missing checks.

This fixes the following trace when the driver is removed:

[  100.667788] Trying to free already-free IRQ 0
[  100.667793] WARNING: CPU: 0 PID: 2315 at kernel/irq/manage.c:1826 free_irq+0x1fd/0x370
...
[  100.667914] Call Trace:
[  100.667920]  tcs3472_remove+0x3a/0x90 [tcs3472]
[  100.667927]  i2c_device_remove+0x2b/0xa0

Signed-off-by: frank zago <frank@zago.net>
Link: https://lore.kernel.org/r/20210427022017.19314-2-frank@zago.net
Fixes: 9d2f715d59 ("iio: light: tcs3472: support out-of-threshold events")
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2021-06-16 14:57:03 +01:00
Stephan Gerhold e2a73c4e78 iio: accel: bmc150: Use more consistent and accurate scale values
It is quite strange that BMA222 and BMA222E have very close, yet
subtly different values in their scale tables. Comparing the datasheets
this is simply because the "Resolution" for the different measurement
ranges are documented with different precision.

For example, for +-2g the BMA222 datasheet [1] suggests a resolution
of 15.6 mg/LSB, while the BMA222E datasheet [2] suggests 15.63 mg/LSB.

Actually, there is no need to rely on the resolution given by the Bosch
datasheets. The resolution and scale can be calculated more consistently
and accurately using the range (e.g. +-2g) and the channel size (e.g. 8 bits).

Distributing 4g (-2g to 2g) over 8 bits results in an exact resolution
of (4g / 2^8) = 15.625 mg/LSB which is the same value as in both datasheets,
just slightly more accurate. Multiplying g = 9.80665 m/s^2 we get a more
accurate value for the IIO scale table.

Generalizing this we can calculate the scale tables more accurately using
(range / 2^bits) * g * 10^6 (because of IIO_VAL_INT_PLUS_MICRO).

Document this and make the scale tables more consistent and accurate
for all the variants using that formula. Now the scale tables for
BMA222 and BMA222E are consistent and probably slightly more accurate.

[1]: https://media.digikey.com/pdf/Data%20Sheets/Bosch/BMA222.pdf
[2]: https://www.mouser.com/datasheet/2/783/BST-BMA222E-DS004-06-1021076.pdf

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gnail.com>
Link: https://lore.kernel.org/r/20210611182442.1971-1-stephan@gerhold.net
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2021-06-16 14:53:13 +01:00
Jonathan Cameron fb226ae750 iio: hid-sensors: Update header includes
General driver churn doesn't always include updates of header includes.
Manual review of the output of the include-what-you-use checker lead to the
following cleanup. Hopefuly this brings things back to a good state for the
hid-sensor drivers.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Jiri Kosina <jikos@kernel.org>
Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Link: https://lore.kernel.org/r/20210608205510.4033887-1-jic23@kernel.org
2021-06-16 14:53:13 +01:00
Jonathan Cameron 64f9dc6a68 iio: pressure: icp10100: Balance runtime pm + use pm_runtime_resume_and_get()
The devm_ handled runtime pm disable calls pm_runtime_put_sync_suspend()
which isn't balancing a matching get call.  It isn't a bug as such,
because the runtime pm core doesn't decrement the reference count below
zero, but it is missleading so let's drop it.

Using pm_runtime_resume_and_get() new call makes it easy to handle
failures in resume as it doesn't hold a reference count if it exits
with an error.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>
Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/20210516162103.1332291-7-jic23@kernel.org
2021-06-16 14:53:13 +01:00
Jonathan Cameron c2f89f4ccd iio: prox: pulsed-light-v2: Use pm_runtime_resume_and_get()
Using this new call makes it easy to handle any errors as a result
of runtime resume as it exits without leaving the reference count
elevated.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Matt Ranostay <matt.ranostay@konsulko.com>
Acked-by: Matt Ranostay <matt.ranostay@konsulko.com>
Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/20210516162103.1332291-6-jic23@kernel.org
2021-06-16 14:53:13 +01:00
Jonathan Cameron 0e4f336f50 iio: chemical: atlas-sensor: Balance runtime pm + pm_runtime_resume_and_get()
The pm_runtime_put_noidle() call in remove isn't balanced with any get, so
drop it.  Note this isn't a bug as the runtime pm core will not allow the
reference count to go negative, making this a noop. However, it is
confusing to the reader so let's drop it.

pm_runtime_resume_and_get() replacement found using the coccicheck script
under review at:
https://lore.kernel.org/lkml/20210427141946.2478411-1-Julia.Lawall@inria.fr/

As pm_runtime_resume_and_get() returns <= 0 take advantage of that to
change the error checking to if (ret) which is more in keeping with the
rest of this driver.

This is a prequel to taking a closer look at the runtime pm in IIO drivers
in general.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Matt Ranostay <matt.ranostay@konsulko.com>
Acked-by: Matt Ranostay <matt.ranostay@konsulko.com>
Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/20210516162103.1332291-4-jic23@kernel.org
2021-06-16 14:53:13 +01:00
Jonathan Cameron 17181d4dc3 iio: adc: ads1015: Balance runtime pm + pm_runtime_resume_and_get()
The call to pm_runtime_put_noidle() in remove() is not balancing a
counter increment.  Note this doesn't matter as the runtime pm core
will not allow the counter to go negative.  However, it is confusing
to the reader so let's remove it.

The pm_runtime_resume_and_get() replacement was found using coccicheck
script under review at:
https://lore.kernel.org/lkml/20210427141946.2478411-1-Julia.Lawall@inria.fr/

This is a prequel to taking a closer look at the runtime pm in IIO drivers
in general.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/20210516162103.1332291-3-jic23@kernel.org
2021-06-16 14:53:13 +01:00
Jonathan Cameron 40b54cbebf iio: imu: mpu6050: Balance runtime pm + use pm_runtime_resume_and_get()
Remove an unblanced pm_runtime_put_sync_suspend() call
in inv_pu_pm_disable().  Not this call is not a bug, because the runtime
pm core will not allow the reference counter to go negative.  It is
however confusing and serves no purpose.

pm_runtime_resume_and_get() case found using coccicheck script under
review at:
https://lore.kernel.org/lkml/20210427141946.2478411-1-Julia.Lawall@inria.fr/

pm_runtime_resume_and_get() returns <= 0 only so simplify related checks
to bring this more inline with nearby calls.

This is a prequel to taking a closer look at the runtime pm in IIO drivers
in general.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Jean-Baptiste Maneyrol <jmaneyrol@invensense.com>
Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/20210516162103.1332291-2-jic23@kernel.org
2021-06-16 14:53:13 +01:00
Andy Shevchenko 12f13d1fae iio: hid-sensors: lighten exported symbols by moving to IIO_HID namespace
A namespace for exported symbols makes clear who is a provider
and who is a consumer of the certain resources. Besides that,
it doesn't pollute the common namespace.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Link: https://lore.kernel.org/r/20210614162447.5392-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2021-06-16 14:53:13 +01:00
Jonathan Cameron 92babc9938 iio: prox: isl29501: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
Add __aligned(8) to ensure the buffer passed to
iio_push_to_buffers_with_timestamp() is suitable for the naturally
aligned timestamp that will be inserted.

Here an explicit structure is not used, because the holes would
necessitate the addition of an explict memset(), to avoid a kernel
data leak, making for a less minimal fix.

Fixes: 1c28799257 ("iio: light: isl29501: Add support for the ISL29501 ToF sensor.")
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Mathieu Othacehe <m.othacehe@gmail.com>
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20210613152301.571002-9-jic23@kernel.org
2021-06-16 14:53:13 +01:00
Jonathan Cameron ec90b52c07 iio: light: vcnl4035: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
Add __aligned(8) to ensure the buffer passed to
iio_push_to_buffers_with_timestamp() is suitable for the naturally
aligned timestamp that will be inserted.

Here an explicit structure is not used, because the holes would
necessitate the addition of an explict memset(), to avoid a potential
kernel data leak, making for a less minimal fix.

Fixes: 55707294c4 ("iio: light: Add support for vishay vcnl4035")
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Parthiban Nallathambi <pn@denx.de>
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20210613152301.571002-8-jic23@kernel.org
2021-06-16 14:53:08 +01:00
Phillip Potter d78f4549d3 staging: rtl8188eu: remove _dbg_dump_tx_info function
Remove the _dbg_dump_tx_info function from hal/rtl8188e_xmit.c, as
it doesn't actually do anything and is only called from one place.
It used to have some redundant debugging statements in it, but these
have now been removed anyway, so all it does is read information from
the adapter to set a variable 'dump_txdesc' which is then never used.
This fixes a kernel test robot warning.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
Link: https://lore.kernel.org/r/20210615223607.13863-8-phil@philpotter.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-16 09:25:29 +02:00
Phillip Potter daadab0382 staging: rtl8188eu: remove unused variables from hal/rtl8188e_cmd.c
Remove set but unused variables from within the file hal/rtl8188e_cmd.c
in the function rtl8188e_set_FwMediaStatus_cmd, as they are triggering
kernel test robot warnings.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
Link: https://lore.kernel.org/r/20210615223607.13863-7-phil@philpotter.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-16 09:25:29 +02:00
Phillip Potter b16605f9b9 staging: rtl8188eu: remove unused variable from os_dep/ioctl_linux.c
Remove set but unused variable 'reason' from within the file
os_dep/ioctl_linux.c in the function rtw_wx_set_mlme, as it is
triggering a kernel test robot warning.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
Link: https://lore.kernel.org/r/20210615223607.13863-6-phil@philpotter.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-16 09:25:29 +02:00
Phillip Potter 950c352534 staging: rtl8188eu: remove unused variables from core/rtw_mlme_ext.c
Remove set but unused variables from within the file core/rtw_mlme_ext.c,
as they are triggering kernel test robot warnings.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Phillip Potter <phil@philpotter.co.uk>
Link: https://lore.kernel.org/r/20210615223607.13863-5-phil@philpotter.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-16 09:25:29 +02:00