]> code.ossystems Code Review - meta-freescale.git/commitdiff
fsl-default-providers.inc: Make virtual/kernel assigment delayed
authorOtavio Salvador <otavio@ossystems.com.br>
Tue, 12 Nov 2013 18:13:57 +0000 (16:13 -0200)
committerOtavio Salvador <otavio@ossystems.com.br>
Tue, 12 Nov 2013 21:39:47 +0000 (19:39 -0200)
In 01851da (machine/*: Allow kernel provider override) the assigment
of preferred provider for virtual/kernel has been changed to a weak
assignment. This works for most of cases but has caused a regression
in some machines.

When a machine includes the imx-base.inc file, the assignment is done
and the intended setting of the machine does not take effect.

For example, in the below code fragment:

,----[ Wandboard board configuration fragment  ]
| include conf/machine/include/imx-base.inc
| ...
| PREFERRED_PROVIDER_virtual/kernel ?= "linux-wandboard"
`----

the virtual/kernel provider would be 'linux-imx' as, at the time of
imx-base.inc inclusion, it was undefined. The expected behaviour would
be to use 'linux-imx' /only/ when no setting has been done.

The ??= operator solves this as it is used /only/ if no assignment is
done to the virtual/kernel provider in the end of the parsing. So it
gives the expected behaviour.

Change-Id: Iab73dcff8bef7f2df1064a0d5d04fd506a4c3144
Reported-by: Alfonso Tamés <alfonso@mantic.mx>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
meta-fsl-arm/conf/machine/include/fsl-default-providers.inc

index e51ea7217323658100052ba9e94f7a19ff1cc37b..da01871b3ab85b1c89204442edd9c13ee3c17884 100644 (file)
@@ -1,6 +1,6 @@
 # Freescale BSP default providers
 
 PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
-PREFERRED_PROVIDER_virtual/kernel ?= "linux-imx"
+PREFERRED_PROVIDER_virtual/kernel ??= "linux-imx"
 PREFERRED_PROVIDER_u-boot ?= "u-boot-fslc"
 PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-fslc"