Re: [PATCH 1/2] staging: vt6656: Refactor the assignment of the phy->signal variable

From: Malcolm Priestley
Date: Fri Apr 10 2020 - 11:38:06 EST




On 10/04/2020 12:28, Oscar Carter wrote:
Create a constant array with the values of the "phy->signal" for every
rate. Remove all "phy->signal" assignments inside the switch statement
and replace these with a single reading from the new vnt_phy_signal
array.

Signed-off-by: Oscar Carter <oscar.carter@xxxxxxx>
---
drivers/staging/vt6656/baseband.c | 101 +++++++-----------------------
1 file changed, 21 insertions(+), 80 deletions(-)

diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c
index a19a563d8bcc..47f93bf6e07b 100644
--- a/drivers/staging/vt6656/baseband.c
+++ b/drivers/staging/vt6656/baseband.c
@@ -115,6 +115,21 @@ static const u16 vnt_frame_time[MAX_RATE] = {
10, 20, 55, 110, 24, 36, 48, 72, 96, 144, 192, 216
};

Actually you don't need the second values

+static const u8 vnt_phy_signal[][2] = {
+ {0x00, 0x00}, /* RATE_1M */
The driver would never attempt use preamble at this rate
so it's safe to include in with the next 3 rates

+ {0x01, 0x09}, /* RATE_2M */
+ {0x02, 0x0a}, /* RATE_5M */
+ {0x03, 0x0b}, /* RATE_11M */
just |= BIT(3) for preamble.

+ {0x8b, 0x9b}, /* RATE_6M */
+ {0x8f, 0x9f}, /* RATE_9M */
+ {0x8a, 0x9a}, /* RATE_12M */
+ {0x8e, 0x9e}, /* RATE_18M */
+ {0x89, 0x99}, /* RATE_24M */
+ {0x8d, 0x9d}, /* RATE_36M */
+ {0x88, 0x98}, /* RATE_48M */
+ {0x8c, 0x9c} /* RATE_54M */

Again just |= BIT(4) for PK_TYPE_11A

Regards

Malcolm