platform/kernel/linux-rpi.git
4 years agostaging: wfx: re-enable BA after reset
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:36 +0000 (15:32 +0200)]
staging: wfx: re-enable BA after reset

Firmware does not support Block Acks when multiple vif are running.
Thus, wfx_add_interface() and wfx_remove_interface() enable and disable
Block Acks as necessary.

Block Ack policy is also reset after hif_reset(). Driver have to
re-enable it after each call to hif_reset().

This patch reflects this behavior.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-17-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: introduce wfx_join_ibss() and wfx_leave_ibss()
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:35 +0000 (15:32 +0200)]
staging: wfx: introduce wfx_join_ibss() and wfx_leave_ibss()

Currently, IBSS networks are started by the mean of
wfx_bss_info_changed(). It easier to use use callbacks provided by
mac80211.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-16-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: allow to join IBSS networks
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:34 +0000 (15:32 +0200)]
staging: wfx: allow to join IBSS networks

Current code does not permit to join an already existing IBSS network.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-15-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: avoid duplicate updating of beacon template
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:33 +0000 (15:32 +0200)]
staging: wfx: avoid duplicate updating of beacon template

When ERP changes, mac80211 call wfx_bss_info_changed() with
BSS_CHANGED_ERP_* and with BSS_CHANGED_BEACON.

The driver already update beacon template because of
BSS_CHANGED_BEACON. It is not necessary to also update beacon template
because of BSS_CHANGED_ERP_*.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-14-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: remove unnecessary conditions in wfx_bss_info_changed()
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:32 +0000 (15:32 +0200)]
staging: wfx: remove unnecessary conditions in wfx_bss_info_changed()

wfx_bss_info_changed() update ERP and CQM related stuff. Thus, it check
the flags BSS_CHANGED_ERP_* and BSS_CHANGED_CQM.

It also update ERP and CQM on join and leave by checking the flag
BSS_CHANGED_ASSOC. This check is useless. Mac80211 already do that job
and set necessary flags as expected.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-13-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: request to send beacons in IBSS mode
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:31 +0000 (15:32 +0200)]
staging: wfx: request to send beacons in IBSS mode

Currently, firmware take in charge of start/stop sending beacons while
in IBSS mode. However, this behavior may change in the further releases.

Currently, asking to firmware to send beacon while in IBSS mode return
an error but is harmless.

Therefore, send this request unconditionally.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-12-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: drop unnecessary condition checks in wfx_upload_ap_templates()
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:30 +0000 (15:32 +0200)]
staging: wfx: drop unnecessary condition checks in wfx_upload_ap_templates()

In former code, wfx_upload_ap_templates() was called in more cases
than necessary. Therefore, it tried to not update the frame templates
if it was not necessary.

Now, wfx_upload_ap_templates() is called only if mac80211 asked to
update the templates. In add, it does not hurt to upload template if
they are not used. So, remove unnecessary conditions at beginning of
wfx_upload_ap_templates()

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-11-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: disabling keep alive during unjoin is useless
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:29 +0000 (15:32 +0200)]
staging: wfx: disabling keep alive during unjoin is useless

After a call to hif_reset(), the parameters associated with BSS are
reset. So, it useless to explicitly reset the keep alive period.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-10-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: fix support for BSS_CHANGED_KEEP_ALIVE
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:28 +0000 (15:32 +0200)]
staging: wfx: fix support for BSS_CHANGED_KEEP_ALIVE

Chip firmware is able to send periodic null frames to keep the
association with the AP.

The driver arbitrary set this period to 30sec. We prefer to rely on
BSS_CHANGED_KEEP_ALIVE that provide a true value.

Note that if BSS_CHANGED_KEEP_ALIVE is not received, we just disable
keep_alive feature. It is not very disturbing since AP will probably
ping the station before to disconnect it.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-9-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: remove useless call to wfx_tx_flush()
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:27 +0000 (15:32 +0200)]
staging: wfx: remove useless call to wfx_tx_flush()

wfx_do_join() calls wfx_tx_lock_flush() ate beginning of the function.
Therefore, the subsequent call to wfx_tx_flush() is useless.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-8-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: change the way the station associate to an AP
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:26 +0000 (15:32 +0200)]
staging: wfx: change the way the station associate to an AP

Chipset need two steps to associate with an AP:
   1. it start receiving beacon from the AP (done with wfx_do_join())
   2. it sent the association request (done with wfx_join_finalize())

The join request (see hif_join()) contains basic rates, beacon interval
and bssid to connect, so we trig on these events for the first step.

The second step is obviously associated to the event BSS_CHANGED_ASSOC.

Note that conf_mutex is now easier to manage. It is held by
wfx_bss_info_changed() and inner functions does not need to lock it.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-7-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: set all parameters before starting AP
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:25 +0000 (15:32 +0200)]
staging: wfx: set all parameters before starting AP

Current code start AP and then configure the different parameters. Since
all the configuration is sent quickly after AP started, it works.
However, it is not very nice. In add, last firmware releases start to
disallow incorrect settings.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-6-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: implement start_ap/stop_ap
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:24 +0000 (15:32 +0200)]
staging: wfx: implement start_ap/stop_ap

Currently, wfx_bss_info_changed() check interface status changes and
guess when the pattern match with an AP start and AP stop (through
wfx_update_beaconing()). It is far easier to rely on start_ap and
stop_ap callbacks provided by mac80211.

wfx_bss_info_changed() keeps only the responsibility of updating the
frame templates.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-5-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: call wfx_do_unjoin() synchronously
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:23 +0000 (15:32 +0200)]
staging: wfx: call wfx_do_unjoin() synchronously

Currently, wfx_do_unjoin() are called by the mean of work queues.
However, the contexts from where they are called are not atomic. So
there is no reason to not call it synchronously.

