From 80d0e31a947fd1f07a9fa65c079991980d0fc5bb Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Wed, 7 May 2014 17:26:33 -0500 Subject: [PATCH] kernel: allow features to be used in common-config Signed-off-by: Austin Seipp --- pkgs/os-specific/linux/kernel/common-config.nix | 2 +- pkgs/os-specific/linux/kernel/generic.nix | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index a403c4d0b71..3f42787126d 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -1,4 +1,4 @@ -{ stdenv, version, kernelPlatform, extraConfig }: +{ stdenv, version, kernelPlatform, extraConfig, features }: with stdenv.lib; diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index ff0ca0050fb..8ba677d6dfe 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -109,12 +109,6 @@ let crossConfig = { CONFIG_MODULES = "y"; CONFIG_FW_LOADER = "m"; }; }; - configWithPlatform = kernelPlatform: - import ./common-config.nix { inherit stdenv version kernelPlatform extraConfig; }; - - config = configWithPlatform stdenv.platform; - configCross = configWithPlatform stdenv.cross.platform; - passthru = { # Combine the `features' attribute sets of all the kernel patches. features = lib.fold (x: y: (x.features or {}) // y) features kernelPatches; @@ -124,6 +118,14 @@ let passthru = kernel.passthru // (removeAttrs passthru [ "passthru" "meta" ]); }; + configWithPlatform = kernelPlatform: import ./common-config.nix + { inherit stdenv version kernelPlatform extraConfig; + features = passthru.features; # Ensure we know of all extra patches, etc. + }; + + config = configWithPlatform stdenv.platform; + configCross = configWithPlatform stdenv.cross.platform; + nativeDrv = lib.addPassthru kernel.nativeDrv passthru; crossDrv = lib.addPassthru kernel.crossDrv passthru;