diff mbox series

bluez5: Point hciattach bcm43xx firmware search path to /lib/firmware

Message ID 20221031163015.19021-1-marex@denx.de
State Accepted, archived
Commit 72b3b79ad8b980e8dd9470d16b72c2c70072bbc0
Headers show
Series bluez5: Point hciattach bcm43xx firmware search path to /lib/firmware | expand

Commit Message

Marek Vasut Oct. 31, 2022, 4:30 p.m. UTC
Currently the hciattach bcm43xx firmware loader looks up the firmware
blob in /etc/firmware . Change this to /lib/firmware instead, so that
the path is consistent with Linux kernel which also looks up firmware
for the WiFi part in /lib/firmware .

Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Alexander Kanavin <alex@linutronix.de>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/recipes-connectivity/bluez5/bluez5.inc | 2 ++
 1 file changed, 2 insertions(+)

Comments

Jose Quaresma Oct. 31, 2022, 7:18 p.m. UTC | #1
Hi Marek,

Marek Vasut <marex@denx.de> escreveu no dia segunda, 31/10/2022 à(s) 16:30:

> Currently the hciattach bcm43xx firmware loader looks up the firmware
> blob in /etc/firmware . Change this to /lib/firmware instead, so that
> the path is consistent with Linux kernel which also looks up firmware
> for the WiFi part in /lib/firmware .
>
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Alexander Kanavin <alex@linutronix.de>
> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
> Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  meta/recipes-connectivity/bluez5/bluez5.inc | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc
> b/meta/recipes-connectivity/bluez5/bluez5.inc
> index f07e318897..fe10be7324 100644
> --- a/meta/recipes-connectivity/bluez5/bluez5.inc
> +++ b/meta/recipes-connectivity/bluez5/bluez5.inc
> @@ -68,6 +68,8 @@ EXTRA_OECONF = "\
>    --without-zsh-completion-dir \
>  "
>
> +CFLAGS:append = " -DFIRMWARE_DIR=\\"/lib/firmware\\""
>

Escape chars can be tricky when parsing and as the path
doesn't have any space we can have " -DFIRMWARE_DIR=/lib/firmware"
or not?

Another options to avoid escape chars can be
CFLAGS:append = ' -DFIRMWARE_DIR="/lib/firmware"'

Jose


> +
>  # bluez5 builds a large number of useful utilities but does not
>  # install them.  Specify which ones we want put into ${PN}-noinst-tools.
>  NOINST_TOOLS_READLINE ??= ""
> --
> 2.35.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#172331):
> https://lists.openembedded.org/g/openembedded-core/message/172331
> Mute This Topic: https://lists.openembedded.org/mt/94689423/5052612
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> quaresma.jose@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Marek Vasut Oct. 31, 2022, 8:54 p.m. UTC | #2
On 10/31/22 20:18, Jose Quaresma wrote:
> Hi Marek,

Hi,

> Marek Vasut <marex@denx.de> escreveu no dia segunda, 31/10/2022 à(s) 16:30:
> 
>> Currently the hciattach bcm43xx firmware loader looks up the firmware
>> blob in /etc/firmware . Change this to /lib/firmware instead, so that
>> the path is consistent with Linux kernel which also looks up firmware
>> for the WiFi part in /lib/firmware .
>>
>> Signed-off-by: Marek Vasut <marex@denx.de>
>> ---
>> Cc: Alexander Kanavin <alex@linutronix.de>
>> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
>> Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
>> ---
>>   meta/recipes-connectivity/bluez5/bluez5.inc | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc
>> b/meta/recipes-connectivity/bluez5/bluez5.inc
>> index f07e318897..fe10be7324 100644
>> --- a/meta/recipes-connectivity/bluez5/bluez5.inc
>> +++ b/meta/recipes-connectivity/bluez5/bluez5.inc
>> @@ -68,6 +68,8 @@ EXTRA_OECONF = "\
>>     --without-zsh-completion-dir \
>>   "
>>
>> +CFLAGS:append = " -DFIRMWARE_DIR=\\"/lib/firmware\\""
>>
> 
> Escape chars can be tricky when parsing and as the path
> doesn't have any space we can have " -DFIRMWARE_DIR=/lib/firmware"
> or not?