This change will simplify the code. Notice two main changes:
   - There no more reason to lock tx queue before to run
     wfx_do_unjoin(). We can lock the tx queue directly from
     wfx_do_unjoin().
   - Most of the time, wfx_do_unjoin_work() was called with conf_mutex
     held. This patch remove lock of conf_mutex in wfx_do_unjoin_work()
     and ensure that conf_mutex is always held whatever the context.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-4-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: reduce hold duration of cfg80211_bss
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:22 +0000 (15:32 +0200)]
staging: wfx: reduce hold duration of cfg80211_bss

Pointer to cfg80211_bss is held during all duration of wfx_do_join. But,
it is not necessary, We can release it far earlier.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-3-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: fix race between configure_filter and remove_interface
Jérôme Pouiller [Fri, 10 Apr 2020 13:32:21 +0000 (15:32 +0200)]
staging: wfx: fix race between configure_filter and remove_interface

wfx_remove_interface() and wfx_configure_filter() can be run
concurrently. Therefore, this patch protect access to the list of
interfaces from wfx_configure_filter().

Notice that wfx_configure_filter() now lock "conf_lock" and "scan_lock".
Beside that, wfx_hw_scan_work() also access to the same locks. So we
have to lock them in same order to avoid any deadlock.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200410133239.438347-2-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: send just necessary bytes
Jérôme Pouiller [Mon, 6 Apr 2020 11:17:56 +0000 (13:17 +0200)]
staging: wfx: send just necessary bytes

Size of hif_mib_template_frame must be sufficient to contains bytes
declared by frame_length and cannot exceed 700bytes.

Change the API to reflect that.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200406111756.154086-12-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: make hif_ie_table_entry const
Jérôme Pouiller [Mon, 6 Apr 2020 11:17:55 +0000 (13:17 +0200)]
staging: wfx: make hif_ie_table_entry const

In wfx_update_filtering(), filter_ies is never modified. So, make it
constant.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200406111756.154086-11-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: allow to connect an IBSS with an existing SSID
Jérôme Pouiller [Mon, 6 Apr 2020 11:17:54 +0000 (13:17 +0200)]
staging: wfx: allow to connect an IBSS with an existing SSID

With current code, chip is not able to join an existing IBSS network.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200406111756.154086-10-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: place hif_tx_mib functions into a .c file
Jérôme Pouiller [Mon, 6 Apr 2020 11:17:53 +0000 (13:17 +0200)]
staging: wfx: place hif_tx_mib functions into a .c file

Until now, all functions from hif_tx_mib.h are declared "static inline".
However, they are not time critical. So, it does not make so much sense.

We prefer to place them in a .c file as for other hif functions.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200406111756.154086-9-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: align members declarations in hif API
Jérôme Pouiller [Mon, 6 Apr 2020 11:17:52 +0000 (13:17 +0200)]
staging: wfx: align members declarations in hif API

Hardware API headers were not uniformly aligned.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200406111756.154086-8-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: fix endianness of hif API
Jérôme Pouiller [Mon, 6 Apr 2020 11:17:51 +0000 (13:17 +0200)]
staging: wfx: fix endianness of hif API

The chip expects little endian in all structs it sends/receives. This
patch fixes the hif API to reflect this fact. Sparse should now report
meaningful errors.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200406111756.154086-7-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: remove useless defines
Jérôme Pouiller [Mon, 6 Apr 2020 11:17:50 +0000 (13:17 +0200)]
staging: wfx: remove useless defines

Several values defined in hif API are only here to define length of some
arrays. In most cases, they do not provide any extra information about
the size of the array (ie. "API_FIRMWARE_LABEL_SIZE" is only used to
define the size of member "firmware_label").

Remove these useless definitions.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200406111756.154086-6-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: remove unused definitions from the hif API
Jérôme Pouiller [Mon, 6 Apr 2020 11:17:49 +0000 (13:17 +0200)]
staging: wfx: remove unused definitions from the hif API

Until now, hif API was directly imported from firmware sources.
However, it does not make sense to keep ton of unused structures in
the driver. Moreover, the hif API is now stable enough to be keep in
sync by importing delta from firmware.

So, drop unused definitions from the hif API.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200406111756.154086-5-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: relocate TX_RETRY_POLICY_MAX and TX_RETRY_POLICY_INVALID to hif API
Jérôme Pouiller [Mon, 6 Apr 2020 11:17:48 +0000 (13:17 +0200)]
staging: wfx: relocate TX_RETRY_POLICY_MAX and TX_RETRY_POLICY_INVALID to hif API

The definitions TX_RETRY_POLICY_MAX and TX_RETRY_POLICY_INVALID are
imposed by the hardware. Therefore, they should be located in the
hardware interface API.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200406111756.154086-4-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: relocate LINK_ID_NO_ASSOC and MAX_STA_IN_AP_MODE to hif API
Jérôme Pouiller [Mon, 6 Apr 2020 11:17:47 +0000 (13:17 +0200)]
staging: wfx: relocate LINK_ID_NO_ASSOC and MAX_STA_IN_AP_MODE to hif API

The definitions LINK_ID_NO_ASSOC and MAX_STA_IN_AP_MODE are imposed by
the hardware. Therefore, they should be located in the hardware
interface API.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200406111756.154086-3-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: drop unused WFX_LINK_ID_GC_TIMEOUT
Jérôme Pouiller [Mon, 6 Apr 2020 11:17:46 +0000 (13:17 +0200)]
staging: wfx: drop unused WFX_LINK_ID_GC_TIMEOUT

The definition WFX_LINK_ID_GC_TIMEOUT is not used anymore since
commit d6aeba575f27 ("staging: wfx: simplify the link-id allocation")

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200406111756.154086-2-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8723bs: hal: Correct misspelled symbolic name
R Veera Kumar [Mon, 6 Apr 2020 15:41:26 +0000 (21:11 +0530)]
staging: rtl8723bs: hal: Correct misspelled symbolic name

Correct misspelled symbolic name.
Misspelling found using checkpatch.pl.

