]> code.ossystems Code Review - meta-freescale.git/commit
Generalize overrides subsystem for NXP and Mainline support
authorOtavio Salvador <otavio@ossystems.com.br>
Fri, 18 Feb 2022 22:43:56 +0000 (19:43 -0300)
committerOtavio Salvador <otavio@ossystems.com.br>
Mon, 21 Feb 2022 23:06:28 +0000 (20:06 -0300)
commit30f5ce1d2168389295b4813e01898c2fb0f9bab9
treef6f78dbf8e5eef40510739dc1db79d60f05189fb
parenta3b102a9ed12ea03e72f713ed40968da1776c6d3
Generalize overrides subsystem for NXP and Mainline support

Essentially, we extend the overrides to a generic-bsp, nxp-bsp, and
mainline-bsp.

So, for example, the mx8mq override is split into:

- imx-generic-bsp: compatible with every i.MX SoC and both BSP variants
- imx-nxp-bsp: compatible with every i.MX SoC but specific to NXP BSP
- imx-mainline-bsp: compatible with every i.MX SoC but specific to Mainline BSP

- mx8-generic-bsp: compatible with every i.MX8 SoC and both BSP variants
- mx8-nxp-bsp: compatible with every i.MX8 SoC but specific to NXP BSP
- mx8-mainline-bsp: compatible with every i.MX8 SoC but specific to Mainline BSP

- mx8m-generic-bsp: compatible with every i.MX8M SoC and both BSP variants
- mx8m-nxp-bsp: compatible with every i.MX8M SoC but specific to NXP BSP
- mx8m-mainline-bsp: compatible with every i.MX8M SoC but specific to Mainline BSP

- mx8mq-generic-bsp: compatible with every i.MX8MQ SoC and both BSP variants
- mx8mq-nxp-bsp: compatible with every i.MX8MQ SoC8 but specific to NXP BSP
- mx8mq-mainline-bsp: compatible with every i.MX8MQ SoC but specific to Mainline BSP

The extender mechanism is responsible for extending the override list to
include the generic overrides. We can then use the three different
variants to handle the metadata correctly.

Generically speaking, the conversion mainly was automated (with a lot of
back and forth until getting it right).

To convert an existing layer, the following script can be used:

```sh
  git ls-files classes recipes-* \
      | xargs sed -i \
              -e 's,:\(mx[6-8]\w*\),:\1-nxp-bsp,g' \
              -e 's,(\(mx[6-8]\w*\)),(\1-nxp-bsp),g' \
              -e 's,\(mx[6-8]\w*\)|,\1-nxp-bsp|,g' \
              -e 's,|\(mx[6-8]\w*\)),|\1-nxp-bsp),g' \
              \
              -e 's,:\(mx[5s]\w*\),:\1-generic-bsp,g' \
              -e 's,(\(mx[5s]\w*\)),(\1-generic-bsp),g' \
              -e 's,\(mx[5s]\w*\)|,\1-generic-bsp|,g' \
              -e 's,|\(mx[5s]\w*\)),|\1-generic-bsp),g' \
              \
              -e 's,:\(vf\w*\),:\1-generic-bsp,g' \
              -e 's,:\(vf[56]0\w*\),:\1-generic-bsp,g' \
              -e 's,\(vf\w*\)|,\1-generic-bsp|,g' \
              -e 's,|\(vf\w*\)),|\1-generic-bsp),g' \
              -e 's,\(vf[56]0\w*\)|,\1-generic-bsp|,g' \
              -e 's,|\(vf[56]0\w*\)),|\1-generic-bsp),g' \
              \
              -e 's,:\(imx\) ,:\1-nxp-bsp ,g' \
              -e 's,(\(imx\)),(\1-nxp-bsp),g' \
              -e 's,\(imx\)|,\1-nxp-bsp|,g' \
              -e 's,|\(imx\)),|\1-nxp-bsp),g'

  for d in $(find -type d | egrep '/mx[6-8]w*'); do
      git mv $d $d-nxp-bsp
  done

  for d in $(find -type d | egrep '/imx$'); do
      git mv $d $d-nxp-bsp
  done

  for d in $(find -type d | egrep '/mx[5s]w*'); do
      git mv $d $d-generic-bsp
  done
```

