lkml.org 
[lkml]   [2022]   [Jan]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 03/34] brcmfmac: firmware: Support having multiple alt paths
From
Date
26.12.2021 18:35, Hector Martin пишет:
> Apple platforms have firmware and config files identified with multiple
> dimensions. We want to be able to find the most specific firmware
> available for any given platform, progressively trying more general
> firmwares.
>
> First, add support for having multiple alternate firmware paths.
>
> Signed-off-by: Hector Martin <marcan@marcan.st>
> ---
> .../broadcom/brcm80211/brcmfmac/firmware.c | 73 ++++++++++++++-----
> 1 file changed, 55 insertions(+), 18 deletions(-)

...
> -static char *brcm_alt_fw_path(const char *path, const char *board_type)
> +static const char **brcm_alt_fw_paths(const char *path, const char *board_type)
...
> static int brcmf_fw_request_firmware(const struct firmware **fw,
> struct brcmf_fw *fwctx)
> {
> struct brcmf_fw_item *cur = &fwctx->req->items[fwctx->curpos];
> - int ret;
> + int ret, i;
>
> /* Files can be board-specific, first try a board-specific path */
> if (cur->type == BRCMF_FW_TYPE_NVRAM && fwctx->req->board_type) {
> - char *alt_path;
> + const char **alt_paths = brcm_alt_fw_paths(cur->path, fwctx);

The brcm_alt_fw_paths() takes "board_type" argument, while you're
passing the "fwctx" to it. This patch doesn't compile.

If this code is changed by a further patch, then please use "git rebase
--exec" to compile-test all the patches.

drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c: In function
‘brcmf_fw_request_firmware’:
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c:642:71:
error: passing argument 2 of ‘brcm_alt_fw_paths’ from incompatible
pointer type [-Werror=incompatible-pointer-types]
642 | const char **alt_paths =
brcm_alt_fw_paths(cur->path, fwctx);
|
^~~~~
|
|
|
struct brcmf_fw *
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c:597:69:
note: expected ‘const char *’ but argument is of type ‘struct brcmf_fw *’
597 | static const char **brcm_alt_fw_paths(const char *path, const
char *board_type)
|
~~~~~~~~~~~~^~~~~~~~~~
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c: In function
‘brcmf_fw_get_firmwares’:
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c:752:59:
error: passing argument 2 of ‘brcm_alt_fw_paths’ from incompatible
pointer type [-Werror=incompatible-pointer-types]
752 | fwctx->alt_paths = brcm_alt_fw_paths(first->path, fwctx);
| ^~~~~
| |
| struct
brcmf_fw *
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c:597:69:
note: expected ‘const char *’ but argument is of type ‘struct brcmf_fw *’
597 | static const char **brcm_alt_fw_paths(const char *path, const
char *board_type)
|
~~~~~~~~~~~~^~~~~~~~~~
cc1: some warnings being treated as errors

\
 
 \ /
  Last update: 2022-01-02 07:38    [W:0.373 / U:1.228 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site