Signed-off-by: R Veera Kumar <vkor@vkten.in>
Link: https://lore.kernel.org/r/b893adc31b71722df63d0756f0d360e27f896e51.1586187304.git.vkor@vkten.in
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8723bs: hal: Correct misspelt enum name
R Veera Kumar [Mon, 6 Apr 2020 15:41:25 +0000 (21:11 +0530)]
staging: rtl8723bs: hal: Correct misspelt enum name

Correct misspelt enum name.
Misspelling found using checkpatch.pl.

Signed-off-by: R Veera Kumar <vkor@vkten.in>
Link: https://lore.kernel.org/r/d091fa95d537f613c24e55a2dee638d4493534b5.1586187304.git.vkor@vkten.in
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8723bs: Correct misspelt symbolic names
R Veera Kumar [Mon, 6 Apr 2020 15:41:24 +0000 (21:11 +0530)]
staging: rtl8723bs: Correct misspelt symbolic names

Correct misspelt symbolic names.
Misspelling found using checkpatch.pl.

Signed-off-by: R Veera Kumar <vkor@vkten.in>
Link: https://lore.kernel.org/r/abe807c11a5fda479ed6079a11d528989fe7b63e.1586187304.git.vkor@vkten.in
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: remove hack about tx_rate policies
Jérôme Pouiller [Wed, 1 Apr 2020 11:04:05 +0000 (13:04 +0200)]
staging: wfx: remove hack about tx_rate policies

Current code contains a weird hack to avoid switch from 54Mbps CTS to
1Mbps. However, we have not been able to reproduce the problem and
hardware team don't know any defect of this kind. So, it seems this hack
is no more necessary.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-33-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: fix case where AP stop with CAB traffic pending
Jérôme Pouiller [Wed, 1 Apr 2020 11:04:04 +0000 (13:04 +0200)]
staging: wfx: fix case where AP stop with CAB traffic pending

When driver has Content After DTIM Beacon (CAB) in queue, it wait for an
indication from the firmware. However, when we stop to send beacons,
this indication may never happen.

Solve this issue by simply simulate this indication. Firmware will send
data that probably nobody will heard.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-32-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: fix potential deadlock in wfx_tx_flush()
Jérôme Pouiller [Wed, 1 Apr 2020 11:04:03 +0000 (13:04 +0200)]
staging: wfx: fix potential deadlock in wfx_tx_flush()

wfx_tx_flush() wait there are no more frame in device buffer. However,
this event may never happens since wfx_tx_flush() don't forbid to
enqueue new frames.

Note that wfx_tx_flush() should only ensure that all frames currently in
hardware queues are sent. So the current code is more restrictive that
it should.

Note that wfx_tx_flush() release the lock before to return while
wfx_tx_lock_flush() keep the lock.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-31-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: wfx_flush() did not ensure that frames are processed
Jérôme Pouiller [Wed, 1 Apr 2020 11:04:02 +0000 (13:04 +0200)]
staging: wfx: wfx_flush() did not ensure that frames are processed

wfx_flush() exited once all frames are retrieved from the device.
However, it did not ensure they were processed by driver before to
return. Therefore, some frame may be processed after the interface has
disappear.

Change the place we signal that the queue is empty to fix that.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-30-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: repair wfx_flush()
Jérôme Pouiller [Wed, 1 Apr 2020 11:04:01 +0000 (13:04 +0200)]
staging: wfx: repair wfx_flush()

Until now, wfx_flush() flushed queue for while device instead of only
the queue of the intended vif. It sometime failed with a timeout, but
this error was not reported.

Moreover, if the device was frozen, wfx_flush didn't do anything and it
results a potential warning (and maybe a resource leak) when the frozen
device was unregistered.

We can also notice that wfx_tx_queues_wait_empty_vif() did only exist to
work around the broken feature of wfx_flush().

This patch repair wfx_flush() and therefore drop
wfx_tx_queues_wait_empty_vif().

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-29-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: relocate wfx_skb_dtor() prior its callers
Jérôme Pouiller [Wed, 1 Apr 2020 11:04:00 +0000 (13:04 +0200)]
staging: wfx: relocate wfx_skb_dtor() prior its callers

In a next commit, we would like to mark wfx_skb_dtor as static and stop
to declare it in data_tx.h.

Relocate wfx_skb_dtor() prior its callers to avoid compile error.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-28-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: improve interface between data_tx.c and queue.c
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:59 +0000 (13:03 +0200)]
staging: wfx: improve interface between data_tx.c and queue.c

Currently, wfx_pending_remove() (from queue.c) call wfx_skb_dtor()
(from data_tx.c) that forward the tx status to mac80211.

Moreover, there no purpose to retrieve a frame from the pending queue
without dequeuing it. So, the main purpose of wfx_pending_remove() is to
forward the tx status to mac80211.

Let's make the architecture cleaner:
  - merge wfx_pending_remove() into wfx_pending_get()
  - call wfx_skb_dtor() from data_tx.c

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-27-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: simplify usage of wfx_tx_queues_put()
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:58 +0000 (13:03 +0200)]
staging: wfx: simplify usage of wfx_tx_queues_put()

The queue used for wfx_tx_queue_put() can be deducted from the content
of the skb. So drop this parameter from call to wfx_tx_queues_put().

In add, this change uniformizes usage of functions wfx_tx_queues_*.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-26-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: drop struct wfx_queue_stats
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:57 +0000 (13:03 +0200)]
staging: wfx: drop struct wfx_queue_stats

There is no reason to keep the intermediate struct wfx_queue_stats.
Relocate its members to struct wfx_dev.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-25-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: drop now useless field edca_params
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:56 +0000 (13:03 +0200)]
staging: wfx: drop now useless field edca_params

Since we do not rely in QoS parameters to choose which frame to send, it
is no more necessary to keep a copy of EDCA parameters.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-24-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: change the way to choose frame to send
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:55 +0000 (13:03 +0200)]
staging: wfx: change the way to choose frame to send

