aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging
AgeCommit message (Collapse)AuthorFilesLines
2021-03-26Merge tag 'iio-for-5.13a' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-nextGreg Kroah-Hartman4-61/+37
Jonathan writes: 1st set of IIO/counter device support, features and cleanup in the 5.13 cycle Big set in here from Alexandru Ardelean enabling multiple buffer support. This includes providing a new directory per buffer that combines what was previously in buffer/ and scan_elements/. Old interfaces still in place for compatiblity. Note immuatable branch for scmi patches to allow for some significant rework going on in that subsystem. Merge required updating to reflect some changes in IIO. Late rebase to fix some wrong fixes tags due to some earlier rebases made necessary by messing up the immutable branch. IIO New Device Support * adi,ad5686 - Add info to support AD5673R and AD5677R * bosch,bmi088 - New driver supporting this accelerometer + gyroscope * cros_ec_mkbp - New driver for this proximity sensor that exposes a 'front' sensor. Very simple switch like device, but driver allows it to share interface with more sophisticated proximity sensors. * iio_scmi - New driver to support ARM SCMI protocol to expose underlying accelerometers and gyroscopes via this firmware interface. * st,st_magn - Add ID for IISMDC magnetometer. * ti,ads131e0 - New driver supporting ads131e04, ads131e06 and ads131e08 24 bit ADCs Counter New Device Support * IRQ or GPIO based counter - New driver for a conceptually simple counter that uses interrupts to perform the count. Features * core - Dual buffer supprt including: Various helpers to centralize handling of bufferer related elements. Document existing and new IOCTLs Register the IIO chrdev only if it can actually be used for anything. Rework attribute group creation in the core (lots of patches) Merge buffer/ and scan_elements/ entries into one list + maintain backwards compatible set. Introduce the internal logic and IOCTL to allow multiple buffers + access to an anon FD per buffer to actually read from it. Tidy up tools/iio/iio_generic_buffer and switch to new interfaces. Update ABI docs. A few follow up fixes, unsuprising as this was a huge bit of rework. - Move common case setting of trig->parent to the core. - Provide an iio_read_channel_processed_scale() to avoid loss of precision from iio_read_channel_processed() then applying integer scale. Use it in ntc_thermistor driver in hwmon. - Allow drivers to specify labels from elsewhere than DT. Use it for bmc150 and kxcjk-1013 labels related to position on 2 in one tablets. - Document label usage for proximity and accelerometer sensors. - Some local variable renames for consistency tools - Add -a parameter to iio_event_monitor to allow autoenabling of events. * acpi_als - Add trigger support for devices that don't support notification method. * adi,ad7124 - Allow more than 8 channels. This is a complex little device, but is capable of supporting up to 16 channels if the share certain configuration settings. * hrtimer-trigger - Support sampling frequency below 1Hz. * mediatek,mt8195-auxadc - Add compatible to binding docs (always also includes mt8173) * st,stm32-adc - Enable timetamps when not using DMA. * vishay,vcnl3020 - Sampling frequency control. Cleanup and minor fixes: * treewide - Use some getter and setter functions instead of opencoding. - Set of fixes for pointless casts in various drivers. - Avoid wrong kernel-doc marking on comment blocks. - Fix various other minor kernel-doc issues shown by W=1 * core - Use a signed temporary for IIO_VAL_FRACTIONAL_LOG2 to avoid odd casts. - Fix IIO_VAL_FRACTIONAL_LOG2 for values between -1.0 and 0.0 - Add unit tests for iio_format_value() * docs - Fix formatting/typos in iio_configfs.rst and buffers.rst - Add documentation of index in buffers.rst - Fix scan element description - Avoid some issues with HTML generation from ABI docs by moving duplicated defintions to more generic files. - Drop reference to long dead mailing list. * 104-quad - Remove left over deprecated IIO counter ABI. * adi,adi-axi-adc - Fix wrong bit of docs. * adi,ad5791 - Typos * adi,ad9834 - Switch to device managed functions in probe. * adi,adis* - Add and use helpers for locking to reduced duplication. * adi,adis16480 - Fix calculation of sampling frequency when using pulse per second input. * adi,adis16475 - Calculate the IMU scaled internal sampling rate and runtime depending on sysfs based configuration rather than getting from DT. Drop now unnecessary property from DT bindings doc. * cros_ec - Fix result of a series of recent changes that means extended buffer attributes turn up in the wrong place. Too complex to revert the various patches unfortunately so this is a bit messy. * fsl,mma3452 - Indentation cleanup. * hid-sensors - Size of storage needs to increase for some parts when using quaternions. - Move the get sensistivity attribute to hid-sensors-common to reduce duplication. Enable it for more device types. - Correctly handle relative sensitivity if reported that way including documenting the new ABI. * maxim,max517 - Use device managed functions in probe. * mediatek,mt6360-adc - Use asm/unaligned.h instead of directly including unaligned/be_byteshift.h * novuton,npcm-adc - Local lock instead of missusing mlock. * semtech,sx9500 - Typos * st,sensor - typo fix * st,spear-adc - Local lock instead of missusing mlock. * st,stm32-adc - Long standing HAS_IOMEM dependency fix. * st,stm32-counter - Remove left over deprecated IIO counter ABI. * ti,palmas-adc - Local lock instead of missusing mlock. * ti,tmp007 - Switch to device managed functions in probe. Other * MAINTAINERS - Move Peter Meerwald-Stadler to Credits at his request * tag 'iio-for-5.13a' of https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (119 commits) iio: acpi_als: Add trigger support iio: acpi_als: Add local variable dev in probe iio: acpi_als: Add timestamp channel iio: adc: ad7292: Modify the bool initialization assignment iio: cros: unify hw fifo attributes without API changes iio: kfifo: add devm_iio_triggered_buffer_setup_ext variant iio: event_monitor: Enable events before monitoring dt-bindings: iio: adc: Add compatible for Mediatek MT8195 iio:magnetometer: Add Support for ST IIS2MDC dt-bindings: iio: st,st-sensors add IIS2MDC. staging: iio: ad9832: kernel-doc fixes iio:dac:max517.c: Use devm_iio_device_register() iio:cros_ec_sensors: Fix a wrong function name in kernel doc. iio: buffer: kfifo_buf: kernel-doc, typo in function name. iio: accel: sca3000: kernel-doc fixes. Missing - and wrong function names. iio: adc: adi-axi-adc: Drop false marking for kernel-doc iio: adc: cpcap-adc: kernel-doc fix - that should be _ in structure name iio: dac: ad5504: fix wrong part number in kernel-doc structure name. iio: dac: ad5770r: kernel-doc fix case of letter R wrong in structure name iio: adc: ti-adc084s021: kernel-doc fixes, missing function names ...
2021-03-25Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netDavid S. Miller53-43/+173
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-03-25staging: iio: ad9832: kernel-doc fixesMugilraj Dhavachelvan1-2/+2
Fixes a W=1 warning. -Added ``:`` to lock parameter in 'ad9832_state' description. -It's a reference comment so removed /** Signed-off-by: Mugilraj Dhavachelvan <dmugil2000@gmail.com> Link: https://lore.kernel.org/r/20210315133711.26860-1-dmugil2000@gmail.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2021-03-25staging: iio: ad9834: convert to device-managed functions in probeAlexandru Ardelean1-36/+31
This change converts the driver to use device-managed functions in the probe function. For the clock and regulator disable, some devm_add_action_or_reset() calls are required, and then devm_iio_device_register() function can be used register the IIO device. The final aim here would be for IIO to export only the device-managed functions of it's API. That's a long way to go and this a small step in that direction. Signed-off-by: Alexandru Ardelean <aardelean@deviqon.com> Link: https://lore.kernel.org/r/20210310095131.47476-1-aardelean@deviqon.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2021-03-25staging: iio: remove mention of defunct listBaruch Siach1-4/+0
The ADI device-drivers-devel list no longer exists. Cc: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Baruch Siach <baruch@tkos.co.il> Link: https://lore.kernel.org/r/69b3e45e7666a1dd74a83df0b84ef8a63bf090ea.1614082343.git.baruch@tkos.co.il Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2021-03-23media: atomisp: remove duplicate include in sh_cssZhang Yunkai1-3/+0
'ia_css_isys.h' included in 'sh_css.c' is duplicated. It is also included in the 30th line. Link: https://lore.kernel.org/linux-media/20210306121104.218696-1-zhang.yunkai@zte.com.cn Signed-off-by: Zhang Yunkai <zhang.yunkai@zte.com.cn> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-23media: staging: atomisp: reduce kernel stack usageArnd Bergmann3-36/+33
The atomisp_set_fmt() function has multiple copies of the large v4l2_format structure on its stack, resulting in a warning about excessive stack usage in some rare randconfig builds. drivers/staging/media/atomisp/pci/atomisp_cmd.c:5600:5: error: stack frame size of 1084 bytes in function 'atomisp_set_fmt' [-Werror,-Wframe-larger-than=] Of this structure, only three members in the 'fmt.pix' member are used, so simplify it by using the smaller v4l2_pix_format structure directly. This reduces the stack usage to 612 bytes, and it could be reduced further by only storing the three members that are used. Link: https://lore.kernel.org/linux-media/20210226140524.3478346-1-arnd@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-23media: staging: media: omap4iss: code style - avoid macro argument precedence issuesNikolay Kyx1-8/+8
This patch fixes the following checkpatch.pl check: CHECK: Macro argument 'i' may be better as '(i)' to avoid precedence issues in file iss_regs.h Link: https://lore.kernel.org/linux-media/20210221195308.1451-1-knv418@gmail.com Signed-off-by: Nikolay Kyx <knv418@gmail.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-23media: staging: media: ipu3: code style fix - missing a blank line after declarationsNikolay Kyx1-0/+1
This patch fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations in file ipu3-css-fw.h Link: https://lore.kernel.org/linux-media/20210221081236.9758-2-knv418@gmail.com Signed-off-by: Nikolay Kyx <knv418@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-23media: staging: media/atomisp: don't compile unused codekarthik alapati1-2/+3
currently the functions defined in ibuf_ctrl_rmgr.c file are only used by isys_init.c when CONFIG_VIDEO_ATOMISP_ISP2401 is selected so dont't compile it when not needed, also fixes some sparse warnings Link: https://lore.kernel.org/linux-media/YDEZu3oniT/vUMMY@karthik-strix-linux.karthek.com Signed-off-by: karthik alapati <mail@karthek.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-23media: atomisp: do not free kmalloc memory by vfreeJiri Slaby1-1/+1
fw_minibuffer[i].buffer is allocated by kmalloc in sh_css_load_blob_info and by vmalloc in setup_binary. So use kvfree to decide which of those allocators to use for freeing. Also remove the useless cast. Link: https://lore.kernel.org/linux-media/20210219101216.28406-1-jslaby@suse.cz Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-23staging: rtl8723bs: remove blank line os_dep/os_intfs.cFabio Aiuto1-1/+0
remove blank line Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> Link: https://lore.kernel.org/r/ae5671883e9a869aced3eece40b587c51e15d520.1616503354.git.fabioaiuto83@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-23staging: rtl8723bs: remove unnecessary extern in os_dep/sdio_intf.cFabio Aiuto1-2/+0
remove unnecessary extern. The function is defined static in os_dep/os_intfs.c and used only once in the same file Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> Link: https://lore.kernel.org/r/f3a7b2c00221aa09ed782fb30ce55936f443a12d.1616503354.git.fabioaiuto83@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-23staging: rtl8723bs: remove undefined function prototype in of os_dep/sdio_intf.cFabio Aiuto1-1/+0
fix the following checkpatch issue: WARNING: externs should be avoided in .c files 486: FILE: drivers/staging/rtl8723bs/os_dep/sdio_intf.c:486: +extern int pm_netdev_close(struct net_device *pnetdev, u8 bnormal); Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> Link: https://lore.kernel.org/r/06d61465fd33b6cf6d9428ac983e55f50afd448b.1616503354.git.fabioaiuto83@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-23staging: rtl8723bs: move function prototypes out of os_dep/int_fs.cFabio Aiuto3-5/+3
fix the following checkpatch issues: WARNING: externs should be avoided in .c files 196: FILE: drivers/staging/rtl8723bs/os_dep/os_intfs.c:196: +int _netdev_open(struct net_device *pnetdev); -- WARNING: externs should be avoided in .c files 197: FILE: drivers/staging/rtl8723bs/os_dep/os_intfs.c:197: +int netdev_open(struct net_device *pnetdev); moved function prototype in include/osdep_intf.h removed function prototype and made a static removed unnecessary extern declaration in os_dep/ioctl_cfg80211.c Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> Link: https://lore.kernel.org/r/4604b856b9c20f1141e19894f46934cb860eebd4.1616503354.git.fabioaiuto83@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-23staging: rtl8723bs: remove function prototypes in hal/odm.cFabio Aiuto1-576/+507
fix the following checkpatch issues: WARNING: externs should be avoided in .c files 285: FILE: drivers/staging/rtl8723bs/hal/odm.c:285: +void odm_CommonInfoSelfInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 287: FILE: drivers/staging/rtl8723bs/hal/odm.c:287: +void odm_CommonInfoSelfUpdate(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 289: FILE: drivers/staging/rtl8723bs/hal/odm.c:289: +void odm_CmnInfoInit_Debug(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 291: FILE: drivers/staging/rtl8723bs/hal/odm.c:291: +void odm_BasicDbgMessage(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 305: FILE: drivers/staging/rtl8723bs/hal/odm.c:305: +void odm_RefreshRateAdaptiveMaskCE(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 309: FILE: drivers/staging/rtl8723bs/hal/odm.c:309: +void odm_RSSIMonitorInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 311: FILE: drivers/staging/rtl8723bs/hal/odm.c:311: +void odm_RSSIMonitorCheckCE(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 313: FILE: drivers/staging/rtl8723bs/hal/odm.c:313: +void odm_RSSIMonitorCheck(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 315: FILE: drivers/staging/rtl8723bs/hal/odm.c:315: +void odm_SwAntDetectInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 317: FILE: drivers/staging/rtl8723bs/hal/odm.c:317: +void odm_SwAntDivChkAntSwitchCallback(void *FunctionContext); -- WARNING: externs should be avoided in .c files 321: FILE: drivers/staging/rtl8723bs/hal/odm.c:321: +void odm_GlobalAdapterCheck(void); -- WARNING: externs should be avoided in .c files 323: FILE: drivers/staging/rtl8723bs/hal/odm.c:323: +void odm_RefreshRateAdaptiveMask(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 325: FILE: drivers/staging/rtl8723bs/hal/odm.c:325: +void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 327: FILE: drivers/staging/rtl8723bs/hal/odm.c:327: +void odm_RateAdaptiveMaskInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 330: FILE: drivers/staging/rtl8723bs/hal/odm.c:330: +void odm_TXPowerTrackingInit(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 338: FILE: drivers/staging/rtl8723bs/hal/odm.c:338: +void odm_InitHybridAntDiv(struct dm_odm_t *pDM_Odm); -- WARNING: externs should be avoided in .c files 340: FILE: drivers/staging/rtl8723bs/hal/odm.c:340: +bool odm_StaDefAntSel( -- WARNING: externs should be avoided in .c files 349: FILE: drivers/staging/rtl8723bs/hal/odm.c:349: +void odm_SetRxIdleAnt(struct dm_odm_t *pDM_Odm, u8 Ant, bool bDualPath); -- WARNING: externs should be avoided in .c files 353: FILE: drivers/staging/rtl8723bs/hal/odm.c:353: +void odm_HwAntDiv(struct dm_odm_t *pDM_Odm); removed function prototypes and made staics where needed in hal/odm.c moved function definition in file to let the compiler work Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> Link: https://lore.kernel.org/r/9a92a2f29c2c9fb3c386a3c1d0d25f628845c563.1616503354.git.fabioaiuto83@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-23staging: rtl8723bs: delete extern declarations in core/rtw_wlan_util.cFabio Aiuto1-3/+0
fix the following checkpatch issues: WARNING: externs should be avoided in .c files 28: FILE: drivers/staging/rtl8723bs/core/rtw_wlan_util.c:28: +extern unsigned char RTW_WPA_OUI[]; -- WARNING: externs should be avoided in .c files 29: FILE: drivers/staging/rtl8723bs/core/rtw_wlan_util.c:29: +extern unsigned char WPA_TKIP_CIPHER[4]; Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> Link: https://lore.kernel.org/r/0fa08b70af86b2ee88564179a22d908a643bed1f.1616503354.git.fabioaiuto83@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-23staging: rtl8723bs: removed function prototypes and made statics in core/rtw_recv.cFabio Aiuto1-234/+207
fix the following checkpatch issue: WARNING: externs should be avoided in .c files 1190: FILE: drivers/staging/rtl8723bs/core/rtw_recv.c:1190: +signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame); removed function prototypes and made statics moved two static function definitions before their usage to make code compile Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> Link: https://lore.kernel.org/r/e40951ad0d3ba103b1551e8f2e54c7bc45563346.1616503354.git.fabioaiuto83@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-23staging: rtl8723bs: moved function prototype out of core/rtw_ioctl_set.c and core/rtw_mlme.cFabio Aiuto3-3/+2
fix the following checkpatch issues: WARNING: externs should be avoided in .c files 40: FILE: drivers/staging/rtl8723bs/core/rtw_ioctl_set.c:40: +u8 rtw_do_join(struct adapter *padapter); WARNING: externs should be avoided in .c files 15: FILE: drivers/staging/rtl8723bs/core/rtw_mlme.c:15: +extern u8 rtw_do_join(struct adapter *padapter); moved function prototype in include/rtw_ioctl_set.h Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> Link: https://lore.kernel.org/r/da654adf1295123adca07e3e5809e256dd4def69.1616503354.git.fabioaiuto83@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-23staging: rtl8723bs: removed function prototypes in core/rtw_efuse.cFabio Aiuto1-12/+2
fix the following checkpatch issues: WARNING: externs should be avoided in .c files 35: FILE: drivers/staging/rtl8723bs/core/rtw_efuse.c:35: +bool removed two function prototypes in core/rtw_efuse.c and made definition static Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> Link: https://lore.kernel.org/r/e9137945e66eccae8f2ae3eabe720ea648262eca.1616503354.git.fabioaiuto83@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-23staging: rtl8192e: Change state information from u16 to u8Atul Gopinathan1-1/+1
The "u16 CcxRmState[2];" array field in struct "rtllib_network" has 4 bytes in total while the operations performed on this array through-out the code base are only 2 bytes. The "CcxRmState" field is fed only 2 bytes of data using memcpy(): (In rtllib_rx.c:1972) memcpy(network->CcxRmState, &info_element->data[4], 2) With "info_element->data[]" being a u8 array, if 2 bytes are written into "CcxRmState" (whose one element is u16 size), then the 2 u8 elements from "data[]" gets squashed and written into the first element ("CcxRmState[0]") while the second element ("CcxRmState[1]") is never fed with any data. Same in file rtllib_rx.c:2522: memcpy(dst->CcxRmState, src->CcxRmState, 2); The above line duplicates "src" data to "dst" but only writes 2 bytes (and not 4, which is the actual size). Again, only 1st element gets the value while the 2nd element remains uninitialized. This later makes operations done with CcxRmState unpredictable in the following lines as the 1st element is having a squashed number while the 2nd element is having an uninitialized random number. rtllib_rx.c:1973: if (network->CcxRmState[0] != 0) rtllib_rx.c:1977: network->MBssidMask = network->CcxRmState[1] & 0x07; network->MBssidMask is also of type u8 and not u16. Fix this by changing the type of "CcxRmState" from u16 to u8 so that the data written into this array and read from it make sense and are not random values. NOTE: The wrong initialization of "CcxRmState" can be seen in the following commit: commit ecdfa44610fa ("Staging: add Realtek 8192 PCI wireless driver") The above commit created a file `rtl8192e/ieee80211.h` which used to have the faulty line. The file has been deleted (or possibly renamed) with the contents copied in to a new file `rtl8192e/rtllib.h` along with additional code in the commit 94a799425eee (tagged in Fixes). Fixes: 94a799425eee ("From: wlanfae <wlanfae@realtek.com> [PATCH 1/8] rtl8192e: Import new version of driver from realtek") Cc: stable@vger.kernel.org Signed-off-by: Atul Gopinathan <atulgopinathan@gmail.com> Link: https://lore.kernel.org/r/20210323113413.29179-2-atulgopinathan@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-23staging: rtl8192e: Fix incorrect source in memcpy()Atul Gopinathan1-1/+1
The variable "info_element" is of the following type: struct rtllib_info_element *info_element defined in drivers/staging/rtl8192e/rtllib.h: struct rtllib_info_element { u8 id; u8 len; u8 data[]; } __packed; The "len" field defines the size of the "data[]" array. The code is supposed to check if "info_element->len" is greater than 4 and later equal to 6. If this is satisfied then, the last two bytes (the 4th and 5th element of u8 "data[]" array) are copied into "network->CcxRmState". Right now the code uses "memcpy()" with the source as "&info_element[4]" which would copy in wrong and unintended information. The struct "rtllib_info_element" has a size of 2 bytes for "id" and "len", therefore indexing will be done in interval of 2 bytes. So, "info_element[4]" would point to data which is beyond the memory allocated for this pointer (that is, at x+8, while "info_element" has been allocated only from x to x+7 (2 + 6 => 8 bytes)). This patch rectifies this error by using "&info_element->data[4]" which correctly copies the last two bytes of "data[]". NOTE: The faulty line of code came from the following commit: commit ecdfa44610fa ("Staging: add Realtek 8192 PCI wireless driver") The above commit created the file `rtl8192e/ieee80211/ieee80211_rx.c` which had the faulty line of code. This file has been deleted (or possibly renamed) with the contents copied in to a new file `rtl8192e/rtllib_rx.c` along with additional code in the commit 94a799425eee (tagged in Fixes). Fixes: 94a799425eee ("From: wlanfae <wlanfae@realtek.com> [PATCH 1/8] rtl8192e: Import new version of driver from realtek") Cc: stable@vger.kernel.org Signed-off-by: Atul Gopinathan <atulgopinathan@gmail.com> Link: https://lore.kernel.org/r/20210323113413.29179-1-atulgopinathan@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-23staging: rtl8723bs: Trivial typo fixBhaskar Chowdhury1-1/+1
s/netowrk/network/ ..and an extra space has removed from the sentence. Signed-off-by: Bhaskar Chowdhury <unixbhaskar@gmail.com> Link: https://lore.kernel.org/r/20210323092300.1740913-1-unixbhaskar@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-23staging: rtl8723bs: Mundane typo fixesBhaskar Chowdhury1-3/+3
s/stoping/stopping/ s/arragement/arrangement/ s/eralier/earlier/ Plus one extra word in the sentence "the" removed. Acked-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Bhaskar Chowdhury <unixbhaskar@gmail.com> Link: https://lore.kernel.org/r/20210322201648.137317-1-unixbhaskar@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-23drivers: most: add ALSA sound driverChristian Gromm5-766/+0
This patch moves the ALSA sound driver out of the staging area and adds it to the stable part of the MOST driver. Modifications to the Makefiles and Kconfigs are done accordingly to not break the build. Signed-off-by: Christian Gromm <christian.gromm@microchip.com> Link: https://lore.kernel.org/r/1612865627-29950-1-git-send-email-christian.gromm@microchip.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-23media: atomisp: auto-select VIDEO_V4L2_SUBDEV_APITong Zhang1-0/+1
VIDEO_ATOMISP depends on VIDEO_V4L2_SUBDEV_API, if VIDEO_V4L2_SUBDEV_API is not selected, it will cause compilation error drivers/staging/media/atomisp/pci/atomisp_cmd.c:6079:42: error: ‘struct v4l2_subdev_fh’ has no member named ‘pad’ atomisp_subdev_set_ffmt (&asd->subdev, fh.pad, V4L2_SUBDEV_FORMAT_ACTIVE, add auto select VIDEO_V4L2_SUBDEV_API if VIDEO_ATOMISP is selected Link: https://lore.kernel.org/linux-media/20210210033830.961086-1-ztong0001@gmail.com Signed-off-by: Tong Zhang <ztong0001@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-23media: atomisp: remove redundant NULL checkYang Li1-4/+2
Fix below warnings reported by coccicheck: ./drivers/staging/media/atomisp/pci/atomisp_cmd.c:4269:2-8: WARNING: NULL check before some freeing functions is not needed. ./drivers/staging/media/atomisp/pci/atomisp_cmd.c:4626:2-8: WARNING: NULL check before some freeing functions is not needed. Link: https://lore.kernel.org/linux-media/1611220312-89384-3-git-send-email-abaci-bugfix@linux.alibaba.com Reported-by: Abaci Robot <abaci@linux.alibaba.com> Signed-off-by: Yang Li <abaci-bugfix@linux.alibaba.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-23media: atomisp: remove redundant NULL checkYang Li1-4/+2
Fix below warnings reported by coccicheck: ./drivers/staging/media/atomisp/pci/sh_css_params.c:1575:2-8: WARNING: NULL check before some freeing functions is not needed. ./drivers/staging/media/atomisp/pci/sh_css_params.c:3006:2-8: WARNING: NULL check before some freeing functions is not needed. Link: https://lore.kernel.org/linux-media/1611217731-56866-1-git-send-email-abaci-bugfix@linux.alibaba.com Reported-by: Abaci Robot <abaci@linux.alibaba.com> Signed-off-by: Yang Li <abaci-bugfix@linux.alibaba.com> Reviewed-by: Robert Foss <robert.foss@linaro.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-23media: atomisp: fix Wvisiblity warningArnd Bergmann1-0/+2
Some randconfig builds include ia_css_firmware.h without first including linux/device.h: In file included from atomisp/pci/mmu/sh_mmu_mrfld.c:23: In file included from atomisp/pci/atomisp_compat.h:22: In file included from atomisp/pci/atomisp_compat_css20.h:24: In file included from atomisp/pci/ia_css.h:28: In file included from atomisp/pci/ia_css_control.h:25: drivers/staging/media/atomisp//pci/ia_css_firmware.h:52:29: error: declaration of 'struct device' will not be visible outside of this function [-Werror,-Wvisibility] Add a forward declaration to avoid the warning. Link: https://lore.kernel.org/linux-media/20210108082337.2305938-1-arnd@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-23media: atomisp: ov2722: remove unnecessary debug printFilip Kolev1-2/+0
checkpatch.pl emits the following warning: WARNING: Prefer using '"%s...", __func__' to using 'ov2722_remove', this function's name, in a string + dev_dbg(&client->dev, "ov2722_remove...\n"); This is just a "trace" call and therefore should be removed entirely; ftrace should be used instead. Link: https://lore.kernel.org/linux-media/20210106181158.2270-1-fil.kolev@gmail.com Signed-off-by: Filip Kolev <fil.kolev@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: Remove redundant NULL checkXu Wang1-2/+1
./drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_1.0/ia_css_sdis.host.c:390:2-8: WARNING: NULL check before some freeing functions is not needed. Link: https://lore.kernel.org/linux-media/20201225084524.64839-1-vulab@iscas.ac.cn Signed-off-by: Xu Wang <vulab@iscas.ac.cn> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: Remove redundant NULL checkXu Wang1-2/+1
Fix warnings reported by coccicheck: ./drivers/staging/media/atomisp/pci/runtime/isp_param/src/isp_param.c:159:4-10: WARNING: NULL check before some freeing functions is not needed. Link: https://lore.kernel.org/linux-media/20201225083818.64588-1-vulab@iscas.ac.cn Signed-off-by: Xu Wang <vulab@iscas.ac.cn> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: replace boolean comparison of values with bool variablesAditya Srivastava3-13/+13
There are certain expressions in a condition in atomisp, where a boolean variable is compared with true/false in forms such as (foo == true) or (false != bar), which does not comply with the coding style rule by checkpatch.pl (CHK: BOOL_COMPARISON), according to which the boolean variables should be themselves used in the condition, rather than comparing with true or false. E.g. In drivers/staging/media/atomisp/pci/atomisp_compat_css20.c: if (asd->stream_prepared == false) { Can be replaced with: if (!asd->stream_prepared) { Replace such expressions with boolean variables appropriately. Link: https://lore.kernel.org/linux-media/20201214132716.28157-1-yashsri421@gmail.com Signed-off-by: Aditya Srivastava <yashsri421@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: Fix use after free in atomisp_alloc_css_stat_bufs()Dan Carpenter1-3/+1
The "s3a_buf" is freed along with all the other items on the "asd->s3a_stats" list. It leads to a double free and a use after free. Link: https://lore.kernel.org/linux-media/X9dSO3RGf7r0pq2k@mwanda Fixes: ad85094b293e ("Revert "media: staging: atomisp: Remove driver"") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: Write function decleration in one linePhilipp Gerlesberger1-33/+11
CHECK:OPEN_ENDED_LINE: Lines should not end with a '(' WARNING:LEADING_SPACE: please, no spaces at the start of a line Avoid these errors by writing the function decleration in one line. Link: https://lore.kernel.org/linux-media/20201214110358.7102-12-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: Fix BLOCK_COMMENT_STYLEPhilipp Gerlesberger1-2/+2
Block comments should align the * on each line Link: https://lore.kernel.org/linux-media/20201214110156.6152-11-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: Fix PARENTHESIS_ALIGNMENTPhilipp Gerlesberger1-2/+1
You can sum up the two lines, because the maximum line length of 100 columns is not exceeded. Link: https://lore.kernel.org/linux-media/20201214110156.6152-10-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: Delete bracesPhilipp Gerlesberger1-2/+0
WARNING:BRACES: braces {} are not necessary for single statement blocks Link: https://lore.kernel.org/linux-media/20201214110156.6152-9-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: Fix funciton declerationPhilipp Gerlesberger1-3/+2
Write return_type, function_name and parameters in one line because lines should not end with a '(' [OPEN_ENDED_LINE] Write open brace ’{’ on the next line to fix OPEN_BRACE Error Link: https://lore.kernel.org/linux-media/20201214110156.6152-8-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: Fix overlong linePhilipp Gerlesberger1-1/+2
Line length of 105 exceeds 100 columns. Link: https://lore.kernel.org/linux-media/20201214110156.6152-6-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: Fix OPEN_ENDED_LINEPhilipp Gerlesberger1-2/+1
Lines should not end with a '(' Link: https://lore.kernel.org/linux-media/20201214110156.6152-5-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: Fix EMBEDDED_FUNCTION_NAME warningPhilipp Gerlesberger1-5/+3
Use the automatically defined __func__ macro instead of the function name, so it stays correct when the function is renamed. Link: https://lore.kernel.org/linux-media/20201214110156.6152-4-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: Fix Block CommentsPhilipp Gerlesberger1-2/+3
Block comments should use * on subsequent lines and should use a trailing */ on a separate line. Link: https://lore.kernel.org/linux-media/20201214110156.6152-3-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: Convert comments to C99 initializersPhilipp Gerlesberger1-17/+5
The struct initalizers have been changed as recommended on https://kernelnewbies.org/KernelJanitors/Todo Also remove all the false, 0, and NULL members. Link: https://lore.kernel.org/linux-media/20201214110156.6152-2-Philipp.Gerlesberger@fau.de Co-developed-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Andrey Khlopkov <ij72uhux@stud.informatik.uni-erlangen.de> Signed-off-by: Philipp Gerlesberger <Philipp.Gerlesberger@fau.de> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22staging: vchiq: Release firmware handle on unbindNicolas Saenz Julienne1-1/+1
Use devm_rpi_firmware_get() so as to make sure we release RPi's firmware interface when unbinding the device. Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-22media: atomisp: remove redundant NULL check of "params"Ding Xiang1-3/+1
The check result of (!A || (A && B)) is equivalent to (!A || B), so remove redundant NULL check of "params" Link: https://lore.kernel.org/linux-media/20201117081058.673291-1-dingxiang@cmss.chinamobile.com Signed-off-by: Ding Xiang <dingxiang@cmss.chinamobile.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: do not select COMMON_CLK to fix buildsKrzysztof Kozlowski1-1/+1
COMMON_CLK is a user-selectable option with its own dependencies. The most important dependency is !HAVE_LEGACY_CLK. User-selectable drivers should not select COMMON_CLK because they will create a dependency cycle and build failures. Link: https://lore.kernel.org/linux-media/20210316075625.10382-1-krzysztof.kozlowski@canonical.com Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Stephen Boyd <sboyd@kernel.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: make atomisp_css_continuous_set_num_raw_frames() voidKaixu Xia3-12/+8
The return value of atomisp_css_continuous_set_num_raw_frames() function is always 0, so there's no reason for a return value. In addition, the __enable_continuous_mode() checked the return value for possible error which is unnecessary. Convert atomisp_css_continuous_set_num_raw_frames() to a void function. Link: https://lore.kernel.org/linux-media/1605362150-11401-1-git-send-email-kaixuxia@tencent.com Reported-by: Tosk Robot <tencent_os_robot@tencent.com> Signed-off-by: Kaixu Xia <kaixuxia@tencent.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: atomisp: make atomisp_css_stop() voidKaixu Xia3-6/+5
The return value of atomisp_css_stop() function is always 0 and there are no callers check the return value, so there's no reason for a return value. Convert atomisp_css_stop() to a void function. Link: https://lore.kernel.org/linux-media/1605359976-11254-1-git-send-email-kaixuxia@tencent.com Reported-by: Tosk Robot <tencent_os_robot@tencent.com> Signed-off-by: Kaixu Xia <kaixuxia@tencent.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-03-22media: staging: media: atomisp: Remove unnecessary if statementAlex Dewar1-21/+6
The bodies of the if and else sections are the same, so just remove the check. Link: https://lore.kernel.org/linux-media/20201017142810.26967-2-alex.dewar90@gmail.com Signed-off-by: Alex Dewar <alex.dewar90@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>