Make the pmu-firmware recipe provide a non-prefixed
virtual/pmu-firmware. Due to the common use of a class extender the
PROVIDES variable will be remapped with the 'zynqmp-pmu-' prefix. In
order to ensure the provider is always without a prefix modify the
PROVIDES after the recipe has been parsed (and any class extender
mapping is already processed).

Additionally set the zcu102-zynqmp machine to use the
virtual/pmu-firmware target and set the zynqmp-pmu-pmu-firmware recipe
as the default provider.

Signed-off-by: Nathan Rossi <nat...@nathanrossi.com>
---
 conf/machine/zcu102-zynqmp.conf                 | 3 ++-
 recipes-bsp/pmu-firmware/pmu-firmware_2017.1.bb | 9 +++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/conf/machine/zcu102-zynqmp.conf b/conf/machine/zcu102-zynqmp.conf
index 5e21e0d020..e6d66cd948 100644
--- a/conf/machine/zcu102-zynqmp.conf
+++ b/conf/machine/zcu102-zynqmp.conf
@@ -18,11 +18,12 @@ KERNEL_DEVICETREE = "xilinx/zynqmp-zcu102-revB.dtb 
xilinx/zynqmp-zcu102.dtb"
 
 PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
 PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx"
+PREFERRED_PROVIDER_virtual/pmu-firmware ?= "zynqmp-pmu-pmu-firmware"
 
 EXTRA_IMAGEDEPENDS += " \
                arm-trusted-firmware \
                qemu-devicetrees \
-               zynqmp-pmu-pmu-firmware \
+               virtual/pmu-firmware \
                "
 
 # This machine has a QEMU model, runqemu setup:
diff --git a/recipes-bsp/pmu-firmware/pmu-firmware_2017.1.bb 
b/recipes-bsp/pmu-firmware/pmu-firmware_2017.1.bb
index 4ae5c4e7b5..ee68617fe9 100644
--- a/recipes-bsp/pmu-firmware/pmu-firmware_2017.1.bb
+++ b/recipes-bsp/pmu-firmware/pmu-firmware_2017.1.bb
@@ -5,6 +5,15 @@ SECTION = "bsp"
 INHIBIT_DEFAULT_DEPS = "1"
 DEPENDS = "virtual/${TARGET_PREFIX}gcc newlib libgloss libgcc"
 
+# force this recipe to provide a target virtual/pmu-firmware. this is applied
+# after any class extender mapping and results in this recipe always providing
+# 'virtual/pmu-firmware'.
+python append_target_provides () {
+    d.appendVar("PROVIDES", " virtual/pmu-firmware")
+}
+addhandler append_target_provides
+append_target_provides[eventmask] = "bb.event.RecipeParsed"
+
 # This source links in a number of components with differing licenses, and some
 # licenses are not Open Source compatible. Additionally the pmu-firmware source
 # itself is licensed under a modified MIT license which restricts use to Xilinx
-- 
2.14.2

-- 
_______________________________________________
meta-xilinx mailing list
meta-xilinx@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-xilinx

Reply via email to