The current code computes itself the QoS policy to choose which frame
should be sent. However, firmware already do that job. Firmware would
prefer to have packets in every queues and be able to choose itself
which queue to use.

So, this patch sort the queues from the emptiest to the fulliest (thanks
to the pending frames counter introduced a few commits earlier). It send
frame to the least full queue.

However, we continue to be careful with frames that have to be sent
after a dtim ("cab": Content After (DTIM) Beacon).

So, this patch splits AC queues in two skb_queues: one for normal frames
and another for cab frames. It cares to send frames from CAB skb_queue
if appropriate.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-23-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: introduce a counter of pending frames
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:54 +0000 (13:03 +0200)]
staging: wfx: introduce a counter of pending frames

This counter will be useful to know which queue is least full in a
further patch.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-22-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: replace wfx_tx_queues_get_after_dtim() by wfx_tx_queues_has_cab()
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:53 +0000 (13:03 +0200)]
staging: wfx: replace wfx_tx_queues_get_after_dtim() by wfx_tx_queues_has_cab()

It is not necessary to return a skb. Just getting the information if
there is traffic to be sent after DTIM is sufficient.

In add, the acronym "cab" (Content After (DTIM) Beacon) is used in
mac80211 to designate this kind of traffic.

So, make wfx_tx_queues_get_after_dtim() return a boolean and rename
accordingly.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-21-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: rename wfx_tx_get_raw_link_id()
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:52 +0000 (13:03 +0200)]
staging: wfx: rename wfx_tx_get_raw_link_id()

Since concept of "raw_link_id" does not exist anymore, rename
wfx_tx_get_raw_link_id() in wfx_tx_get_link_id().

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-20-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: drop unused raw_link_id field
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:51 +0000 (13:03 +0200)]
staging: wfx: drop unused raw_link_id field

raw_link_id can be retrieved by wfx_tx_get_raw_link_id(). So, it is not
necessary to keep it in struct wfx_tx_priv.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-19-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: drop unused link_id field
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:50 +0000 (13:03 +0200)]
staging: wfx: drop unused link_id field

It is not used anymore.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-18-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: do not rely anymore on link_id to choose packet in queue
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:49 +0000 (13:03 +0200)]
staging: wfx: do not rely anymore on link_id to choose packet in queue

link_id was expected to contain identifier of a station. It was also
used to mark frames that has to sent after dtim. We do not use the
further purpose. For the last purpose, we can directly check the flag
value in tx_info.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-17-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: drop useless link_map_cache
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:48 +0000 (13:03 +0200)]
staging: wfx: drop useless link_map_cache

Driver does not use link_map_cache anymore. So we can drop it. In add,
we do not have to keep this counter in sync with skb_queue item, so we
can drop explicit spin_locks.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-16-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: do not use link_map_cache to track CAB
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:47 +0000 (13:03 +0200)]
staging: wfx: do not use link_map_cache to track CAB

Since we do not track power save status of the stations anymore,
link_map_cache is now only used to track "Content After (DTIM) Beacon".
We prefer to rely on flags from tx_info. So we will be able to drop
link_map_cache.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-15-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: drop argument tx_allowed_mask since it is constant now
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:46 +0000 (13:03 +0200)]
staging: wfx: drop argument tx_allowed_mask since it is constant now

Following the remove of asleep_mask, the tx_allowed_mask argument passed
to various functions is now always the same. Drop this argument and
simplify the code.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-14-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: drop useless sta_asleep_mask
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:45 +0000 (13:03 +0200)]
staging: wfx: drop useless sta_asleep_mask

Currently, the driver tracks power save state of the stations with the
variable sta_asleep_mask. Then, it takes care to not sent data to asleep
stations.

However, this work is already done by mac80211. Normally, there are no
frames for asleep stations in our queues. So, driver do not have to
filter frames in its queues (apart the frames marked "AFTER_DTIM").

Notice that there is a risk of race between state of the station and
data send to the firmware. However, this risk is limited since the
number of frame in queues are small. In add, this race also exists with
the current code. Anyway, the firmware is able to detect the problem and
driver will receive a 'REQUEUE' status (translated in
TX_STAT_TX_FILTERED for mac80211).

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-13-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: simplify wfx_tx_queue_mask_get()
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:44 +0000 (13:03 +0200)]
staging: wfx: simplify wfx_tx_queue_mask_get()

It is far simpler to return a pointer instead of an error. Thus, it is
no more necessary to pass a pointer reference as argument.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-12-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: drop unused argument in wfx_get_prio_queue()
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:43 +0000 (13:03 +0200)]
staging: wfx: drop unused argument in wfx_get_prio_queue()

The argument "total" is not used anymore since commit a3c529a83589
("staging: wfx: simplify handling of IEEE80211_TX_CTL_SEND_AFTER_DTIM").

Fixes: a3c529a83589 ("staging: wfx: simplify handling of IEEE80211_TX_CTL_SEND_AFTER_DTIM")
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-11-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: simplify wfx_tx_queues_empty()
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:42 +0000 (13:03 +0200)]
staging: wfx: simplify wfx_tx_queues_empty()

Thanks to skb_queue_empty_lockless(), it is not necessary to acquire the
spin_lock before to check if the queue is empty.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-10-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: simplify hif_handle_tx_data()
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:41 +0000 (13:03 +0200)]
staging: wfx: simplify hif_handle_tx_data()

The last argument of hif_handle_tx_data() was now unused. In add,
hif_handle_tx_data() has nothing to do with HIF layer and should be
renamed. Finally, it not convenient to pass a wfx_vif as parameter. It
is easier to let hif_handle_tx_data() find the interface itself.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-9-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: avoid useless wake_up
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:40 +0000 (13:03 +0200)]
staging: wfx: avoid useless wake_up

