[OE-core] [RFC 3/3] linux-firmware: MACHINEOVERRIDES for BCM43430 NVRAM
Mike Looijmans
mike.looijmans at topic.nl
Fri Aug 24 10:43:36 UTC 2018
I think this should be solved in the driver actually. It probably "knows"
which variant is there (or could be taught using devicetree or so).
On 24-08-18 11:04, Martin Jansa wrote:
> One way to keep it allarch would be to package
> ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.AP6212.txt
> ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.MUR1DX.txt
> in 2 separate packages and handle
> ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt
> symlink with update-alternatives
>
> most MACHINEs won't install either of these packages and those which need it
> will pull the right one (e.g. through MACHINE_EXTRA_RRECOMMENDS).
>
> In worst case someone will try to install both packages and based on u-a
> priority one of them will win (use higher priority for the more common version).
>
> Cheers,
>
> On Fri, Aug 24, 2018 at 4:53 AM Andre McCurdy <armccurdy at gmail.com
> <mailto:armccurdy at gmail.com>> wrote:
>
> On Thu, Aug 23, 2018 at 1:15 AM, Ryan Harkin <ryan.harkin at linaro.org
> <mailto:ryan.harkin at linaro.org>> wrote:
> >
> > So now the ln issue is resolved, I'm not convinced my MACHINEOVERRIDES is
> > the correct approach. Does anyone have any feedback on how I can improve
> > that?
>
> If you want to make a configurable symlink then perhaps the more usual
> approach would be to just use a variable in the linux-firmware recipe
> to weakly define a default target for the symlink. Machine config
> files could then either do nothing (ie use the default) or provide
> their own value. For example, in the linux-firmware recipe:
>
> BCM43430_NVRAM_SYMLINK ?= "brcmfmac43430-sdio.AP6212.txt"
>
> FILES_${PN}-bcm43430-nvram = " \
> ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt \
> ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.AP6212.txt \
> ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.MUR1DX.txt \
> "
>
> do_install() {
> ...
> ln -sf ${BCM43430_NVRAM_SYMLINK}
> ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt
> }
>
> And then in the machine config files of machines which need the MUR1DX
> firmware instead of the default, add:
>
> BCM43430_NVRAM_SYMLINK = "brcmfmac43430-sdio.MUR1DX.txt"
>
> However... note that currently the linux-firmware recipe is
> architecture independent (ie it won't be rebuilt if the target is
> changed). Adding a machine specific symlink is going to cause problems
> with that, so the above is still not a full solution.
>
>
>
More information about the Openembedded-core
mailing list