Move some code around in rtw_mlme_ext.c to make it simpler.
mlme_sta_tbl is used only by mgt_dispatcher. Move the table inside the
function. Move mgt_dispatcher behind the handler functions. We can then
make the handler functions static.
Signed-off-by: Martin Kaiser <[email protected]>
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Set two more state variables in the blink worker when scan blinking and
tx/rx blinking are finished.
bLedBlinkInProgress is true during tx/rx blinking, bLedScanBlinkInProgress
is true during scan blinking. If we doing neither of the two, we may
safely set both variables to false.
This change makes the scan and tx/rx cases almost identical, we are now
ready to summarize the two cases.
Signed-off-by: Martin Kaiser <[email protected]>
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The only struct led_priv that's used in the r8188eu driver in embedded in
the driver's global struct adapter. We can use container_of to access the
"outer" structure, there's no need to store a pointer to it.
Signed-off-by: Martin Kaiser <[email protected]>
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The rtw_cmd.h does not need any definitions from the led layer, there's
no reason to include rtw_led.h.
When I tried to remove this component
struct led_priv {
struct adapter *padapter;
...
I saw compiler errors because of this chain of include files:
drv_types.h -> rtw_cmd.h -> rtw_led.h
rtw_led.h uses struct adapter before it sees the definiton near the end
of drv_types.h. (It seems that a simple struct adapter * prevents this
problem.)
The best option for fixing this issue is to not include rtw_led.h in
rtw_cmd.h.
Signed-off-by: Martin Kaiser <[email protected]>
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Using an InterTech DMG-02 dongle, the led remains on when the system goes
into standby mode. After wakeup, it's no longer possible to control the
led.
It turned out that the register settings to enable or disable the led were
not correct. They worked for some dongles like the Edimax V2 but not for
others like the InterTech DMG-02.
This patch fixes the register settings. Bit 3 in the led_cfg2 register
controls the led status, bit 5 must always be set to be able to control
the led, bit 6 has no influence on the led. Setting the mac_pinmux_cfg
register is not necessary.
These settings were tested with Edimax V2 and InterTech DMG-02.
Cc: [email protected]
Fixes: 8cd574e6af ("staging: r8188eu: introduce new hal dir for RTL8188eu driver")
Suggested-by: Michael Straube <[email protected]>
Signed-off-by: Martin Kaiser <[email protected]>
Tested-by: Michael Straube <[email protected]> # InterTech DMG-02,
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
For management frames, Addr2 is the Source Address (SA).
Use sa from the mgmt structure and remove the GetAddr2Ptr call.
GetAddr2Ptr is a driver-specific function that we should eventually
remove.
Signed-off-by: Martin Kaiser <[email protected]>
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Acked-by: Pavel Skripkin <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
bBusyTraffic is set only if we're not in WIFI_AP_STATE, i.e. in the else
branch. If we were not in WIFI_AP_STATE, we'd go into the if branch and
return _SUCCESS before making it to the bBusyTraffic assignment.
Move the assignment into the else branch to make this clearer.
Signed-off-by: Martin Kaiser <[email protected]>
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Acked-by: Pavel Skripkin <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Define a struct ieee80211_mgmt for the message that we process in
OnDeAuth. Use this struct to read the bssid.
This patch removes one GetAddr3Ptr call, getting us a tiny step closer to
removing GetAddr3Ptr.
Signed-off-by: Martin Kaiser <[email protected]>
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Acked-by: Pavel Skripkin <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Remove the bLedLinkBlinkInProgress component from struct led_priv. Its
only use is to block requests for "link blinking" when this blinking
pattern is already active.
The "link blinking" pattern is a continuous blinking pattern (as opposed
to other patterns where we blink N times), it's no problem to restart this
pattern when it's already running.
Signed-off-by: Martin Kaiser <[email protected]>
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The blink_work function calls either SwLedOff or SwLedOn. These two
functions handle bSurpriseRemoved and bDriverStopped.
There's no need to check bSurpriseRemoved and bDriverStopped again in the
blink worker.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
We don't have to check bSurpriseRemoved in the SwLedOn function.
SwLedOn calls rtw_read8 which in turn calls usb_read. This function checks
bSurpriseRemoved for us.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Both bLedOn and BlinkingLedState in struct led_priv store the same
information.
The boolean bLedOn stores the curent led state while BlinkingLedState
stores the next led state to be set during blinking, which is the inverse
of the current led state. (The led is either off or blinking, it's never
continuously on.)
This patch removes BlinkingLedState and uses bLedOn instead.
The LED_BLINK_WPS_STOP case in blink_work checked for
pLed->BlinkingLedState != RTW_LED_ON. This is true if the next led
blinking state is ON, i.e. if the led has just been switched off by
blink_work, i.e. if (!pLed->bLedOn).
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Remove the bLedNoLinkBlinkInProgress state variable. Its sole purpose is
to block subsequent requests for "no link" blinking when this blinking
pattern is already active.
It's perfectly safe to restart "no link" blinking. We can remove
bLedNoLinkBlinkInProgress and the many places where it's updated.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The blinking code to signal that a link is up has the same big if clause
around it as most other blink events.
Revert this if condition and exit if we're already blinking to show that
the link is up.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The code for tx/rx blinking is wrapped into a big if clause to prevent
restarting if tx/rx blinking is already running.
Revert the if condition and exit if tx/rx blinking is running. This does
not change the behaviour.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The code for scan blinking is wrapped into a big if clause to prevent
restarting if scan blinking is already running.
Revert the if condition and exit if scan blinking is running. This does
not change the behaviour.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
In rtw_led_control, we can always cancel a running blink worker when we
start WPS blinking.
The worker will be scheduled again and there's no point in having more
than one pending blink worker.
Tested-by: Michael Straube <[email protected]>
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Simplify one of the cases in rtw_led_control. If we're already blinking
during WPS, we don't have to restart this blinking when the caller
requests it again. We can simply return and keep on blinking.
Tested-by: Michael Straube <[email protected]>
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
When a caller of rtw_led_control requests that the led be switched off,
we should cancel the blink worker and set all blinking state variables
to false. This does not depend on the current blinking state.
Tested-by: Michael Straube <[email protected]>
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The rtw_sitesurvey_cmd function may receive an array of channels in the
ch and ch_num parameters. All of the callers set ch = NULL and ch_num = 0.
Remove the two parameters from rtw_sitesurvey_cmd and the code to process
them.
Tested-by: Michael Straube <[email protected]>
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Replace hwrng_register with devm_hwrng_register and let devres unregister
our hwrng when the device is removed.
It's possible to do this now that devres also handles clock
disable+uprepare. When we had to disable+unprepare the clock ourselves,
we had to unregister the hwrng before this and couldn't use devres.
There's nothing left to do for imx_rngc_remove, this function can go.
Signed-off-by: Martin Kaiser <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
Use the new devm_clk_get_enabled function to get our clock.
We don't have to disable and unprepare the clock ourselves any more in
error paths and in the remove function.
Signed-off-by: Martin Kaiser <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
Always update the status variables in rtw_led_control when we start
blinking because of no link. The code is easier to understand without
the if conditions.
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
In rtw_led_control, we can always cancel a running blink worker when we
start blinking because of no link.
The worker will be scheduled again and there's no point in having more
than one pending blink worker.
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Simplify one of the cases in rtw_led_control. If we're already blinking
because we have no link, we don't have to restart this blinking when the
caller requests it again. We can simply return and keep on blinking.
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Use KBUILD_MODNAME instead of hard coding the driver name.
Signed-off-by: Martin Kaiser <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
The high priority queue is always selected, regardless of the number of
out endpoints.
Therefore, haldata->OutEpQueueSel & TX_SELE_HQ is always true. We can
remove the check and use a define instead of the numHQ variable.
This check was the last user of TX_SELE_HQ. Rename haldata->OutEpQueueSel
to haldata->out_ep_extra_queues and store only the queues that are selected
in addition to the high priority queue.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
All of numPubQ, numHQ and numLQ variables store only u8 values. Change
their types to u8. We can then simplify the REG_RQPN expression. The
macros and the temporary variable are not needed any more.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The numNQ variable in _InitQueueReservedPage is defined as u32. It is
either set to 0 or to 0x1C. Change its type to u8 and remove the code that
casts the u32 value to u8.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Simplify the _InitNormalChipTwoOutEpPriority function, now that we have
only one configuration for the queues.
Remove the variables which are constant. Keep only those settings that
depend on wifi_spec.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
When _InitNormalChipTwoOutEpPriority is called, pdvobjpriv->RtNumOutPipes
and haldata->OutEpQueueSel have already been initialized.
_InitNormalChipTwoOutEpPriority is called only if
pdvobjpriv->RtNumOutPipes == 2. In this case, haldata->OutEpQueueSel is
always TX_SELE_HQ | TX_SELE_NQ.
Remove the switch-case statement and set valueHi and valueLow directly.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
When _InitNormalChipOneOutEpPriority is called, pdvobjpriv->RtNumOutPipes
and haldata->OutEpQueueSel have already been initialized.
_InitNormalChipOneOutEpPriority is called only if
pdvobjpriv->RtNumOutPipes == 1. In this case, haldata->OutEpQueueSel is
always TX_SELE_HQ.
We can then simplify _InitNormalChipOneOutEpPriority to a single
_InitNormalChipRegPriority call, i.e. we can remove
_InitNormalChipOneOutEpPriority and call _InitNormalChipRegPriority
directly.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Regardless of the number of endpoints, queues 4 to 7 are mapped to pipe 0.
Move these mappings to rtl8188eu_interface_configure to make the code
simpler.
It's ok to make these settings even if we exit with error later. In this
case, the driver will not be loaded and pdvobjpriv->Queue2Pipe[] will be
freed.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Remove the comments in two_out_pipe and three_out_pipe that show the
mappings. They simply repeat the settings in the code and provide no
additional information. Keep the info which RtOutPipe is high, normal
or low.
Without the removed comments, it'll be easier to summarize and reorganize
the code.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Remove the OutEpNumber component of struct hal_data_8188e.
RtNumOutPipes in struct dvobj_priv stores the same info.
Update the only place where OutEpNumber is read.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
rtl8188eu_interface_configure calls _ConfigNormalChipOutEP_8188E and
Hal_MappingOutPipe.
Both of these functions make some settings based on the number of
out endpoints on the 8188eu chip. We can merge both of them into
rtl8188eu_interface_configure and summarize the common code.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Move the Hal_MappingOutPipe function and the functions
one_/two_/three_out_pipe from hal_com.c to usb_halinit.c.
After this move, all the functions that rtl8188eu_interface_configure
calls are in one file and we can continue to summarize and merge them.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
At the moment, HalUsbSetQueuePipeMapping8188EUsb returns an error status
to rtl8188eu_interface_configure, where this status is discarded.
Pass the error status from rtl8188eu_interface_configure to
rtw_usb_if1_init and handle it there.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Update the Hal_MappingOutPipe function to return 0 for success or -EXNIO
if the caller requested more than the number of available endpoints.
This error code is also used by usb_find_common_endpoints if a requested
endpoint was not found.
Unlike a boolean return value, a negative error code can be returned to
external functions that call the r8188eu driver, e.g. to the caller of our
probe function.
HalUsbSetQueuePipeMapping8188EUsb passes the return value of
Hal_MappingOutPipe on to its caller. We have to change its return type
from bool to int as well.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Use offsetof to calculate the start offset of the information elements in
an association response message. This should make it easier to understand
how the offset is calculated.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Read the aid of the association response message from struct
ieee80211_mgmt. This should be easier to understand and to review than
calculating the offset manually.
Remove the cast to int, aid is a u16.
Keep the 0x3fff mask that is currently applied to the aid.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Read the capability info of the association response message from struct
ieee80211_mgmt. This should be easier to understand and to review than
calculating the offset manually.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Read the status code of the association response message from struct
ieee80211_mgmt. This should be easier to understand and to review than
calculating the offset manually.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The r8188eu driver implements an internal get_da function to read the
destination address (da) from an incoming message. Callers of this
function should be updated to use the ieee80211 framework, with the goal
of removing get_da eventually.
This patch replaces a get_da call in the OnAssocRsp function.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
rtw_usb_if1_init returns a pointer that isn't used by the caller. Return
an error code instead. We can then propagate errors from lower-level
functions like ReadAdapterInfo8188EU and fail the initialisation of the
driver with a proper error code.
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Update ReadAdapterInfo8188EU to return 0 for success or a negative
error code. If rtw_read8 fails, we can just relay the error it returns.
Update rtw_usb_if1_init to check the return value from
ReadAdapterInfo8188EU. For now, rtw_usb_if1_init does not yet pass errors
from ReadAdapterInfo8188EU on to its caller.
Suggested-by: Pavel Skripkin <[email protected]>
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Call eth_random_addr to generate a random mac address if we cannot load
the mac address from the efuses.
Do not use a constant mac address as fallback. This may create conflicts
if we have several r8188eu devices on the network.
Suggested-by: Joe Perches <[email protected]>
Tested-by: Philipp Hortmann <[email protected]> # Edimax N150
Reviewed-by: Pavel Skripkin <[email protected]>
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Use kmalloc to allocate the efuse buffer in ReadAdapterInfo8188EU and
free it on exit. This is better than using a 512 byte array on the stack.
It's ok to drop the __aligned(4) qualifier. kmalloc aligns to
ARCH_KMALLOC_MINALIGN, this is at least 8 bytes.
Suggested-by: Dan Carpenter <[email protected]>
Suggested-by: Larry Finger <[email protected]>
Acked-by: Larry Finger <[email protected]>
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The _offset parameter of iol_read_efuse is always 0. Remove the
parameter and use 0 in the function body.
We can now replace the bytewise copy from efuseTbl to pbuf with memcpy.
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
If BOOT_FROM_EEPROM is set, efuse_buf is not initialised before it is
passed to functions that read from it.
The buffer will be filled with 0x00 in this case like all local variables.
However, the parsing functions expect the buffer to be filled with 0xFF if
reading eeprom/efuse data failed. Fill the buffer with 0xFF before we try
to read the data.
Please note that this problem existed before we started using a local
buffer. Adapter->eeprompriv->efuse_eeprom_data was allocated as a part of
struct adapter by a vzalloc call in rtw_usb_if1_init.
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
The efuse_eeprom_data array in struct eeprom_priv is used only by
ReadAdapterInfo8188EU. We can remove efuse_eeprom_data and use a local
buffer instead.
Use EFUSE_MAP_LEN_88E as buffer size. Its value is the same as
HWSET_MAX_SIZE_512. The functions that access the buffer use
EFUSE_MAP_LEN_88E for its size.
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Merge the EFUSE_ShadowMapUpdate function into ReadAdapterInfo8188EU, which
is the only caller.
Merging the two functions makes it clearer that eeprom->efuse_eeprom_data
is in fact a temporary buffer that stores info read from efuses.
Signed-off-by: Martin Kaiser <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>