__wfx_flush() wait for all queues to be empty. In current code,
wait_link_id_empty is wake up each time there is no more data for a
station. We can simplify the processing and avoid some wake-up by
raising this event only when the queue is empty.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-8-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: drop useless queue_id field
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:39 +0000 (13:03 +0200)]
staging: wfx: drop useless queue_id field

The field queue_id is no more used.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-7-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: uniformize queue_id retrieval
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:38 +0000 (13:03 +0200)]
staging: wfx: uniformize queue_id retrieval

tx_info->hw_queue contains "vif.hw_queue[skb_get_queue_mapping(skb)]".
For now, it is equivalent of "skb_get_queue_mapping(skb)". However, it
is not the same semantic. In wfx_tx_inner(), we want to get the mac80211
queue index, not the hardware queue index.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-6-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: remove "burst" mechanism
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:37 +0000 (13:03 +0200)]
staging: wfx: remove "burst" mechanism

In the old days, the driver tried to reorder frames in order to send
frames from the same queue grouped to the firmware. However, the
firmware is able to do the job internally for a long time. There is no
reasons to keep this mechanism.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-5-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: take advantage of ieee80211_{stop/start}_queues
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:36 +0000 (13:03 +0200)]
staging: wfx: take advantage of ieee80211_{stop/start}_queues

Instead of maintaining stop status for each queue, we can just maintain
a global status for all queues.

In add, wfx_tx_queues_{lock/unlock} are only used when no more
tx_policies are available. Therefore, the counter of recursive locks
("tx_locked_cnt") is useless.

So, wfx_tx_queues_{lock/unlock} can be replaced by
ieee80211_{stop/start}_queues.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-4-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: do not stop mac80211 queueing during tx_policy upload
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:35 +0000 (13:03 +0200)]
staging: wfx: do not stop mac80211 queueing during tx_policy upload

When a new tx_policy has to be uploaded, it is necessary to avoid any
race between the frame and the policy. So, the driver stops the tx queue
during tx_policy upload. However, it is not necessary to stop mac80211
queuing.

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-3-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: wfx: add sanity checks to hif_join()
Jérôme Pouiller [Wed, 1 Apr 2020 11:03:34 +0000 (13:03 +0200)]
staging: wfx: add sanity checks to hif_join()

Add a few check on start of hif_join().

Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200401110405.80282-2-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8188eu: Line over 80 characters
Soumyajit Deb [Mon, 6 Apr 2020 11:17:06 +0000 (16:47 +0530)]
staging: rtl8188eu: Line over 80 characters

Break various lines into multiple lines to respect 80 character width
limit.
Reported by checkpatch.pl

Signed-off-by: Soumyajit Deb <debsoumyajit100@gmail.com>
Link: https://lore.kernel.org/r/20200406111706.25957-4-debsoumyajit100@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8188eu: Remove unnecessary extra parentheses
Soumyajit Deb [Mon, 6 Apr 2020 11:17:05 +0000 (16:47 +0530)]
staging: rtl8188eu: Remove unnecessary extra parentheses

Remove unnecessary extra parentheses to improve code readability.

Signed-off-by: Soumyajit Deb <debsoumyajit100@gmail.com>
Link: https://lore.kernel.org/r/20200406111706.25957-3-debsoumyajit100@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8188eu: Properly structure the multiline comment
Soumyajit Deb [Mon, 6 Apr 2020 11:17:04 +0000 (16:47 +0530)]
staging: rtl8188eu: Properly structure the multiline comment

Add "*" at the start of each line of the multiline comment to improve
code readability and to adhere to the uniform Kernel coding style.
Reported by checkpatch.pl

Signed-off-by: Soumyajit Deb <debsoumyajit100@gmail.com>
Link: https://lore.kernel.org/r/20200406111706.25957-2-debsoumyajit100@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8188eu: remove unnecessary variable
Michael Straube [Sun, 5 Apr 2020 11:22:30 +0000 (13:22 +0200)]
staging: rtl8188eu: remove unnecessary variable

The variable 'bStopBlinking' is used in if tests immediately after its
value is set. Use the conditions for setting 'bStopBlinking' diretly in
the subsequent if tests and remove the variable. Slightly reduces
object file size by 16 bytes (gcc 9.2.1 x86_64).

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Link: https://lore.kernel.org/r/20200405112230.31975-2-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8188eu: remove unnecessary asignment
Michael Straube [Sun, 5 Apr 2020 11:22:29 +0000 (13:22 +0200)]
staging: rtl8188eu: remove unnecessary asignment

Remove unnecessary asignment in SwLedBlink1(). The code path with the
asignment 'pLed->BlinkTimes = 0' is only executed when
'pLed->BlinkTimes' is already zero and the value is not changed between
the test 'if (pLed->BlinkTimes == 0)' and the asignment.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20200405112230.31975-1-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: unisys: visorhba: Correct a typo in comment
R Veera Kumar [Sun, 5 Apr 2020 17:57:22 +0000 (23:27 +0530)]
staging: unisys: visorhba: Correct a typo in comment

Correct a typo in comment.
Misspelling found using checkpatch.pl.

Signed-off-by: R Veera Kumar <vkor@vkten.in>
Link: https://lore.kernel.org/r/20200405175722.8188-1-vkor@vkten.in
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8192e: rtl8192e: Correct misspelt variable name
R Veera Kumar [Sun, 5 Apr 2020 17:42:47 +0000 (23:12 +0530)]
staging: rtl8192e: rtl8192e: Correct misspelt variable name

Correct misspelt variable name.
Misspelling found using checkpatch.pl.

Signed-off-by: R Veera Kumar <vkor@vkten.in>
Link: https://lore.kernel.org/r/20200405174247.7868-1-vkor@vkten.in
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: gdm724x: remove redundant assignment to pointer 'w'
Colin Ian King [Sun, 5 Apr 2020 13:06:19 +0000 (14:06 +0100)]
staging: gdm724x: remove redundant assignment to pointer 'w'

The pointer 'w' is being initialized with a value that is never read
and it is being updated later with a new value. The initialization
is redundant and can be removed.

