All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arend van Spriel <arend@broadcom.com>
To: "Rafał Miłecki" <zajec5@gmail.com>
Cc: Kalle Valo <kvalo@codeaurora.org>,
	linux-wireless <linux-wireless@vger.kernel.org>,
	Hante Meuleman <meuleman@broadcom.com>
Subject: Re: [PATCH v2 1/7] brcmfmac: Add support for host platform NVRAM loading.
Date: Thu, 20 Aug 2015 18:06:59 +0200	[thread overview]
Message-ID: <55D5FB23.2020604@broadcom.com> (raw)
In-Reply-To: <CACna6rzJGChrpqTL9FrVvrcMk5haiukQHNX+v29VoS1gGtXDUA@mail.gmail.com>

On 08/20/2015 05:53 PM, Rafał Miłecki wrote:
> On 19 August 2015 at 23:43, Arend van Spriel <arend@broadcom.com> wrote:
>> On 08/19/2015 11:21 PM, Arend van Spriel wrote:
>>>
>>> subject changed to v2. So let's go over your beef.
>>>
>>> On 07/11/2015 07:09 PM, Rafał Miłecki wrote:
>>>>
>>>> On 10 July 2015 at 20:31, Arend van Spriel <arend@broadcom.com> wrote:
>>>>>
>>>>> @@ -146,7 +147,7 @@ brcmf_nvram_handle_value(struct nvram_parser *nvp)
>>>>>           u32 cplen;
>>>>>
>>>>>           c = nvp->data[nvp->pos];
>>>>> -       if (!is_nvram_char(c)) {
>>>>> +       if (!is_nvram_char(c) && (c != ' ')) {
>>>>
>>>>
>>>> This is redundant, please drop this change.
>>>> See fc23e81eb8f4 ("brcmfmac: allow NVRAM values to contain spaces")
>>>
>>>
>>> done
>>>
>>>>> @@ -426,19 +428,34 @@ static void brcmf_fw_request_nvram_done(const
>>>>> struct firmware *fw, void *ctx)
>>>>>           struct brcmf_fw *fwctx = ctx;
>>>>>           u32 nvram_length = 0;
>>>>>           void *nvram = NULL;
>>>>> +       u8 *data = NULL;
>>>>
>>>>
>>>> This can be const.
>>>
>>>
>>> done
>>
>>
>> Actually this is not done, but either way will require a cast because
>> bcm47xx_nvram_release_contents expects char* so there is nothing gained.
>> Unless someone will change bcm47xx_nvram_get/release_contents api to const
>> char*.
>
> Passing non-const pointer to function taking const one is OK. You
> don't need casting, compiler won't complain about this.

bcm47xx_nvram_release_contents expect a non-const pointer so the const 
data pointer needs to be cast to non-const. Which you claim is hacky.
Here is what happens when I make data pointer const:

   CC [M]  drivers/net/wireless/brcm80211/brcmfmac/firmware.o
drivers/net/wireless/brcm80211/brcmfmac/firmware.c: In function 
���brcmf_fw_request_nvram_done���:
drivers/net/wireless/brcm80211/brcmfmac/firmware.c:450:4: warning: 
passing argument 1 of ���bcm47xx_nvram_release_contents��� discards 
���const��� qualifier from pointer target type [enabled by default]
     bcm47xx_nvram_release_contents(data);
     ^
In file included from 
drivers/net/wireless/brcm80211/brcmfmac/firmware.c:22:0:
include/linux/bcm47xx_nvram.h:44:20: note: expected ���char *��� but 
argument is of type ���const u8 *���
  static inline void bcm47xx_nvram_release_contents(char *nvram)
                     ^
> On the other hand casing const pointer to the non-const one is hacky
> and I believe you should avoid that.

Either way you have to do a cast from const to non-const.

u8 *data => data = (u8 *)fw->data;
const u8 *data => bcm47xx_nvram_release_contents((char *)data);

Regards,
Arend


  reply	other threads:[~2015-08-20 16:07 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-10 18:31 [PATCH 0/7] brcmfmac: nvram loading and code rework Arend van Spriel
2015-07-10 18:31 ` [PATCH 1/7] brcmfmac: Add support for host platform NVRAM loading Arend van Spriel
2015-07-11 17:09   ` Rafał Miłecki
2015-08-19 21:21     ` [PATCH v2 " Arend van Spriel
2015-08-19 21:43       ` Arend van Spriel
2015-08-20 15:53         ` Rafał Miłecki
2015-08-20 16:06           ` Arend van Spriel [this message]
2015-08-20 16:21             ` Rafał Miłecki
2015-08-20 15:59       ` Rafał Miłecki
2015-08-20 16:14         ` Arend van Spriel
2015-07-10 18:31 ` [PATCH 2/7] brcmfmac: correct interface combination info Arend van Spriel
2015-07-10 18:31 ` [PATCH 3/7] brcmfmac: Increase nr of supported flowrings Arend van Spriel
2015-07-10 18:31 ` [PATCH 4/7] brcmfmac: add debugfs entry for msgbuf statistics Arend van Spriel
2015-07-10 18:31 ` [PATCH 5/7] brcmfmac: make use of cfg80211_check_combinations() Arend van Spriel
2015-07-10 18:31 ` [PATCH 6/7] brcmfmac: consolidate ifp lookup in driver core Arend van Spriel
2015-07-10 18:31 ` [PATCH 7/7] brcmfmac: block the correct flowring when backup queue overflow Arend van Spriel
2015-07-19 15:05 ` [PATCH 0/7] brcmfmac: nvram loading and code rework Rafał Miłecki
2015-07-20 17:14   ` Arend van Spriel
2015-07-23 16:02     ` Kalle Valo
2015-07-26 11:08       ` Arend van Spriel
2015-07-26 12:08         ` Kalle Valo
2015-07-26 15:40     ` Rafał Miłecki
2015-08-12  8:58       ` Arend van Spriel
2015-08-12 14:07         ` Rafał Miłecki
2015-08-19 14:58           ` Rafał Miłecki
2015-08-19 23:06         ` Rafał Miłecki
2015-08-20 10:23           ` Arend van Spriel
2015-08-20 15:51             ` Rafał Miłecki
2015-08-20 19:41               ` Arend van Spriel
  -- strict thread matches above, loose matches on Subject: below --
2015-08-16  6:55 [PATCH V2 " Arend van Spriel
2015-08-16  6:55 ` [PATCH V2 1/7] brcmfmac: Add support for host platform NVRAM loading Arend van Spriel
2015-08-19 16:38   ` Rafał Miłecki
2015-08-19 20:55     ` Arend van Spriel
2015-08-20 19:50       ` Arend van Spriel
2015-08-24 19:28         ` Kalle Valo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55D5FB23.2020604@broadcom.com \
    --to=arend@broadcom.com \
    --cc=kvalo@codeaurora.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=meuleman@broadcom.com \
    --cc=zajec5@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.