Received: by 10.192.165.148 with SMTP id m20csp633416imm; Fri, 20 Apr 2018 12:35:04 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/skwHrFZPfyamCsK9CdkuYpDiFD2sX6YOKnBXn6s93hIcmbq1I1os3B1ZCCDNs2tZTHIxX X-Received: by 10.98.150.198 with SMTP id s67mr10817173pfk.191.1524252904679; Fri, 20 Apr 2018 12:35:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524252904; cv=none; d=google.com; s=arc-20160816; b=c4nV8etddSprxU1BArGshA+/R7BbyOuQtRr1co1/4VM5y/x6f3ohcErCsgO/9ZsWy6 RNjYVWEFBIVBePtLzOwQFdO0h/9Eju8GrNYtnRgnGsP+9ZggEobVbQlkX5eTDH4eOfHq OOMVJvpPKFl/LnyLxvBWR2rE5jG0rVzUIphqBV/LjFoQGON3YF2yj2lquDNEW9uoV/vq UsXaAtEufxph9x+UnRKhN5ro0aYjbWxGMvLYTPbxmno4vCAgJIixtIDNOCiRK43+HShb pZux4xzFnkkVOjH5C6MYxMMSXGglSMcd6Gt+cqU+BSTk9MU/cHS2DBmFZej/bgPZjXQ0 jw+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject:cc:dkim-signature :arc-authentication-results; bh=yaE+FLzWnxmIi8drVljdb4QTdBhdovCD+jrG3dfSCKc=; b=tDyCpdJig9PoQ3XtvUdfveix4ES9eggBBu6NNCnz0pYM/4LHLoG2wS8MqL7xFcyayB VwJGAhQYeXoB3Me8kgfCld1X7UmdvECrMnZd9ON3i7vc0/fMgmSgZO9CqNipFfGqiVRg 2fbjyIevF9OzS304iwjXEp/G3usPEq2JLSPbuWN5CJuBV5+/tNxsfNPOIWRwzp/wWTfU 0gF+h+tVm+x5jFw2OKoAKebdbRnYT3mu3zn5VRvfsOmr/1LBByrxPDK340yd9xojB9J+ NH5hE9PKDjr3GSX7ss0kIRPxoJnlqZeR2pTSkjBM/H9F5PpIZ7mY/jInDW5TZ/NLWqZr /veA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=U2KWjDXE; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 92-v6si1249383plw.299.2018.04.20.12.34.49; Fri, 20 Apr 2018 12:35:04 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=U2KWjDXE; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751882AbeDTTdm (ORCPT + 99 others); Fri, 20 Apr 2018 15:33:42 -0400 Received: from mail-it0-f66.google.com ([209.85.214.66]:40655 "EHLO mail-it0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750858AbeDTTdk (ORCPT ); Fri, 20 Apr 2018 15:33:40 -0400 Received: by mail-it0-f66.google.com with SMTP id u62-v6so3786202ita.5; Fri, 20 Apr 2018 12:33:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=cc:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=yaE+FLzWnxmIi8drVljdb4QTdBhdovCD+jrG3dfSCKc=; b=U2KWjDXEJ30dzjXWj/OdxShaYiG8Q3nQ4oxixcAV/JXR7KUhMKWMPv0JDcQV9u9xLp U6OvNUFiKwVN6fHn0g0i2YRxv4766czi2OdrI62OWkc71U7YIKdC8G7QD+y6WFD8KT/Q KXePomQrfk1UcwaRQfRnNkDkFlfNkL+Nt9sbg+YSAEZ4M4zn3JOtEa2h5M8Wbf1NIFlg 4/Rc6/6j/VR3Hmp1tQ/PJUBIkzv4zRsyuKds9oL2di3XMplt27SJ070nk/RbpWJFotcu voFvNEIvCSxpQKaRncaK/USsDt05tPZrPmQP2UwBDms8ZmT+zXaqa1LhqWXSgwAkHCqP qm8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:cc:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=yaE+FLzWnxmIi8drVljdb4QTdBhdovCD+jrG3dfSCKc=; b=LOmYvkSP7rITlaVKQ+nmQ5MMbnKZ2CQfooGLET4GvV9rytg/d5ApauV8zvLEo9nR3i mX/ui8I9XfEqpBXeQ165/0CzhSVrB7lVG8C+YCQSpS6wOYqacg41HGPOWNeixE1FRxMc Zvs/fzFMYOb+8LgZ/qg082oNGMiVCwv4uqI6cjV+s20oEAkcBBAbCxW1jBrsw8w5Xqah liv/qw05SX6iB5SiqoNFSI6xXMNBxUc3mogio+bSQ0mo7DGLyEocUnyuuE+UMfJhGEMb 0nUmYEBGPLYh18Qo++Y0f3tiWcis9+OCoAw8Uz8oSVgiQSQT1wwZUs3do35vHezKs4ti TF7g== X-Gm-Message-State: ALQs6tCPtcykYh823ZJSYOlKQnOGOBGETPYTJKbFglLAjbot0XF3/1zL ariySjCjQ99uP5nMDwii1oVzy7b+ X-Received: by 2002:a24:618f:: with SMTP id s137-v6mr4612323itc.40.1524252819637; Fri, 20 Apr 2018 12:33:39 -0700 (PDT) Received: from [192.168.0.26] (184-175-36-239.dsl.teksavvy.com. [184.175.36.239]) by smtp.gmail.com with ESMTPSA id z89-v6sm1198867ita.24.2018.04.20.12.33.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 20 Apr 2018 12:33:38 -0700 (PDT) Cc: andresx7@gmail.com, linux-kernel@vger.kernel.org, gregkh@linuxfoundation.org, mcgrof@kernel.org, alexdeucher@gmail.com, ckoenig.leichtzumerken@gmail.com, arend.vanspriel@broadcom.com, linux-wireless@vger.kernel.org Subject: Re: [PATCH 9/9] brcmfmac: use request_firmware_nowait2 to load firmware without warnings To: Kalle Valo References: <20180417153307.3693-1-andresx7@gmail.com> <20180417153307.3693-10-andresx7@gmail.com> <87h8o6i36l.fsf@kamboji.qca.qualcomm.com> From: Andres Rodriguez Message-ID: <65954790-8579-66ee-9b67-d44e18b4abb3@gmail.com> Date: Fri, 20 Apr 2018 15:33:36 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <87h8o6i36l.fsf@kamboji.qca.qualcomm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2018-04-20 06:26 AM, Kalle Valo wrote: > Andres Rodriguez writes: > >> This reduces the unnecessary spew when trying to load optional firmware: >> "Direct firmware load for ... failed with error -2" >> >> Signed-off-by: Andres Rodriguez >> --- >> drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c | 7 ++++--- >> 1 file changed, 4 insertions(+), 3 deletions(-) > > With wireless patches always CC linux-wireless list, please. Adding it > now. > >> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c >> index 091b52979e03..26db3ebd52dc 100644 >> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c >> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c >> @@ -503,8 +503,9 @@ static void brcmf_fw_request_code_done(const struct firmware *fw, void *ctx) >> goto done; >> >> fwctx->code = fw; >> - ret = request_firmware_nowait(THIS_MODULE, true, fwctx->nvram_name, >> - fwctx->dev, GFP_KERNEL, fwctx, >> + ret = request_firmware_nowait(THIS_MODULE, true, false, > > A perfect example why enums should be in function calls instead of > booleans, that "true, false" tells nothing to me and it would be time > consuming to check from headers files what it means. If you had proper > enums, for example "FIRMWARE_MODE_FOO, FIRMWARE_STATE_BAR", it would be > immediately obvious for the reader what the parameters are. Of course > the first boolean was already there before, but maybe change the new > boolean to an enum > Anyone else got any feedback before I re-spin the _nowait() API. I'm on board for the boolean->enum change. >> + fwctx->nvram_name, fwctx->dev, >> + GFP_KERNEL, fwctx, >> brcmf_fw_request_nvram_done); >> >> /* pass NULL to nvram callback for bcm47xx fallback */ >> @@ -547,7 +548,7 @@ int brcmf_fw_get_firmwares_pcie(struct device *dev, u16 flags, >> fwctx->domain_nr = domain_nr; >> fwctx->bus_nr = bus_nr; >> >> - return request_firmware_nowait(THIS_MODULE, true, code, dev, >> + return request_firmware_nowait2(THIS_MODULE, true, false, code, dev, >> GFP_KERNEL, fwctx, >> brcmf_fw_request_code_done); >> } > > Also the number two in the function name is not really telling anything. > I think that something like request_firmware_nowait_nowarn() would be > better, even if it's so ugly. > The 2 is meant to signify that this is an new version of the api with different parameters. I don't think we need to codify into the name what the new parameters mean (mostly because when a 2 version of an api is implemented, usage of the original version tends to be discouraged). If we go for something like _nowait_nowarn(), then we would need to drop the warn parameter altogether. Another alternative, drop both bool warn and bool uevent and expose take in enum fw_opt directly. Any thought on exposing the enum directly Luis for _nowait(). I know you mentioned this was for some reason decided against for the rest of the API. Regards, Andres