Addresses-Coverity: ("Unused value")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Link: https://lore.kernel.org/r/20200405130619.377043-1-colin.king@canonical.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agoStaging: vt6655: Replace camel case variable names.
Briana Oursler [Fri, 3 Apr 2020 17:18:05 +0000 (10:18 -0700)]
Staging: vt6655: Replace camel case variable names.

Replace camel case variable names with snake case in baseband.h and its
dependencies.

Signed-off-by: Briana Oursler <briana.oursler@gmail.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Link: https://lore.kernel.org/r/20200403171805.466600-1-briana.oursler@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: bcm2835-camera: reduce indentation in ctrl_set_image_effect
Stefan Wahren [Sun, 29 Mar 2020 12:45:01 +0000 (14:45 +0200)]
staging: bcm2835-camera: reduce indentation in ctrl_set_image_effect

We can reduce the indentation in the loop by using continue in case the
effect doesn't match.

Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/1585485901-10172-10-git-send-email-stefan.wahren@i2se.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: bcm2835-camera: reduce multiline statements
Stefan Wahren [Sun, 29 Mar 2020 12:45:00 +0000 (14:45 +0200)]
staging: bcm2835-camera: reduce multiline statements

There are a lot of multiline statements which can be reduced.

Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/1585485901-10172-9-git-send-email-stefan.wahren@i2se.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: bcm2835-camera: return early in mmal_setup_components
Stefan Wahren [Sun, 29 Mar 2020 12:44:59 +0000 (14:44 +0200)]
staging: bcm2835-camera: return early in mmal_setup_components

We can reduce the indentation in mmal_setup_components further by
returning early in error case.

Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/1585485901-10172-8-git-send-email-stefan.wahren@i2se.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: bcm2835-camera: Move video component setup in its own function
Stefan Wahren [Sun, 29 Mar 2020 12:44:58 +0000 (14:44 +0200)]
staging: bcm2835-camera: Move video component setup in its own function

The function mmal_setup_components has to many indention levels. So move
the setup code for video component in its own function.

Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/1585485901-10172-7-git-send-email-stefan.wahren@i2se.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: bcm2835-camera: Move encode component setup in its own function
Stefan Wahren [Sun, 29 Mar 2020 12:44:57 +0000 (14:44 +0200)]
staging: bcm2835-camera: Move encode component setup in its own function

The function mmal_setup_components has to many indention levels. So move
the setup code for encode component in its own function.

Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/1585485901-10172-6-git-send-email-stefan.wahren@i2se.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: bcm2835-camera: Simplify set_framerate_params
Stefan Wahren [Sun, 29 Mar 2020 12:44:56 +0000 (14:44 +0200)]
staging: bcm2835-camera: Simplify set_framerate_params

This simplifies set_framerate_params and avoids the multiple assignment
in one line by moving the fps_high handling out of the if statement.

Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/1585485901-10172-5-git-send-email-stefan.wahren@i2se.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: bcm2835-camera: Make struct indentation consistent
Stefan Wahren [Sun, 29 Mar 2020 12:44:55 +0000 (14:44 +0200)]
staging: bcm2835-camera: Make struct indentation consistent

The indentation of struct members wasn't consistent over the whole driver.

Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/1585485901-10172-4-git-send-email-stefan.wahren@i2se.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: bcm2835-camera: Activate V4L2_EXPOSURE_METERING_MATRIX handling
Stefan Wahren [Sun, 29 Mar 2020 12:44:54 +0000 (14:44 +0200)]
staging: bcm2835-camera: Activate V4L2_EXPOSURE_METERING_MATRIX handling

I don't see any reason to keep this TODO, so activate the
V4L2_EXPOSURE_METERING_MATRIX handling.

Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/1585485901-10172-3-git-send-email-stefan.wahren@i2se.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: bcm2835-camera: Drop PREVIEW_LAYER
Stefan Wahren [Sun, 29 Mar 2020 12:44:53 +0000 (14:44 +0200)]
staging: bcm2835-camera: Drop PREVIEW_LAYER

This define is used only once. So drop the define and init the layer
directly.

Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/1585485901-10172-2-git-send-email-stefan.wahren@i2se.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: fsl-dpaa2: ethsw: Fix parenthesis alignment
John B. Wyatt IV [Thu, 2 Apr 2020 02:33:10 +0000 (19:33 -0700)]
staging: fsl-dpaa2: ethsw: Fix parenthesis alignment

Fix 2 parenthesis alignment issues.

Reported by checkpatch.

Signed-off-by: John B. Wyatt IV <jbwyatt4@gmail.com>
Link: https://lore.kernel.org/r/20200402023310.816245-1-jbwyatt4@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: axis-fifo: Fix parenthesis alignment
John B. Wyatt IV [Thu, 2 Apr 2020 01:50:08 +0000 (18:50 -0700)]
staging: axis-fifo: Fix parenthesis alignment

Fix 2 parenthesis alignment issues.

Reported by checkpatch.

Signed-off-by: John B. Wyatt IV <jbwyatt4@gmail.com>
Link: https://lore.kernel.org/r/20200402015008.728612-1-jbwyatt4@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8712: fix multiline derefernce warnings
Aiman Najjar [Sun, 29 Mar 2020 18:57:47 +0000 (14:57 -0400)]
staging: rtl8712: fix multiline derefernce warnings

This patch fixes remaining checkpatch warnings
in rtl871x_xmit.c:

WARNING: Avoid multiple line dereference - prefer 'psecuritypriv->PrivacyKeyIndex'
636: FILE: drivers/staging//rtl8712/rtl871x_xmit.c:636:
+       (u8)psecuritypriv->
+       PrivacyKeyIndex);

WARNING: Avoid multiple line dereference - prefer 'psecuritypriv->XGrpKeyid'
643: FILE: drivers/staging//rtl8712/rtl871x_xmit.c:643:
+    (u8)psecuritypriv->
+    XGrpKeyid);

