aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-08-15iio: ltc2983: fix device probeNuno Sá
There is no reason to assume that the IRQ rising edge (indicating that the device start up phase is done) will happen after we request the IRQ. If the device is already up by the time we request it, the call to 'wait_for_completion_timeout()' will timeout and we will fail the device probe even though there's nothing wrong. Fix it by just polling the status register until we get the indication that the device is up and running. As a side effect of this fix, requesting the IRQ is also moved to after the setup function. Fixes: f110f3188e563 ("iio: temperature: Add support for LTC2983") Reported-and-tested-by: Drew Fustini <drew@pdp7.com> Reviewed-by: Drew Fustini <drew@pdp7.com> Signed-off-by: Nuno Sá <nuno.sa@analog.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: <Stable@vger.kernel.org> Link: https://lore.kernel.org/r/20210811133220.190264-2-nuno.sa@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2021-08-15iio: potentiometer: Add driver support for AD5110Mugilraj Dhavachelvan
The AD5110/AD5112/AD5114 provide a nonvolatile solution for 128-/64-/32-position adjustment applications, offering guaranteed low resistor tolerance errors of ±8% and up to ±6 mA current density. Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/AD5110_5112_5114.pdf Signed-off-by: Mugilraj Dhavachelvan <dmugil2000@gmail.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Link: https://lore.kernel.org/r/20210814175607.48399-3-dmugil2000@gmail.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2021-08-15dt-bindings: iio: potentiometer: Add AD5110 in trivial-devicesMugilraj Dhavachelvan
Add AD5110, a Nonvolatile Digital Potentiometer into trivial-devices.yaml. Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Mugilraj Dhavachelvan <dmugil2000@gmail.com> Link: https://lore.kernel.org/r/20210814175607.48399-2-dmugil2000@gmail.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2021-08-15Merge tag 'iio-for-5.15a' of ↵Greg Kroah-Hartman
https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: First set of new IIO and counter device support, cleanups and features for 5.15 Usual mix of cleanups and new device support. Counter ====== Cleanups and refactoring: * treewide - Ensure attempts to set invalid modes result in -EINVAL return. - Rename counter_count_function to counter_function as the middle count is redundant. - Standardize error returns when limits are exceeded. * 104-quad: - Document the lock. - Return an error if attempt to set the ceiling value in a mode that doesn't support it. * intel-qep - Drop unused bitops.h include IIO === New device support * bma255 - Add support fo the bosch,bmc156_accel which oddly only exposes the INT2 interrupt pin and not INT1. Patch set includes enabling use of INT2. * ingenic_adc - Add support for JZ4760 and similar and update bindings - Add support for JZ4760B and update bindings * rockchip_saradc - Add support for rk3568 ADC (separate channel array as more channels) * sgp40 gas sensor used to measure air quality - New driver including binding and ABI documentation. Bindings -------- * Add missing bindings for many DACs where the binding was effectively implicit due to fallback probe methods in I2C and SPI. adi,ad5064 adi,ad5360 adi,ad5380 adi,ad5421 adi,ad5449 adi,ad5504 adi,ad5624r adi,ad5686 / adi,ad5696 adi,ad5761 adi,ad5764 adi,ad5791 adi,ad8801 capella,cm3323 (also add explicit of_device_id table) microchip,mcp4922 * bosch,bma255 - Interrupt type in example was opposite of what the device expects. It's possible that a particular board had an inverter, but we definitely don't want the example to suggest this would be normal. - Add interrupt-names to allow for cases where only INT2 is connected. - Sort compatibles - Merge in very similar bosch,bma180 binding. New feature ----------- * Devices only allowed to provide either extended_name or a label for given channel. If extend_name is used (generally discouraged but can't be removed as it would be a userspaece ABI change), then the label sysfs attribute will provide the extended_name. This allows some userspace parser simplications and hardening. * hid-sensors-pres - Add a timestamp channel (either from hardware, or locally filled). * vcnl3020 - Add periodic sensor mode used to provide IIO events. Cleanups / minor fixes ---------------------- * core/buffers - Avoid unnecessary zeroing of bitmaps that are immediately overwritten. - Move a sanity check earlier to simplify error path. * Quite a few cases of refactors to use devm_* for all of probe and drop remove - adjd_s311 - adxl345 - bma220 - da280 - dmard10 - ds311 - max5481 - max5821 - rfd77402 - tcs3414 - tmp006 * ad5624r - Fix incorrect handling of a regulator that was preventing use of internal regulators. * adjd_s311 - Allocate a buffer as part of iio_priv() structure as maximum size is small enough, no significant advantage in making it flexible sized. * bma220 - Make handling of suspend and resume closer to the probe() wrt to the rather odd interface, that suspend mode is entered by reading a register. * ep93xx - Prepare clock before using (part of conversion to CCF) * fsl-imx25-gcq - Use local device pointer. - Adjust handling of platform_get_irq() to not check for 0 as an error. The function is documented as never returning it. * hid-sensors - Use devm_kmemdup() consistently across all drivers to simplify channel structure allocation management. * meson-saradc - Drop BL30 integration on G12A and newer SoCs as not used. - Whitespace fixes. * mpu6050 - Add per device type startup times. This avoids an issue with having to dsicard initial data from gyroscopes when they were still stabilizing. * rfd77402 - Change from passing private data, to passing i2c_client where only that is needed, reducing back and forth in pm functions. * si1145 - Drop pointless continue * st-sensors - Cleanup of includes to remove unused and add missing headers that are used. - Use some devm functions to simplify probe() and remove() - gets us part way towards a fully device managed driver. * sx9310 - Switch from of to generic properties to enable ACPI bindings. * vcnl3020 - Add DMA safe buffer for bulk transfers. - Drop use of iio_claim_direct() in a driver that has no mode changes. A local lock is more appropriate. * tag 'iio-for-5.15a' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (77 commits) counter: 104-quad-8: Describe member 'lock' in 'quad8' iio: hid-sensor-press: Add timestamp channel counter: Rename counter_count_function to counter_function counter: Rename counter_signal_value to counter_signal_level counter: Standardize to ERANGE for limit exceeded errors counter: Return error code on invalid modes counter: 104-quad-8: Return error when invalid mode during ceiling_write iio: accel: bmc150: Add support for BMC156 iio: accel: bmc150: Make it possible to configure INT2 instead of INT1 dt-bindings: iio: accel: bma255: Add bosch,bmc156_accel dt-bindings: iio: accel: bma255: Add interrupt-names iio: light: cm3323: Add of_device_id table dt-bindings: Add bindings for Capella cm3323 Ambient Light Sensor iio: chemical: Add driver support for sgp40 dt-bindings: iio: chemical: Add trivial DT binding for sgp40 iio: ep93xx: Prepare clock before using it iio: adc: fsl-imx25-gcq: adjust irq check to match docs and simplify code iio: dac: max5821: convert device register to device managed function dt-bindings: iio/adc: ingenic: add the JZ4760(B) socs to the sadc Documentation iio/adc: ingenic: add JZ4760B support to the sadc driver ...
2021-08-13staging: r8188eu: Reorganize error handling in rtw_drv_init()Nathan Chancellor
After commit 987219ad34a6 ("staging: r8188eu: remove lines from Makefile that silence build warnings"), clang warns: drivers/staging/r8188eu/os_dep/usb_intf.c:726:6: warning: variable 'status' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (!if1) { ^~~~ drivers/staging/r8188eu/os_dep/usb_intf.c:741:6: note: uninitialized use occurs here if (status != _SUCCESS) ^~~~~~ drivers/staging/r8188eu/os_dep/usb_intf.c:726:2: note: remove the 'if' if its condition is always false if (!if1) { ^~~~~~~~~~~ drivers/staging/r8188eu/os_dep/usb_intf.c:714:12: note: initialize the variable 'status' to silence this warning int status; ^ = 0 1 warning generated. status is not initialized if the call to usb_dvobj_init() or rtw_usb_if1_init() fails. Looking at the error function as a whole, the error handling is odd compared to the rest of the kernel, which prefers to set error codes on goto paths, rather than a global "status" variable which determines the error code at the end of the function and function calls in the case of error. Rearrange the error handling of this function to bring it more inline with how the kernel does it in most cases, which helps readability. The call to rtw_usb_if1_deinit() is eliminated because it is not possible to ever hit it; if rtw_usb_if1_init() fails, the goto call jumps over the call to rtw_usb_if1_deinit() and in the success case, status is set to _SUCCESS. Acked-by: Phillip Potter <phil@philpotter.co.uk> Acked-by: Fabio M. De Francesco <fmdefrancesco@gmail.com> Signed-off-by: Nathan Chancellor <nathan@kernel.org> Link: https://lore.kernel.org/r/20210812204027.338872-4-nathan@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-13staging: r8188eu: Remove uninitialized use of ether_type in portctrl()Nathan Chancellor
After commit 987219ad34a6 ("staging: r8188eu: remove lines from Makefile that silence build warnings"), clang warns: drivers/staging/r8188eu/core/rtw_recv.c:499:8: warning: variable 'ether_type' is uninitialized when used here [-Wuninitialized] if (ether_type == eapol_type) ^~~~~~~~~~ drivers/staging/r8188eu/core/rtw_recv.c:458:16: note: initialize the variable 'ether_type' to silence this warning u16 ether_type; ^ = 0 1 warning generated. This if statement sets the exact same assignment as above so just remove it. Acked-by: Phillip Potter <phil@philpotter.co.uk> Signed-off-by: Nathan Chancellor <nathan@kernel.org> Link: https://lore.kernel.org/r/20210812204027.338872-3-nathan@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-13staging: r8188eu: Remove unused static inline functions in rtw_recv.hNathan Chancellor
After commit 987219ad34a6 ("staging: r8188eu: remove lines from Makefile that silence build warnings"), clang warns several times: In file included from drivers/staging/r8188eu/os_dep/../include/drv_types.h:22: drivers/staging/r8188eu/os_dep/../include/rtw_recv.h:395:9: warning: variable 'buf_desc' is uninitialized when used here [-Wuninitialized] return buf_desc; ^~~~~~~~ drivers/staging/r8188eu/os_dep/../include/rtw_recv.h:391:25: note: initialize the variable 'buf_desc' to silence this warning unsigned char *buf_desc; ^ = NULL drivers/staging/r8188eu/os_dep/../include/rtw_recv.h:412:52: warning: variable 'buf_star' is uninitialized when used here [-Wuninitialized] precv_frame = rxmem_to_recvframe((unsigned char *)buf_star); ^~~~~~~~ drivers/staging/r8188eu/os_dep/../include/rtw_recv.h:410:14: note: initialize the variable 'buf_star' to silence this warning u8 *buf_star; ^ = NULL 2 warnings generated. The functions that these warnings come from are not used or are called from functions that are not used so just remove them to remove the warnings. Acked-by: Phillip Potter <phil@philpotter.co.uk> Signed-off-by: Nathan Chancellor <nathan@kernel.org> Link: https://lore.kernel.org/r/20210812204027.338872-2-nathan@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-13staging: r8188eu: replace custom hwaddr_aton_i() with mac_pton()Michael Straube
Replace custom hwaddr_aton_i() with mac_pton() in core/ioctl_linux.c and remove the now unused functions hwaddr_aton_i() and hex2num_i(). Acked-by: Phillip Potter <phil@philpotter.co.uk> Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210812132057.22579-1-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-12staging: r8188eu: scheduling in atomic in rtw_createbss_cmd()Dan Carpenter
A couple of the callers are holding spinlocks so this allocation has to be atomic. One spinlock is in rtw_set_802_11_connect() but the simpler spinlock to review is when this function is called from rtw_surveydone_event_callback(). Fixes: 15865124feed ("staging: r8188eu: introduce new core dir for RTL8188eu driver") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Link: https://lore.kernel.org/r/20210812065852.GB31863@kili Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-12staging: r8188eu: Fix a couple scheduling in atomic bugsDan Carpenter
These allocations are sometimes done while holding a spin_lock so they have to be atomic. The call tree looks like this: -> rtw_set_802_11_connect() <- takes a spin_lock -> rtw_do_join() -> rtw_sitesurvey_cmd() <-- does a GFP_ATOMIC allocation -> p2p_ps_wk_cmd() Fixes: 15865124feed ("staging: r8188eu: introduce new core dir for RTL8188eu driver") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Link: https://lore.kernel.org/r/20210812065710.GA31863@kili Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-12staging: r8188eu: Fix smatch warnings in os_dep/*.cLarry Finger
Smatch shows the following: drivers/staging/r8188eu/os_dep/ioctl_linux.c:1478 rtw_wx_set_essid() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:1479 rtw_wx_set_essid() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:1481 rtw_wx_set_essid() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:1555 rtw_wx_set_rate() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:2596 rtw_wps_start() warn: variable dereferenced before check 'pdata' (see line 2590) drivers/staging/r8188eu/os_dep/ioctl_linux.c:2790 rtw_p2p_profilefound() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:4846 rtw_set_encryption() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:5628 rtw_mp_efuse_get() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:7251 rtw_mp_set() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:7255 rtw_mp_set() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:7310 rtw_mp_get() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:7345 rtw_mp_get() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:7349 rtw_mp_get() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/mlme_linux.c:106 rtw_os_indicate_disconnect() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/os_intfs.c:1118 ips_netdrv_open() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/osdep_service.c:37 rtw_atoi() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/recv_linux.c:65 rtw_os_recvbuf_resource_free() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/usb_intf.c:338 rtw_hw_suspend() warn: variable dereferenced before check 'padapter' (see line 327) drivers/staging/r8188eu/os_dep/usb_intf.c:381 rtw_hw_suspend() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/usb_intf.c:394 rtw_hw_resume() warn: variable dereferenced before check 'padapter' (see line 391) drivers/staging/r8188eu/os_dep/usb_intf.c:506 rtw_resume() warn: inconsistent indenting Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Link: https://lore.kernel.org/r/20210812015232.23784-4-Larry.Finger@lwfinger.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-12staging: r8188eu: Fix smatch problems in hal/*.cLarry Finger
Smatch detects the folloring: drivers/staging/r8188eu/hal/HalHWImg8188E_RF.c:199 ODM_ReadAndConfig_RadioA_1T_8188E() warn: inconsistent indenting drivers/staging/r8188eu/hal/HalPwrSeqCmd.c:65 HalPwrSeqCmdParsing() warn: inconsistent indenting drivers/staging/r8188eu/hal/odm.c:225 ODM_DMWatchdog() warn: inconsistent indenting drivers/staging/r8188eu/hal/odm.c:485 ODM_Write_DIG() warn: inconsistent indenting drivers/staging/r8188eu/hal/odm.c:485 ODM_Write_DIG() warn: if statement not indented drivers/staging/r8188eu/hal/odm.c:491 ODM_Write_DIG() warn: if statement not indented drivers/staging/r8188eu/hal/odm.c:493 ODM_Write_DIG() warn: inconsistent indenting drivers/staging/r8188eu/hal/odm.c:496 ODM_Write_DIG() warn: if statement not indented drivers/staging/r8188eu/hal/odm.c:498 ODM_Write_DIG() warn: inconsistent indenting drivers/staging/r8188eu/hal/odm.c:501 ODM_Write_DIG() warn: if statement not indented drivers/staging/r8188eu/hal/odm.c:551 odm_DIGbyRSSI_LPS() warn: inconsistent indenting drivers/staging/r8188eu/hal/Hal8188ERateAdaptive.c:360 odm_ARFBRefresh_8188E() warn: inconsistent indenting drivers/staging/r8188eu/hal/odm_HWConfig.c:268 odm_RxPhyStatus92CSeries_Parsing() warn: inconsistent indenting drivers/staging/r8188eu/hal/rtl8188e_hal_init.c:726 hal_EfusePowerSwitch_RTL8188E() warn: inconsistent indenting drivers/staging/r8188eu/hal/rtl8188e_mp.c:60 Hal_mpt_SwitchRfSetting() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:547 wpa_set_encryption() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:1478 rtw_wx_set_essid() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:1479 rtw_wx_set_essid() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:1481 rtw_wx_set_essid() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:1555 rtw_wx_set_rate() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:2596 rtw_wps_start() warn: variable dereferenced before check 'pdata' (see line 2590) drivers/staging/r8188eu/os_dep/ioctl_linux.c:2790 rtw_p2p_profilefound() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:4846 rtw_set_encryption() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:5628 rtw_mp_efuse_get() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:7055 rtw_mp_thermal() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:7251 rtw_mp_set() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:7255 rtw_mp_set() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:7310 rtw_mp_get() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:7345 rtw_mp_get() warn: inconsistent indenting drivers/staging/r8188eu/os_dep/ioctl_linux.c:7349 rtw_mp_get() warn: inconsistent indenting drivers/staging/r8188eu/hal/usb_halinit.c:856 rtl8188eu_hal_init() warn: inconsistent indenting drivers/staging/r8188eu/hal/usb_halinit.c:859 rtl8188eu_hal_init() warn: inconsistent indenting drivers/staging/r8188eu/hal/usb_halinit.c:862 rtl8188eu_hal_init() warn: inconsistent indenting drivers/staging/r8188eu/hal/usb_halinit.c:887 rtl8188eu_hal_init() warn: inconsistent indenting drivers/staging/r8188eu/hal/usb_halinit.c:915 rtl8188eu_hal_init() warn: inconsistent indenting drivers/staging/r8188eu/hal/usb_halinit.c:925 rtl8188eu_hal_init() warn: inconsistent indenting drivers/staging/r8188eu/hal/usb_halinit.c:929 rtl8188eu_hal_init() warn: inconsistent indenting drivers/staging/r8188eu/hal/usb_ops_linux.c:263 usb_writeN() warn: inconsistent indenting drivers/staging/r8188eu/hal/usb_ops_linux.c:568 usb_read_port() warn: inconsistent indenting ` Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> drivers/staging/r8188eu/hal/usb_halinit.c:1887:17: warning: mixing declarations and code drivers/staging/r8188eu/hal/usb_ops_linux.c:519:25: error: typename in expression Link: https://lore.kernel.org/r/20210812015232.23784-3-Larry.Finger@lwfinger.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-12staging: r8188eu: Fix Smatch warnings for core/*.cLarry Finger
Smatch reports the following problems: drivers/staging/r8188eu/core/rtw_br_ext.c:655 nat25_db_handle() warn: if statement not indented drivers/staging/r8188eu/core/rtw_cmd.c:436 rtw_sitesurvey_cmd() warn: if statement not indented drivers/staging/r8188eu/core/rtw_cmd.c:450 rtw_sitesurvey_cmd() warn: if statement not indented drivers/staging/r8188eu/core/rtw_led.c:330 SwLedBlink2() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_led.c:359 SwLedBlink2() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_led.c:538 SwLedBlink4() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_led.c:567 SwLedBlink4() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_led.c:685 SwLedBlink5() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_led.c:771 SwLedControlMode1() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_led.c:819 SwLedControlMode1() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_led.c:845 SwLedControlMode1() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_led.c:1574 LedControl8188eu() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_mlme.c:420 is_same_network() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_mlme.c:986 rtw_joinbss_update_stainfo() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_mlme.c:1162 rtw_joinbss_event_prehandle() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_mlme.c:1858 rtw_restruct_sec_ie() error: uninitialized symbol 'authmode'. drivers/staging/r8188eu/core/rtw_mlme.c:1869 rtw_restruct_sec_ie() error: uninitialized symbol 'authmode'. drivers/staging/r8188eu/core/rtw_mlme_ext.c:401 _mgt_dispatcher() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_mlme_ext.c:3210 is_matched_in_profilelist() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_mlme_ext.c:4351 dump_mgntframe_and_wait() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_mlme_ext.c:4374 dump_mgntframe_and_wait_ack() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_mlme_ext.c:7378 _linked_rx_signal_strehgth_display() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_mp.c:694 SetPacketTx() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_mp.c:900 _rtw_mp_xmit_priv() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_p2p.c:1130 process_p2p_group_negotation_req() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_recv.c:188 rtw_free_recvframe() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_recv.c:499 portctrl() error: uninitialized symbol 'ether_type'. drivers/staging/r8188eu/core/rtw_recv.c:507 portctrl() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_recv.c:722 sta2sta_data_frame() warn: if statement not indented drivers/staging/r8188eu/core/rtw_recv.c:1601 amsdu_to_msdu() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_security.c:283 rtw_seccalctkipmic() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_security.c:1116 aes_cipher() warn: for statement not indented drivers/staging/r8188eu/core/rtw_security.c:1213 rtw_aes_encrypt() warn: inconsistent indenting rivers/staging/r8188eu/core/rtw_sta_mgt.c:18 _rtw_init_stainfo() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_sta_mgt.c:475 rtw_get_bcmc_stainfo() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_wlan_util.c:65 cckratesonly_included() warn: if statement not indented drivers/staging/r8188eu/core/rtw_wlan_util.c:1150 should_forbid_n_rate() warn: if statement not indented drivers/staging/r8188eu/core/rtw_wlan_util.c:1401 check_assoc_AP() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_wlan_util.c:1403 check_assoc_AP() warn: inconsistent indenting drivers/staging/r8188eu/core/rtw_xmit.c:805 rtw_make_wlanhdr() warn: if statement not indented drivers/staging/r8188eu/core/rtw_xmit.c:1691 rtw_br_client_tx() warn: inconsistent indenting drivers/staging/r8188eu/hal/HalHWImg8188E_RF.c:199 ODM_ReadAndConfig_RadioA_1T_8188E() warn: inconsistent indenting Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Link: https://lore.kernel.org/r/20210812015232.23784-2-Larry.Finger@lwfinger.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-12staging: r8188eu: Remove no more necessary definitions and codeFabio M. De Francesco
Remove no more necessary further 5GHz related code, along with no more used definitions of macro and variables. Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com> Link: https://lore.kernel.org/r/20210812002519.23678-4-fmdefrancesco@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-12staging: r8188eu: Remove code related to unsupported channelsFabio M. De Francesco
Remove all code related to unsupported channel bandwidths. rtl8188eu* NICs work only on 20 and 40 Mhz channels. Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com> Link: https://lore.kernel.org/r/20210812002519.23678-3-fmdefrancesco@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-12staging: r8188eu: Remove all 5GHz network typesFabio M. De Francesco
Remove all 5Ghz network types. r8188eu works on 802.11bgn standards and on 2.4Ghz band. Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com> Link: https://lore.kernel.org/r/20210812002519.23678-2-fmdefrancesco@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-12staging: r8188eu: remove CONFIG_USB_HCI from MakefileMartin Kaiser
We already depend on USB. There's no need to set CONFIG_USB_HCI in the Makefile. Some other Realtek drivers use #ifdef CONFIG_USB_HCI in their code, the r8188 driver doesn't. Acked-by: Phillip Potter <phil@philpotter.co.uk> Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20210811201450.31366-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-12staging: r8188eu: use proper way to build a moduleMartin Kaiser
It seems that for now, we can only build this driver as a module. Use the same mechanism as other drivers (such as rtl8723bs or the deprecated rtl8188eu) to enforce building as a module, i.e. depend on m in Kconfig instead of setting CONFIG_R8188EU = m in the Makefile. If we set CONFIG_R8188EU in the Makefile, this setting will not be visible in .config. Acked-by: Phillip Potter <phil@philpotter.co.uk> Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20210811201450.31366-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-12staging: r8188eu: (trivial) remove a duplicate debug printMartin Kaiser
Keep the one that shows the wakeup capability. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20210811201450.31366-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-12staging: r8188eu: remove unused function parametersMartin Kaiser
rtw_usb_if1_init and chip_by_usb_id do not need a struct usb_device_id parameter. Acked-by: Phillip Potter <phil@philpotter.co.uk> Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20210811201450.31366-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-12staging: r8188eu: remove unused efuse hal componentsMartin Kaiser
struct hal_data_8188e contains some components related to efuses which are not used for rl8188eu. Acked-by: Phillip Potter <phil@philpotter.co.uk> Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20210811201450.31366-1-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-12staging: gdm724x: Place macro argument within parenthesesDee-Jay Anthony Logozzo
Place the macro arguments within parentheses to avoid precedence issues. This solves the following checkpatch.pl warnings CHECK: Macro argument 'len' may be better as '(len)' to avoid precedence issues +#define ND_NLMSG_S_LEN(len) (len + ND_IFINDEX_LEN) CHECK: Macro argument 'nlh' may be better as '(nlh)' to avoid precedence issues +#define ND_NLMSG_R_LEN(nlh) (nlh->nlmsg_len - ND_IFINDEX_LEN) Signed-off-by: Dee-Jay Anthony Logozzo <dj@djl.id.au> Link: https://lore.kernel.org/r/20210811134132.5240-1-dj@djl.id.au Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-11staging: rtl8192e: rtl_core: Fix possible null-pointer dereference in ↵Tuo Li
_rtl92e_pci_disconnect() The variable dev is checked in: if (dev) This indicates that it can be NULL. If so, a null-pointer dereference will occur: priv = rtllib_priv(dev); However, the value of priv is not used in the remaining part of this function. Thus the else-branch can be removed to fix this posible null-pointer dereference. Reported-by: TOTE Robot <oslab@tsinghua.edu.cn> Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Tuo Li <islituo@gmail.com> Link: https://lore.kernel.org/r/20210811031135.4110-1-islituo@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-11staging: r8188eu: os_dep: Hoist vmalloc.h include into osdep_service.hNathan Chancellor
After commit 71f09c5ae9d2 ("staging: r8188eu: Remove wrapper around vfree"), the driver fails to build on Hexagon due to an implicit declaration in several different files: drivers/staging/r8188eu/core/rtw_mlme.c:129:3: error: implicit declaration of function 'vfree' [-Werror,-Wimplicit-function-declaration] vfree(pmlmepriv->free_bss_buf); ^ 1 error generated. Previously, vfree() was only called in osdep_service.c, which includes vmalloc.h for vmalloc() and vfree(). Now, the driver relies on vfree() getting implicitly included from another file. Hoist the vmalloc.h include from osdep_service.c to osdep_service.h so that the driver continues to build fine on all architectures. Fixes: 71f09c5ae9d2 ("staging: r8188eu: Remove wrapper around vfree") Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Nathan Chancellor <nathan@kernel.org> Link: https://lore.kernel.org/r/20210811005505.3953122-1-nathan@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-11staging: r8188eu: Use GFP_ATOMIC under spin lockYang Yingliang
A spin lock is taken in __nat25_db_network_insert() and update_BCNTIM() is called under spin lock so we should use GFP_ATOMIC in both place. Fixes: 15865124feed ("staging: r8188eu: introduce new core dir for RTL8188eu driver") Reported-by: Hulk Robot <hulkci@huawei.com> Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> Link: https://lore.kernel.org/r/20210810125314.2182112-1-yangyingliang@huawei.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-11staging: r8188eu: Replace BITn with BIT(n)Larry Finger
The driver uses BITn instead of BIT(n). All such usage is converted. Note that this patch does not address any warnings that checkpatch will find. These include missing space around operators and lines that are too long. These problems will be addressed in a separate patch. Acked-by: Phillip Potter <phil@philpotter.co.uk> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Link: https://lore.kernel.org/r/20210810180511.8986-1-Larry.Finger@lwfinger.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-11staging: r8188eu: remove lines from Makefile that silence build warningsPhillip Potter
Remove the several lines from the Makefile that append EXTRA_CFLAGS options to silence build warnings about unused variables, unused functions and such like. This will enable cleanup of missed warnings, and easier spotting of future such problems. Acked-by: Michael Straube <straube.linux@gmail.com> Signed-off-by: Phillip Potter <phil@philpotter.co.uk> Link: https://lore.kernel.org/r/20210810235047.177883-9-phil@philpotter.co.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-11staging: r8188eu: remove unused variable from rtw_init_recv_timerPhillip Potter
Remove unused variable from rtw_init_recv_timer function in os_dep/recv_linux.c Acked-by: Michael Straube <straube.linux@gmail.com> Signed-off-by: Phillip Potter <phil@philpotter.co.uk> Link: https://lore.kernel.org/r/20210810235047.177883-8-phil@philpotter.co.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-11staging: r8188eu: remove unused variable from rtw_init_drv_swPhillip Potter
Remove unused variable from rtw_init_drv_sw function in os_dep/os_intfs.c Acked-by: Michael Straube <straube.linux@gmail.com> Signed-off-by: Phillip Potter <phil@philpotter.co.uk> Link: https://lore.kernel.org/r/20210810235047.177883-7-phil@philpotter.co.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-11staging: r8188eu: remove unused variable from rtl8188e_init_dm_privPhillip Potter
Remove unused variable from the rtl8188e_init_dm_priv function in hal/rtl8188e_dm.c Acked-by: Michael Straube <straube.linux@gmail.com> Signed-off-by: Phillip Potter <phil@philpotter.co.uk> Link: https://lore.kernel.org/r/20210810235047.177883-6-phil@philpotter.co.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-11staging: r8188eu: remove rtw_mfree_sta_priv_lock functionPhillip Potter
Remove rtw_mfree_sta_priv_lock function from rtw_sta_mgt.c, as it does nothing and contains an unused variable. Acked-by: Michael Straube <straube.linux@gmail.com> Signed-off-by: Phillip Potter <phil@philpotter.co.uk> Link: https://lore.kernel.org/r/20210810235047.177883-5-phil@philpotter.co.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-11staging: r8188eu: remove unused label from recv_indicatepkt_reorderPhillip Potter
Remove unused goto label from recv_indicatepkt_reorder function in core/rtw_recv.c Acked-by: Michael Straube <straube.linux@gmail.com> Signed-off-by: Phillip Potter <phil@philpotter.co.uk> Link: https://lore.kernel.org/r/20210810235047.177883-4-phil@philpotter.co.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-11staging: r8188eu: remove unused oid_null_function functionPhillip Potter
Remove unused oid_null_function function from include/rtw_ioctl.h Acked-by: Michael Straube <straube.linux@gmail.com> Signed-off-by: Phillip Potter <phil@philpotter.co.uk> Link: https://lore.kernel.org/r/20210810235047.177883-3-phil@philpotter.co.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-11staging: r8188eu: remove unused functions from os_dep/ioctl_linux.cPhillip Potter
Remove unused functions that are now no longer called as a result of the removal of rtw_ioctl in a previous patch. This includes functions not directly called from rtw_ioctl, but anything in that specific call-chain. Acked-by: Michael Straube <straube.linux@gmail.com> Signed-off-by: Phillip Potter <phil@philpotter.co.uk> Link: https://lore.kernel.org/r/20210810235047.177883-2-phil@philpotter.co.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove rtw_ioctl functionPhillip Potter
Remove rtw_ioctl function from os_dep/ioctl_linux.c, its declaration in include/osdep_intf.h, and finally its inclusion as the value of the .ndo_do_ioctl member of struct net_device_ops rtw_netdev_ops in os_dep/os_intfs.c. The e-mail from Arnd Bergmann at: https://lore.kernel.org/linux-next/CAK8P3a0WRMNmBmBDerZ0nWPdFZKALnxrj-uUFBkTP-MOtv48vg@mail.gmail.com explains the justification for this approach. Essentially, changes from net-next make the existing function and its use of SIOCDEVPRIVATE ioctls unworkable without changes. Functions called from rtw_ioctl that are now no longer accessible will be cleaned up in further patches. Additionally, once these changes have made their way downstream to the staging branch, we can modify and reconnect rtw_android_priv_cmd via ndo_siocdevprivate in struct net_device_ops. Suggested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Phillip Potter <phil@philpotter.co.uk> Link: https://lore.kernel.org/r/20210810074504.957-1-phil@philpotter.co.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove remaining unnecessary parentheses in core dirMichael Straube
Remove remaining unnecessary parentheses in core dir reported by checkpatch. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-18-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove unnecessary parentheses in core/rtw_cmd.cMichael Straube
Remove unnecessary parentheses in core/rtw_cmd.c reported by checkpatch. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-17-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove unnecessary parentheses in core/rtw_ioctl_set.cMichael Straube
Remove unnecessary parentheses in core/rtw_ioctl_set.c reported by checkpatch. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-16-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove unnecessary parentheses in core/rtw_io.cMichael Straube
Remove unnecessary parentheses in core/rtw_io.c reported by checkpatch. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-15-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove unnecessary parentheses in core/rtw_pwrctrl.cMichael Straube
Remove unnecessary parentheses in core/rtw_pwrctrl.c reported by checkpatch. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-14-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove unnecessary parentheses in core/rtw_recv.cMichael Straube
Remove unnecessary parentheses in core/rtw_recv.c reported by checkpatch. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-13-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove unnecessary parentheses in core/rtw_sta_mgt.cMichael Straube
Remove unnecessary parentheses in core/rtw_sta_mgt.c reported by checkpatch. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-12-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove unnecessary parentheses in core/rtw_xmit.cMichael Straube
Remove unnecessary parentheses in core/rtw_xmit.c reported by checkpatch. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-11-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove unnecessary parentheses in core/rtw_mlme.cMichael Straube
Remove unnecessary parentheses in core/rtw_mlme.c reported by checkpatch. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-10-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: clean up comparsions to true/falseMichael Straube
Clean up some comparsions to true/false to clear chackpatch warnings. WARNING: Unnecessary parentheses - maybe == should be = ? Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-9-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove unnecessary parentheses in core/rtw_p2p.cMichael Straube
Remove unnecessary parentheses in core/rtw_p2p.c. Most of them reported by checkpatch. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-8-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove unnecessary parentheses in core/rtw_led.cMichael Straube
Remove unnecessary parentheses in core/rtw_led.c reported by checkpatch. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-7-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove unnecessary parentheses in core/rtw_wlan_util.cMichael Straube
Remove unnecessary parentheses in core/rtw_wlan_util.c reported by checkpatch. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-6-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove unnecessary parentheses in core/rtw_ap.cMichael Straube
Remove unnecessary parentheses in core/rtw_ap.c reported by checkpatch. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-5-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-08-10staging: r8188eu: remove unnecessary parentheses in core/rtw_mlme_ext.cMichael Straube
Remove unnecessary parentheses in core/rtw_mlme_ext.c. Most of them reported by checkpatch. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20210809165007.23204-4-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>