Geordan Neukum [Sun, 26 May 2019 01:18:28 +0000 (01:18 +0000)]
staging: kpc2000: kpc_i2c: Remove pldev from i2c_device structure
The i2c_device structure contains a member used to stash a pointer to
a platform_device. The driver contains no cases of this member being
used after initialization. Remove the unnecessary struct member and
the initialization of this member in the sole instance where the
driver creates a variable of type: struct i2c_device.
Geordan Neukum [Sun, 26 May 2019 01:18:27 +0000 (01:18 +0000)]
staging: kpc2000: kpc_i2c: Remove unused rw_sem
In pi2c_probe, a rw_sem is initialized and stashed off in the
i2c_device private runtime state struct. This rw_sem is never used
after initialization. Remove the rw_sem and cleanup unneeded header
inclusion.
Mao Wenan [Tue, 28 May 2019 08:02:13 +0000 (16:02 +0800)]
staging: kpc2000: report error status to spi core
There is an error condition that's not reported to
the spi core in kp_spi_transfer_one_message().
It should restore status value to m->status, and
return it in error path.
Signed-off-by: Mao Wenan <maowenan@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gao Xiang [Tue, 28 May 2019 03:19:42 +0000 (11:19 +0800)]
staging: erofs: support statx
statx() has already been supported in commit a528d35e8bfc
("statx: Add a system call to make enhanced file info available"),
user programs can get more useful attributes.
Hariprasad Kelam [Wed, 22 May 2019 17:05:30 +0000 (22:35 +0530)]
staging: unisys: visornic: Replace GFP_ATOMIC with GFP_KERNEL
As per below information
GFP_KERNEL FLAG
This is a normal allocation and might block. This is the flag to use in
process context code when it is safe to sleep.
GFP_ATOMIC FLAG
The allocation is high-priority and does not sleep. This is the flag to
use in interrupt handlers, bottom halves and other situations where you
cannot sleep
And we can take advantage of GFP_KERNEL , as when system is in low
memory chances of getting success is high compared to GFP_ATOMIC.
As visornic_probe is in process context we can use GPF_KERNEL.
Geordan Neukum [Wed, 22 May 2019 12:14:02 +0000 (12:14 +0000)]
staging: kpc2000: kpc_i2c: add static qual to local symbols in kpc_i2c.c
kpc_i2c.c declares:
- two functions
- pi2c_probe()
- pi2c_remove()
- one struct
- i2c_plat_driver_i
which are local to the file, yet missing the static qualifier. Add the
static qualifier to these symbols.
Geordan Neukum [Wed, 22 May 2019 12:14:01 +0000 (12:14 +0000)]
staging: kpc2000: kpc_i2c: Remove unnecessary function tracing prints
Many of the functions in kpc_i2c log debug-level messages to the
kernel log message buffer upon invocation. This is unnecessary, as
debugging tools like kgdb, kdb, etc. or the tracing tool ftrace
should be able to provide this same information. Therefore, remove
these print statements.
Geordan Neukum [Wed, 22 May 2019 12:13:59 +0000 (12:13 +0000)]
staging: kpc2000: kpc_i2c: newline fixups to meet linux style guide
The linux coding style document states:
1) That braces should not be used where a single single statement
will do. Therefore all instances of single block statements
wrapped in braces that do not meet the qualifications of any
of the exceptions to the rule should be fixed up.
2) That the declaration of variables local to a given function
should be immediately followed by a blank newline. Therefore,
the single instance of this in kpc2000_i2c.c should be fixed
up.
staging: rtl8192u: Remove an unnecessary NULL check
Clang warns:
drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c:2663:47: warning:
address of array 'param->u.wpa_ie.data' will always evaluate to 'true'
[-Wpointer-bool-conversion]
(param->u.wpa_ie.len && !param->u.wpa_ie.data))
~~~~~~~~~~~~~~~~~^~~~
This was exposed by commit deabe03523a7 ("Staging: rtl8192u: ieee80211:
Use !x in place of NULL comparisons") because we disable the warning
that would have pointed out the comparison against NULL is also false:
drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c:2663:46: warning:
comparison of array 'param->u.wpa_ie.data' equal to a null pointer is
always false [-Wtautological-pointer-compare]
(param->u.wpa_ie.len && param->u.wpa_ie.data == NULL))
~~~~~~~~~~~~~~~~^~~~ ~~~~
Jeremy Sowden [Tue, 21 May 2019 10:35:24 +0000 (11:35 +0100)]
staging: kpc2000: removed superfluous NULL checks from device attribute call-backs.
All the attribute show call-backs check whether pcard is NULL. However,
pci_set_drvdata(pdev, pcard) is called before the sysfs files are
created during probe, and pci_set_drvdata(pdev, NULL) is not called
until after they are destroyed during remove; therefore, pcard will not
be NULL, and we can drop the checks.
Signed-off-by: Jeremy Sowden <jeremy@azazel.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Since to_pci_dev is a wrapper for container_of, it will not return NULL,
and since pci_get_drvdata just calls dev_get_drvdata on the dev member
of pdev, this is equivalent to:
Jeremy Sowden [Tue, 21 May 2019 10:35:22 +0000 (11:35 +0100)]
staging: kpc2000: use IDA to assign card numbers.
Previously the next card number was assigned from a static int local
variable. Replaced it with an IDA. Avoids the assignment of ever-
increasing card-numbers by allowing them to be reused.
Updated TODO.
Corrected format-specifier for unsigned pcard->card_num.
Signed-off-by: Jeremy Sowden <jeremy@azazel.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jeremy Sowden [Tue, 21 May 2019 10:35:21 +0000 (11:35 +0100)]
staging: kpc2000: added separate show functions for readable kp device attributes, defined them as read-only, and declared them static.
Defined separate simple show functions for each attribute instead of
having a one big one containing a chain of conditionals.
Replaced calls to scnprintf with sprintf since all the outputs are
single integers.
All the readable device attributes are read-only, so used DEVICE_ATTR_RO
to define them.
The definitions are only used to populate the kp_attr_list attribute
array, so declared them as static.
Fixes the following sparse warnings:
drivers/staging/kpc2000/kpc2000/core.c:152:1: warning: symbol 'dev_attr_ssid' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/core.c:153:1: warning: symbol 'dev_attr_ddna' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/core.c:154:1: warning: symbol 'dev_attr_card_id' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/core.c:155:1: warning: symbol 'dev_attr_hw_rev' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/core.c:156:1: warning: symbol 'dev_attr_build' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/core.c:157:1: warning: symbol 'dev_attr_build_date' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/core.c:158:1: warning: symbol 'dev_attr_build_time' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/core.c:159:1: warning: symbol 'dev_attr_cpld_reg' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/core.c:161:1: warning: symbol 'dev_attr_cpld_reconfigure' was not declared. Should it be static?
Signed-off-by: Jeremy Sowden <jeremy@azazel.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jeremy Sowden [Tue, 21 May 2019 10:35:19 +0000 (11:35 +0100)]
staging: kpc2000: improved formatting of core.c.
* Indented with tabs.
* Broke lines over 80 columns where possible.
* Removed braces from one-statement blocks.
* Tidied up some comments.
* Removed multiple blank lines.
Signed-off-by: Jeremy Sowden <jeremy@azazel.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reported-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Colin Ian King [Tue, 21 May 2019 13:17:06 +0000 (14:17 +0100)]
staging: wilc1000: remove redundant masking of pkt_offset
The masking update of pkg_offset is redundant as the updated
value is never read and pkg_offset is re-assigned on the next
iteration of the loop. Clean this up by removing the redundant
assignment.
Addresses-Coverity: ("Unused value") Signed-off-by: Colin Ian King <colin.king@canonical.com> Reviewed-by: Adham Abozaeid <adham.abozaeid@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The arcx-anybus's registers are accessed via a memory-mapped
IO region. A regmap associated with this region is created
using custom reg_read() / reg_write() callbacks.
However, an abstraction which creates a memory-mapped IO
region backed regmap already exists: devm_regmap_init_mmio().
Replace the custom regmap with the existing kernel abstraction.
As a pleasant side-effect, sparse warnings now disappear.
Signed-off-by: Sven Van Asbroeck <TheSven73@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jeremy Sowden [Tue, 21 May 2019 07:56:28 +0000 (08:56 +0100)]
staging: kpc2000: added separate show functions for kpc_uio_class device attributes, defined them as read-only and declared them static.
Defined separate simple show functions for each attribute instead of
having a one big one containing a chain of conditionals.
Replaced scnprintf calls with sprintf since all the outputs are short
bounded strings or single integers.
All of the device attributes are read-only, so used DEVICE_ATTR_RO to
define them.
The definitions are only used to populate the kpc_uio_class_attrs
attribute array, so declared them as static.
Fixes the following sparse warnings:
drivers/staging/kpc2000/kpc2000/cell_probe.c:220:1: warning: symbol 'dev_attr_offset' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/cell_probe.c:221:1: warning: symbol 'dev_attr_size' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/cell_probe.c:222:1: warning: symbol 'dev_attr_type' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/cell_probe.c:223:1: warning: symbol 'dev_attr_s2c_dma' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/cell_probe.c:224:1: warning: symbol 'dev_attr_c2s_dma' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/cell_probe.c:225:1: warning: symbol 'dev_attr_irq_count' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/cell_probe.c:226:1: warning: symbol 'dev_attr_irq_base_num' was not declared. Should it be static?
drivers/staging/kpc2000/kpc2000/cell_probe.c:227:1: warning: symbol 'dev_attr_core_num' was not declared. Should it be static?
Signed-off-by: Jeremy Sowden <jeremy@azazel.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: vt6656: clean error path for firmware management
Avoid discarding return value of functions called during firmware
management process. Handle such return value and return 0 on success or
a negative errno value on error.
staging: vt6656: avoid discarding called function's return code
Change some of the driver's functions in order to handle error codes
instead of discarding them. These function now returns 0 on success and
a negative errno value on error.
vnt_free_tx_bufs() relies on priv->tx_context elements to be NULL if
they are not initialized (as vnt_free_rx_bufs() does). Add a check to
these elements in order to avoid NULL pointer dereference.
staging: kpc2000: move the i2c driver out of its subdirectory
There is no need for a subdirectory for just a single .c file. So move
it out of kpc_i2c/ and rename it to the module name that we want the
file to build to, saving one more linking stage.
Cc: Matt Sickler <Matt.Sickler@daktronics.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: kpc2000: move the spi driver out of its subdirectory
There is no need for a subdirectory for just a single .c file. So move
it out of kpc_spi/ and rename it to the module name that we want the
file to build to, saving one more linking stage.
Cc: Matt Sickler <Matt.Sickler@daktronics.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The fileops.c file does not need to be stand-alone, so move it into the
core.c file. This lets us make some functions static, reducing the
global namespace of the driver.
Cc: Matt Sickler <Matt.Sickler@daktronics.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Geordan Neukum [Sat, 18 May 2019 02:30:00 +0000 (02:30 +0000)]
staging: kpc2000: kpc_i2c: fixup block comment style in i2c_driver.c
Throughout i2c_driver.c, there are numerous deviations from the two
standards of:
- placing a '*' at the beginning of every line containing a
block comment.
- placing the closing comment marker '*/' on a new line.
Instead, use a block comment style that is more consistent with the
prescribed guidelines.
Geordan Neukum [Sat, 18 May 2019 02:29:59 +0000 (02:29 +0000)]
staging: kpc2000: kpc_i2c: use %s with __func__ identifier in log messages
Throughout i2c_driver.c, there are instances where the log strings
contain the function's name hardcoded into the string. Instead, use the
printk conversion specifier '%s' with the __func__ preprocessor
identifier to more maintainably print the function's name.
Geordan Neukum [Sat, 18 May 2019 02:29:58 +0000 (02:29 +0000)]
staging: kpc2000: kpc_i2c: prevent memory leak in probe() error case
The probe() function performs a kzalloc to dynamically allocate memory
at runtime. If the allocation succeeds, yet invoking the function
i2c_add_adapter fails, the dynamically allocated memory is never freed.
Change the allocation to use the managed allocation API instead and
remove the manual freeing of the memory in the remove() function.
Geordan Neukum [Sat, 18 May 2019 02:29:57 +0000 (02:29 +0000)]
staging: kpc2000: kpc_i2c: reformat copyright for better readability
The copyright header in i2c_driver.c is difficult to read and not
chronologically ordered. Reformat and reorganize the copyright header
to be similar to other drivers in the i2c subsystem.
The kp200_module.c does not need to be stand-alone, so move it into the
core.c file. This lets us make some functions static, reducing the
global namespace of the driver.
Cc: Matt Sickler <Matt.Sickler@daktronics.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jeeeun Evans [Fri, 17 May 2019 17:14:48 +0000 (18:14 +0100)]
staging: rtl8723bs: Fix boolinit.cocci warnings
This patch removes unnecessary comparisons to bool.
Issue found by coccinelle:
drivers/staging/rtl8723bs/core/rtw_ap.c:2159:5-11: WARNING: Comparison to bool
drivers/staging/rtl8723bs/core/rtw_cmd.c:1741:7-17: WARNING: Comparison to bool
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c:360:5-15: WARNING: Comparison to bool
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c:360:28-39: WARNING: Comparison to bool
drivers/staging/rtl8723bs/core/rtw_mlme.c:1675:6-10: WARNING: Comparison to bool
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c:6766:8-21: WARNING: Comparison to bool
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c:181:5-40: WARNING: Comparison to bool
drivers/staging/rtl8723bs/core/rtw_wlan_util.c:748:14-42: WARNING: Comparison to bool
drivers/staging/rtl8723bs/core/rtw_xmit.c:2429:15-47: WARNING: Comparison to bool
drivers/staging/rtl8723bs/core/rtw_xmit.c:2458:7-17: WARNING: Comparison to bool
drivers/staging/rtl8723bs/core/rtw_xmit.c:2524:8-18: WARNING: Comparison to bool
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:1653:13-36: WARNING: Comparison to bool
Fix the warning issued by checkpatch
Prefer kernel type 'u32' over 'uint32_t'.
Along with that include a blank line after a declaration
to maintain Linux kernel coding style.
Minor features and improvements
* ad5758
- declare an of_device_id table rather than just relying on the spi
fallback which doesn't use the manufacturer id.
- drop a set but not used variable left from previous refactor.
* ad7816
- Add a bit more description to kconfig text.
* ad9523
- change calculation order to improve frequency accuracy.
* adxl372
- declare an of_device_id table
* adt7316
- white space.
* at91_adc
- Use dev_get_drvdata directly rather than boucing to the platform device
and back again.
* cros_ec
- add an id sysfs entry to bring in line with the other implementations.
* ds5522
- drop a check on the of_node existing as we don't actually use it for
anything.
* kxsd9
- declare an of_device_id table.
* maxim_thermocouple
- declare an of_device_id table.
* mt6577
- add dt binding entry for mt8183 which is also supported.
* rcar-gyroadc
- tidy up unnecessary error messages.
* stm32-dfsdm
- improved error handling.
* stmpe-adc
- drop an unnecessary variable assignment.
- add an of_device_id table.
- reinit completion on begin converstion to avoid a path in which
previous round had been interrupted, also switch to non interruptible
wait to avoid an issue with a user program using -pg
- simplify interrupt handling by just having them always enabled.
- reset all interrupts on startup and in the timeout handler to
avoid getting stuck.
* sun4i-gpadc
- SPDX
* tag 'iio-for-5.3a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (28 commits)
iio: adc: mediatek: mt6577-auxadc, add mt6765 support
dt-bindings: iio: adc: mediatek: Add document for mt6765
dt-bindings: iio: accel: adxl345: switch to YAML bindings
iio: adc: sun4i-gpadc-iio convert to SPDX license tags
iio: ad9523-1: Improve reported VCO frequency accuracy
iio: dac: ds4422/ds4424 drop of_node check
iio: stmpe-adc: Reset possible interrupts
iio: stmpe-adc: Use wait_for_completion_timeout
iio: stmpe-adc: Enable all stmpe-adc interrupts just once
iio: stmpe-adc: Reinit completion struct on begin conversion
iio: stmpe-adc: Add compatible name
iio: stmpe-adc: Remove unnecessary assignment
staging: iio: adc: Add paragraph to describe Kconfig symbol
staging: iio: adt7316: match parenthesis alignment
iio: adc: rcar-gyroadc: Remove devm_iio_device_alloc() error printing
dt-bindings: iio: isl29018: convert bindings to YAML format
dt-bindings: adc: mt8183: add binding document
iio: dac: ad5758: remove set but not used variable 'dc_dc_mode'
iio: cros_ec: add 'id' sysfs entry
iio: adc: stm32-dfsdm: missing error case during probe
...
Hariprasad Kelam [Wed, 15 May 2019 17:08:46 +0000 (22:38 +0530)]
staging: rtl8723bs: core: rtw_recv: fix warning Unneeded variable ret
fix below warning reported by coccicheck
drivers/staging/rtl8723bs/core/rtw_recv.c:1903:5-8: Unneeded variable:
"ret". Return "_SUCCESS" on line 1972
drivers/staging/rtl8723bs/core/rtw_recv.c:1618:6-9: Unneeded variable:
"ret". Return "_SUCCESS" on line 1705
The killable version of wait_event() is meant to be used on situations
where it should not fail at all costs, but still have the convenience of
being able to kill it if really necessary. Wait events in VCHIQ doesn't
fit this criteria, as it's mainly used as an interface to V4L2 and ALSA
devices.
Fixes: 852b2876a8a8 ("staging: vchiq: rework remove_event handling") Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> Acked-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: vchiq: revert "switch to wait_for_completion_killable"
The killable version of wait_for_completion() is meant to be used on
situations where it should not fail at all costs, but still have the
convenience of being able to kill it if really necessary. VCHIQ doesn't
fit this criteria, as it's mainly used as an interface to V4L2 and ALSA
devices.
Fixes: a772f116702e ("staging: vchiq: switch to wait_for_completion_killable") Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> Acked-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: vchiq_2835_arm: revert "quit using custom down_interruptible()"
The killable version of down() is meant to be used on situations where
it should not fail at all costs, but still have the convenience of being
able to kill it if really necessary. VCHIQ doesn't fit this criteria, as
it's mainly used as an interface to V4L2 and ALSA devices.
Fixes: ff5979ad8636 ("staging: vchiq_2835_arm: quit using custom down_interruptible()") Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> Acked-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>