WARNING: Avoid multiple line dereference - prefer 'psecuritypriv->XGrpKeyid'
652: FILE: drivers/staging//rtl8712/rtl871x_xmit.c:652:
+    (u8)psecuritypriv->
+    XGrpKeyid);

Signed-off-by: Aiman Najjar <aiman.najjar@hurranet.com>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/98805a72b92e9bbf933e05b827d27944663b7bc1.1585508171.git.aiman.najjar@hurranet.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8712: code improvements to make_wlanhdr
Aiman Najjar [Sun, 29 Mar 2020 18:57:46 +0000 (14:57 -0400)]
staging: rtl8712: code improvements to make_wlanhdr

1. Refactor make_wlanhdr to improve code style.
2. Use ether_addr_copy instead of memcpy to copy addresses.

Suggested-by: Joe Perches <joe@perches.com>
Signed-off-by: Aiman Najjar <aiman.najjar@hurranet.com>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/275773a0379e4a03839cd832d2ed952fd7bfee48.1585508171.git.aiman.najjar@hurranet.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8712: fix checkpatch warnings
Aiman Najjar [Sun, 29 Mar 2020 18:57:45 +0000 (14:57 -0400)]
staging: rtl8712: fix checkpatch warnings

This patch fixes multiline dereference warnings in
rtl871x_xmit.c:

WARNING: Avoid multiple line dereference - prefer 'psecuritypriv->XGrptxmickey'
379: FILE: drivers/staging//rtl8712/rtl871x_xmit.c:379:
+ psecuritypriv->
+ XGrptxmickey[psecuritypriv->

WARNING: Avoid multiple line dereference - prefer 'psecuritypriv->XGrpKeyid'
380: FILE: drivers/staging//rtl8712/rtl871x_xmit.c:380:
+ XGrptxmickey[psecuritypriv->
+ XGrpKeyid].skey);

Signed-off-by: Aiman Najjar <aiman.najjar@hurranet.com>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/ddd296c34c5b0206dfe5cf2e6cbe40e0a118c257.1585508171.git.aiman.najjar@hurranet.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8712: fix long-line checkpatch warning
Aiman Najjar [Sun, 29 Mar 2020 18:57:44 +0000 (14:57 -0400)]
staging: rtl8712: fix long-line checkpatch warning

This patch fixes the following warning in rtl871x_xmit.c:

