Merge pull request #178200 from lopsided98/device-tree-preprocessor

nixos/device-tree: preprocess overlays before compiling

authored by Florian Klink and committed by GitHub 4386cb10 0d68d7c8

+8 -10
+8 -10
nixos/modules/hardware/device-tree.nix
··· 36 36 /plugin/; 37 37 / { 38 38 compatible = "raspberrypi"; 39 - fragment@0 { 40 - target-path = "/soc"; 41 - __overlay__ { 42 - pps { 43 - compatible = "pps-gpio"; 44 - status = "okay"; 45 - }; 46 - }; 39 + }; 40 + &{/soc} { 41 + pps { 42 + compatible = "pps-gpio"; 43 + status = "okay"; 47 44 }; 48 45 }; 49 46 ''; ··· 88 85 89 86 # Compile single Device Tree overlay source 90 87 # file (.dts) into its compiled variant (.dtbo) 91 - compileDTS = name: f: pkgs.callPackage({ dtc }: pkgs.stdenv.mkDerivation { 88 + compileDTS = name: f: pkgs.callPackage({ stdenv, dtc }: stdenv.mkDerivation { 92 89 name = "${name}-dtbo"; 93 90 94 91 nativeBuildInputs = [ dtc ]; 95 92 96 93 buildCommand = '' 97 - dtc -I dts ${f} -O dtb -@ -o $out 94 + $CC -E -nostdinc -I${getDev cfg.kernelPackage}/lib/modules/${cfg.kernelPackage.modDirVersion}/source/scripts/dtc/include-prefixes -undef -D__DTS__ -x assembler-with-cpp ${f} | \ 95 + dtc -I dts -O dtb -@ -o $out 98 96 ''; 99 97 }) {}; 100 98