No, because then the macro gets expanded in place in hciconfig_bcm43xx.c 
to something like printf(/lib/firmware); which the compiler does not 
like obviously. The quotes are really mandatory there, I tried various 
combinations (sigh) until I arrived at this working one.

> Another options to avoid escape chars can be
> CFLAGS:append = ' -DFIRMWARE_DIR="/lib/firmware"'

[...]
Peter Kjellerstedt Oct. 31, 2022, 11:12 p.m. UTC | #3
> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-
> core@lists.openembedded.org> On Behalf Of Marek Vasut
> Sent: den 31 oktober 2022 21:54
> To: Jose Quaresma <quaresma.jose@gmail.com>
> Cc: openembedded-core@lists.openembedded.org; Alexander Kanavin
> <alex@linutronix.de>; Alexandre Belloni <alexandre.belloni@bootlin.com>;
> Richard Purdie <richard.purdie@linuxfoundation.org>
> Subject: Re: [OE-core] [PATCH] bluez5: Point hciattach bcm43xx firmware
> search path to /lib/firmware
> 
> On 10/31/22 20:18, Jose Quaresma wrote:
> > Hi Marek,
> 
> Hi,
> 
> > Marek Vasut <marex@denx.de> escreveu no dia segunda, 31/10/2022 à(s)
> 16:30:
> >
> >> Currently the hciattach bcm43xx firmware loader looks up the firmware
> >> blob in /etc/firmware . Change this to /lib/firmware instead, so that
> >> the path is consistent with Linux kernel which also looks up firmware
> >> for the WiFi part in /lib/firmware .
> >>
> >> Signed-off-by: Marek Vasut <marex@denx.de>
> >> ---
> >> Cc: Alexander Kanavin <alex@linutronix.de>
> >> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
> >> Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
> >> ---
> >>   meta/recipes-connectivity/bluez5/bluez5.inc | 2 ++
> >>   1 file changed, 2 insertions(+)
> >>
> >> diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc
> >> b/meta/recipes-connectivity/bluez5/bluez5.inc
> >> index f07e318897..fe10be7324 100644
> >> --- a/meta/recipes-connectivity/bluez5/bluez5.inc
> >> +++ b/meta/recipes-connectivity/bluez5/bluez5.inc
> >> @@ -68,6 +68,8 @@ EXTRA_OECONF = "\
> >>     --without-zsh-completion-dir \
> >>   "
> >>
> >> +CFLAGS:append = " -DFIRMWARE_DIR=\\"/lib/firmware\\""
> >>
> >
> > Escape chars can be tricky when parsing and as the path
> > doesn't have any space we can have " -DFIRMWARE_DIR=/lib/firmware"
> > or not?
> 
> No, because then the macro gets expanded in place in hciconfig_bcm43xx.c
> to something like printf(/lib/firmware); which the compiler does not
> like obviously. The quotes are really mandatory there, I tried various
> combinations (sigh) until I arrived at this working one.
> 
> > Another options to avoid escape chars can be
> > CFLAGS:append = ' -DFIRMWARE_DIR="/lib/firmware"'
> 
> [...]

You should change "/lib" to "${nonarch_base_libdir}".

//Peter
diff mbox series

Patch

diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc
index f07e318897..fe10be7324 100644
--- a/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -68,6 +68,8 @@  EXTRA_OECONF = "\
   --without-zsh-completion-dir \
 "
 
+CFLAGS:append = " -DFIRMWARE_DIR=\\"/lib/firmware\\""
+
 # bluez5 builds a large number of useful utilities but does not
 # install them.  Specify which ones we want put into ${PN}-noinst-tools.
 NOINST_TOOLS_READLINE ??= ""