WARNING: line over 80 characters
130: FILE: drivers/staging//rtl8712/rtl871x_xmit.c:130:
+ pxmitbuf->pallocated_buf = kmalloc(MAX_XMITBUF_SZ + XMITBUF_ALIGN_SZ,

Signed-off-by: Aiman Najjar <aiman.najjar@hurranet.com>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/de477e0d8f352c1d6cd75d64d84ac6f9017db254.1585508171.git.aiman.najjar@hurranet.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8712: fix checkpatch long-line warning
Aiman Najjar [Sun, 29 Mar 2020 18:57:43 +0000 (14:57 -0400)]
staging: rtl8712: fix checkpatch long-line warning

This patch fixes these two long-line checkpatch warnings
in rtl871x_xmit.c:

WARNING: line over 80 characters
\#74: FILE: drivers/staging//rtl8712/rtl871x_xmit.c:74:
+       * Please allocate memory with the sz = (struct xmit_frame) * NR_XMITFRAME,

WARNING: line over 80 characters
\#79: FILE: drivers/staging//rtl8712/rtl871x_xmit.c:79:
+               kmalloc(NR_XMITFRAME * sizeof(struct xmit_frame) + 4, GFP_ATOMIC);

Signed-off-by: Aiman Najjar <aiman.najjar@hurranet.com>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/acd523d0d24cc81fae9eb933a066d87815587cee.1585508171.git.aiman.najjar@hurranet.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: sm750fb: line over 80 characters
Gokce Kuler [Sat, 28 Mar 2020 20:15:13 +0000 (23:15 +0300)]
staging: sm750fb: line over 80 characters

Convert a single line comment to a multiline comment to respect the 80
character rule.Problem found using checkpatch.

Signed-off-by: Gokce Kuler <gokcekuler@gmail.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Link: https://lore.kernel.org/r/20200328201513.GA16863@siyah2
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: comedi: Fix line ending with a (
John B. Wyatt IV [Sun, 29 Mar 2020 08:00:31 +0000 (01:00 -0700)]
staging: comedi: Fix line ending with a (

Fix style issue with declaration by adopting the same style as the
function defintion in drivers/staging/comedi/comedi_buf.c.

Issue reported by checkpatch.

Signed-off-by: John B. Wyatt IV <jbwyatt4@gmail.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Link: https://lore.kernel.org/r/20200329080031.511959-1-jbwyatt4@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8188eu: refactor Efuse_GetCurrentSize()
Michael Straube [Sun, 29 Mar 2020 10:04:50 +0000 (12:04 +0200)]
staging: rtl8188eu: refactor Efuse_GetCurrentSize()

Refactor while loop in Efuse_GetCurrentSize() to reduce indentation
level and clear line over 80 characters checkpatch warnings.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20200329100450.10126-1-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: rtl8188eu: remove unnecessary parentheses
Michael Straube [Fri, 27 Mar 2020 18:53:11 +0000 (19:53 +0100)]
staging: rtl8188eu: remove unnecessary parentheses

Remove all remaining unnecessary parentheses reported by checkpatch.

Signed-off-by: Michael Straube <straube.linux@gmail.com>
Link: https://lore.kernel.org/r/20200327185311.16129-1-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: android: ion: Align with parenthesis
John B. Wyatt IV [Fri, 3 Apr 2020 04:24:48 +0000 (21:24 -0700)]
staging: android: ion: Align with parenthesis

Align two different lines of arguments with the parenthesis
of their respected function definitions. Fix style warnings
of matching alignment.

Reported by checkpatch.

Signed-off-by: John B. Wyatt IV <jbwyatt4@gmail.com>
Link: https://lore.kernel.org/r/20200403042448.863689-1-jbwyatt4@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: vt6656: set all cck rates to default.
Malcolm Priestley [Thu, 2 Apr 2020 21:42:17 +0000 (22:42 +0100)]
staging: vt6656: set all cck rates to default.

mac80211 rate control decides which cck rates to use so all of
them should be set enabled at the appropriate bit rate.

This means vnt_get_cck_rate is no longer required.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Link: https://lore.kernel.org/r/dec847da-5bad-1920-f275-741f7f704fb3@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: vt6656: set all ofdm rates to default
Malcolm Priestley [Thu, 2 Apr 2020 21:41:34 +0000 (22:41 +0100)]
staging: vt6656: set all ofdm rates to default

mac80211 rate control decides which odfm rates to use so all of
them should be set enabled at the appropriate bit rate.

This means vnt_get_ofdm_rate is no longer required.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Link: https://lore.kernel.org/r/9a52d7f4-dd3e-efdc-eef8-bb794f7dea6d@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: vt6656: replace al2230_power_table array with formula.
Malcolm Priestley [Thu, 2 Apr 2020 20:45:21 +0000 (21:45 +0100)]
staging: vt6656: replace al2230_power_table array with formula.

The power table can replaced with calculation 0x0404090 | (power << 12)
removing array and length macro.

variable power never goes beyond the maximum setting.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Link: https://lore.kernel.org/r/e277409a-4509-d09c-515d-59b952f8310d@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: vt6656: Define EnCFG_BBType_MASK as OR between previous defines
Oscar Carter [Thu, 2 Apr 2020 17:01:03 +0000 (19:01 +0200)]
staging: vt6656: Define EnCFG_BBType_MASK as OR between previous defines

Define the EnCFG_BBType_MASK bit as an OR operation between two previous
defines instead of using the OR between two new BIT macros. Thus, the
code is more clear.

Signed-off-by: Oscar Carter <oscar.carter@gmx.com>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Quentin Deslandes <quentin.deslandes@itdev.co.uk>
Link: https://lore.kernel.org/r/20200402170103.22520-1-oscar.carter@gmx.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: vt6656: add error code handling to unused variable
John B. Wyatt IV [Mon, 30 Mar 2020 23:39:00 +0000 (16:39 -0700)]
staging: vt6656: add error code handling to unused variable

Add error code handling to unused 'ret' variable that was never used.
Return an error code from functions called within vnt_radio_power_on.

Issue reported by coccinelle (coccicheck).

Suggested-by: Quentin Deslandes <quentin.deslandes@itdev.co.uk>
Suggested-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: Quentin Deslandes <quentin.deslandes@itdev.co.uk>
Signed-off-by: John B. Wyatt IV <jbwyatt4@gmail.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Link: https://lore.kernel.org/r/20200330233900.36938-1-jbwyatt4@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: vt6656: Refactor the vnt_update_pre_ed_threshold function
Oscar Carter [Sat, 28 Mar 2020 18:17:06 +0000 (19:17 +0100)]
staging: vt6656: Refactor the vnt_update_pre_ed_threshold function

Create three arrays with the threshold data use in the switch statement
of the vnt_update_pre_ed_threshold function. These three arrays contains
elements of struct vnt_threshold new type.

Create a for loop in the vnt_update_pre_ed_threshold function to do
exactly the same that the if-elseif-else statements in the switch
statement.

Also, remove the if check against the !cr_201 && !cr_206 due to now it
is replace by the NULL check against the threshold pointer. When this
pointer is NULL means that the cr_201 and cr_206 variables have not been
assigned, that is the same that the old comparison against cr_201 and
cr_206 due to these variables were initialized with 0.

The statistics of the old baseband object file are:

section              size   addr
.text                3415      0
.data                 576      0
.bss                    0      0
.rodata               120      0
.comment               45      0
.note.GNU-stack         0      0
.note.gnu.property     28      0
Total                4184

The statistics of the new baseband object file are:

section              size   addr
.text                2209      0
.data                 576      0
.bss                    0      0
.rodata               344      0
.comment               45      0
.note.GNU-stack         0      0
.note.gnu.property     28      0
Total                3202

With this refactoring it increase a little the readonly data but it
decrease much more the .text section. This refactoring decrease the
footprint and makes the code more clear.

Signed-off-by: Oscar Carter <oscar.carter@gmx.com>
Reviewed-by: Quentin Deslandes <quentin.deslandes@itdev.co.uk>
Link: https://lore.kernel.org/r/20200328181706.14276-1-oscar.carter@gmx.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agostaging: vt6656: Use defines in preamble_type variables
Oscar Carter [Sat, 28 Mar 2020 14:17:38 +0000 (15:17 +0100)]
staging: vt6656: Use defines in preamble_type variables

Use the PREAMBLE_SHORT and PREAMBLE_LONG defines present in the file
"baseband.h" to assign values to preamble_type variables. Also, use the
same defines to make comparisons against these variables.

In this way, avoid the use of numerical literals or boolean values and
make the code more clear.

Signed-off-by: Oscar Carter <oscar.carter@gmx.com>
Reviewed-by: Quentin Deslandes <quentin.deslandes@itdev.co.uk>
Link: https://lore.kernel.org/r/20200328141738.23810-1-oscar.carter@gmx.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
4 years agoStaging: vt6655: Remove BBvExitDeepSleep definition.
Briana Oursler [Thu, 2 Apr 2020 05:14:36 +0000 (22:14 -0700)]
Staging: vt6655: Remove BBvExitDeepSleep definition.

Remove function BBvExitDeepSleep that is never called.

Signed-off-by: Briana Oursler <briana.oursler@gmail.com>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Link: https://lore.kernel.org/r/027b00a27e2bef13c1daab3514dc7dc19fa1aa00.1585802818.git.briana.oursler@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>