Fixes: #791.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
110 files changed:
classes/image_types_fsl.bbclass
classes/mfgtool-initramfs-image.bbclass
classes/use-imx-headers.bbclass
classes/use-imx-security-controller-firmware.bbclass
conf/machine/include/imx-base.inc
dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common/imx-nxp-bsp/0016-xserver-common-enable-iglx-module.patch [moved from dynamic-layers/openembedded-layer/recipes-graphics/xserver-common/xserver-common/imx/0016-xserver-common-enable-iglx-module.patch with 100% similarity]
dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/mx6-nxp-bsp/g++.conf [moved from dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/mx6/g++.conf with 100% similarity]
dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/mx6-nxp-bsp/linux.conf [moved from dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/mx6/linux.conf with 100% similarity]
recipes-bsp/alsa-state/alsa-state.bbappend
recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.conf [moved from recipes-bsp/alsa-state/alsa-state/imx/asound.conf with 100% similarity]
recipes-bsp/alsa-state/alsa-state/imx-nxp-bsp/asound.state [moved from recipes-bsp/alsa-state/alsa-state/imx/asound.state with 100% similarity]
recipes-bsp/firmware-imx/firmware-imx-8_8.14.bb
recipes-bsp/firmware-imx/firmware-imx-8m_8.14.bb
recipes-bsp/firmware-imx/firmware-imx_8.14.bb
recipes-bsp/formfactor/formfactor/mx6-nxp-bsp/machconfig [moved from recipes-bsp/formfactor/formfactor/mx6/machconfig with 100% similarity]
recipes-bsp/formfactor/formfactor/mx6sll-nxp-bsp/machconfig [moved from recipes-bsp/formfactor/formfactor/mx6sll/machconfig with 100% similarity]
recipes-bsp/formfactor/formfactor/mx6ul-nxp-bsp/machconfig [moved from recipes-bsp/formfactor/formfactor/mx6ul/machconfig with 100% similarity]
recipes-bsp/formfactor/formfactor/mx7-nxp-bsp/machconfig [moved from recipes-bsp/formfactor/formfactor/mx7/machconfig with 100% similarity]
recipes-bsp/formfactor/formfactor/mx7ulp-nxp-bsp/machconfig [moved from recipes-bsp/formfactor/formfactor/mx7ulp/machconfig with 100% similarity]
recipes-bsp/imx-atf/imx-atf_2.4.bb
recipes-bsp/imx-kobs/imx-kobs_git.bb
recipes-bsp/imx-lib/imx-lib_git.bb
recipes-bsp/imx-mkimage/imx-boot_1.0.bb
recipes-bsp/imx-sc-firmware/imx-sc-firmware_1.11.0.bb
recipes-bsp/imx-seco/imx-seco-libs_git.bb
recipes-bsp/imx-seco/imx-seco_3.8.4.bb
recipes-bsp/imx-test/imx-test_00.00.00.bb
recipes-bsp/imx-test/imx-test_git.bb
recipes-bsp/imx-uuc/imx-uuc_git.bb
recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.6.0.bb
recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.1.1.bb
recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.24.0.bb
recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb
recipes-bsp/isp-imx/basler-camera_4.2.2.16.0.bb
recipes-bsp/isp-imx/isp-imx_4.2.2.16.0.bb
recipes-bsp/libimxdmabuffer/libimxdmabuffer_1.0.1.bb
recipes-bsp/u-boot/u-boot-fslc-mxsboot_2022.01.bb
recipes-bsp/u-boot/u-boot-fslc_2022.01.bb
recipes-bsp/u-boot/u-boot-imx-mfgtool_2021.04.bb
recipes-bsp/u-boot/u-boot-imx_2021.04.bb
recipes-devtools/uuu/uuu_git.bb
recipes-extended/dpdk/dpdk.inc
recipes-extended/jailhouse/jailhouse_0.12.bb
recipes-fsl/packagegroups/packagegroup-fsl-isp.bb
recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb
recipes-graphics/drm/libdrm_2.4.107.imx.bb
recipes-graphics/images/core-image-weston.bbappend
recipes-graphics/imx-gpu-apitrace/imx-gpu-apitrace_10.0.0.bb
recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p2.4-aarch32.bb
recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p2.4-aarch64.bb
recipes-graphics/waffle/waffle_%.bbappend
recipes-graphics/wayland/weston-init.bbappend
recipes-graphics/wayland/weston-init/imx-nxp-bsp/weston.ini [moved from recipes-graphics/wayland/weston-init/imx/weston.ini with 100% similarity]
recipes-graphics/wayland/weston-init/mx6sl-nxp-bsp/weston.config [moved from recipes-graphics/wayland/weston-init/mx6sl/weston.config with 100% similarity]
recipes-graphics/xinput-calibrator/pointercal-xinput/mx6-nxp-bsp/pointercal.xinput [moved from recipes-graphics/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput with 100% similarity]
recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.4.0.p0.0.bb
recipes-graphics/xorg-xserver/xserver-xf86-config/mx5-generic-bsp/xorg.conf [moved from recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf with 100% similarity]
recipes-graphics/xorg-xserver/xserver-xf86-config/mx6-nxp-bsp/xorg.conf [moved from recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf with 100% similarity]
recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sl-nxp-bsp/xorg.conf [moved from recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sl/xorg.conf with 100% similarity]
recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sll-nxp-bsp/xorg.conf [moved from recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sll/xorg.conf with 100% similarity]
recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sx-nxp-bsp/xorg.conf [moved from recipes-graphics/xorg-xserver/xserver-xf86-config/mx6sx/xorg.conf with 100% similarity]
recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ul-nxp-bsp/xorg.conf [moved from recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ul/xorg.conf with 100% similarity]
recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ull-nxp-bsp/xorg.conf [moved from recipes-graphics/xorg-xserver/xserver-xf86-config/mx6ull/xorg.conf with 100% similarity]
recipes-graphics/xorg-xserver/xserver-xf86-config/mx7-nxp-bsp/xorg.conf [moved from recipes-graphics/xorg-xserver/xserver-xf86-config/mx7/xorg.conf with 100% similarity]
recipes-graphics/xorg-xserver/xserver-xf86-config/mx7ulp-nxp-bsp/xorg.conf [moved from recipes-graphics/xorg-xserver/xserver-xf86-config/mx7ulp/xorg.conf with 100% similarity]
recipes-graphics/xorg-xserver/xserver-xf86-config/mxs-generic-bsp/xorg.conf [moved from recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf with 100% similarity]
recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
recipes-graphics/xwayland/xwayland_%.bbappend
recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p2.4+fslc.bb
recipes-kernel/kernel-modules/kernel-module-imx-gpu-viv_6.4.3.p2.4.bb
recipes-kernel/kernel-modules/kernel-module-isp-vvcam_4.2.2.16.0.bb
recipes-kernel/linux/linux-fslc-imx/imx-nxp-bsp/defconfig [moved from recipes-kernel/linux/linux-fslc-imx/imx/defconfig with 100% similarity]
recipes-kernel/linux/linux-fslc-imx/mx8-nxp-bsp/defconfig [moved from recipes-kernel/linux/linux-fslc-imx/mx8/defconfig with 100% similarity]
recipes-kernel/linux/linux-fslc-imx_5.10.bb
recipes-kernel/linux/linux-fslc-lts/mxs-generic-bsp/defconfig [moved from recipes-kernel/linux/linux-fslc-lts/mxs/defconfig with 100% similarity]
recipes-kernel/linux/linux-fslc-lts_5.10.bb
recipes-kernel/linux/linux-fslc/mxs-generic-bsp/defconfig [moved from recipes-kernel/linux/linux-fslc/mxs/defconfig with 100% similarity]
recipes-kernel/linux/linux-fslc_5.15.bb
recipes-kernel/linux/linux-imx/imx-nxp-bsp/defconfig [moved from recipes-kernel/linux/linux-imx/imx/defconfig with 100% similarity]
recipes-kernel/linux/linux-imx/mx8-nxp-bsp/defconfig [moved from recipes-kernel/linux/linux-imx/mx8/defconfig with 100% similarity]
recipes-kernel/linux/linux-imx_5.10.bb
recipes-multimedia/alsa/alsa-lib_%.bbappend
recipes-multimedia/alsa/imx-alsa-plugins_1.0.26.bb
recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.0.bb
recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.0.imx.bb
recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb
recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.0.imx.bb
recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb
recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.0.bb
recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.0.bb
recipes-multimedia/gstreamer/gstreamer1.0_1.18.0.imx.bb
recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.1.bb
recipes-multimedia/imx-codec/imx-codec_4.6.2.bb
recipes-multimedia/imx-dsp/imx-dsp-codec-ext_1.2.0.bb
recipes-multimedia/imx-dsp/imx-dsp_1.2.0.bb
recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
recipes-multimedia/imx-parser/imx-parser_4.6.2.bb
recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.1.bb
recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.6.2.bb
recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.2.0.bb
recipes-multimedia/libimxvpuapi/libimxvpuapi_git.bb
recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf [moved from recipes-multimedia/pulseaudio/pulseaudio/imx/daemon.conf with 100% similarity]
recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa [moved from recipes-multimedia/pulseaudio/pulseaudio/imx/default.pa with 100% similarity]
recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/pulseaudio-remove-the-control-for-speaker-headphone-widge.patch [moved from recipes-multimedia/pulseaudio/pulseaudio/imx/pulseaudio-remove-the-control-for-speaker-headphone-widge.patch with 100% similarity]
recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
recipes-security/optee-imx/optee-client_3.10.0.imx.bb
recipes-security/optee-imx/optee-os_3.10.0.imx.bb
recipes-security/optee-imx/optee-test_3.10.0.imx.bb
recipes-support/opencv/opencv_4.5.2.imx.bb