summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2015-04-17 09:54:11 -0400
committerMark H Weaver <mhw@netris.org>2015-04-17 09:54:11 -0400
commit933204e5b1473a54367aef1f90de22424e9074ab (patch)
treed0ccfee2b903c5fac827bc4a52ec7de17bdc1e7b /gnu
parent9128e323c0a23243c3f70b1716c68ad0b241f30d (diff)
parent5e25ebe2fa70297d094fe891b81c4970e45a906a (diff)
downloadguix-933204e5b1473a54367aef1f90de22424e9074ab.tar.gz
Merge branch 'master' into core-updates
Conflicts:
	gnu-system.am
	gnu/packages/gstreamer.scm
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/install.scm43
-rw-r--r--gnu/packages/bioinformatics.scm35
-rw-r--r--gnu/packages/ebook.scm4
-rw-r--r--gnu/packages/emacs.scm3
-rw-r--r--gnu/packages/gstreamer.scm8
-rw-r--r--gnu/packages/hurd.scm14
-rw-r--r--gnu/packages/java.scm8
-rw-r--r--gnu/packages/linux-libre-i686.conf200
-rw-r--r--gnu/packages/linux-libre-x86_64.conf204
-rw-r--r--gnu/packages/linux.scm49
-rw-r--r--gnu/packages/mail.scm4
-rw-r--r--gnu/packages/patches/emacs-exec-path.patch18
-rw-r--r--gnu/packages/patches/linux-libre-vblank-fix.patch175
-rw-r--r--gnu/packages/ruby.scm4
-rw-r--r--gnu/packages/tbb.scm7
-rw-r--r--gnu/packages/telephony.scm24
-rw-r--r--gnu/packages/textutils.scm31
-rw-r--r--gnu/services/avahi.scm3
-rw-r--r--gnu/services/dbus.scm3
-rw-r--r--gnu/services/networking.scm4
-rw-r--r--gnu/system.scm45
-rw-r--r--gnu/system/install.scm39
22 files changed, 610 insertions, 315 deletions
diff --git a/gnu/build/install.scm b/gnu/build/install.scm
index 51895d58ec..f019fcb417 100644
--- a/gnu/build/install.scm
+++ b/gnu/build/install.scm
@@ -18,12 +18,14 @@
 
 (define-module (gnu build install)
   #:use-module (guix build utils)
+  #:use-module (guix build store-copy)
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 match)
   #:export (install-grub
             populate-root-file-system
             reset-timestamps
-            register-closure))
+            register-closure
+            populate-single-profile-directory))
 
 ;;; Commentary:
 ;;;
@@ -157,4 +159,43 @@ by 'guix-register'.  As a side effect, this resets timestamps on store files."
     (unless (zero? status)
       (error "failed to register store items" closure))))
 
+(define* (populate-single-profile-directory directory
+                                            #:key profile closure)
+  "Populate DIRECTORY with a store containing PROFILE, whose closure is given
+in the file called CLOSURE (as generated by #:references-graphs.)  DIRECTORY
+is initialized to contain a single profile under /root pointing to PROFILE.
+This is used to create the self-contained Guix tarball."
+  (define (scope file)
+    (string-append directory "/" file))
+
+  (define %root-profile
+    "/var/guix/profiles/per-user/root")
+
+  (define (mkdir-p* dir)
+    (mkdir-p (scope dir)))
+
+  (define (symlink* old new)
+    (symlink old (scope new)))
+
+  ;; Populate the store.
+  (populate-store (list closure) directory)
+  (register-closure (canonicalize-path directory) closure)
+
+  ;; XXX: 'guix-register' registers profiles as GC roots but the symlink
+  ;; target uses $TMPDIR.  Fix that.
+  (delete-file (scope "/var/guix/gcroots/profiles"))
+  (symlink* "/var/guix/profiles"
+            "/var/guix/gcroots/profiles")
+
+  ;; Make root's profile, which makes it a GC root.
+  (mkdir-p* %root-profile)
+  (symlink* profile
+            (string-append %root-profile "/guix-profile-1-link"))
+  (symlink* (string-append %root-profile "/guix-profile-1-link")
+            (string-append %root-profile "/guix-profile"))
+
+  (mkdir-p* "/root")
+  (symlink* (string-append %root-profile "/guix-profile")
+            "/root/.guix-profile"))
+
 ;;; install.scm ends here
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index e143fb2c55..b1258220b4 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -39,6 +39,7 @@
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages tbb)
+  #:use-module (gnu packages textutils)
   #:use-module (gnu packages vim)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages zip))
@@ -471,6 +472,38 @@ file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.")
 other types of unwanted sequence from high-throughput sequencing reads.")
     (license license:expat)))
 
+(define-public fastx-toolkit
+  (package
+    (name "fastx-toolkit")
+    (version "0.0.14")
+    (source (origin
+              (method url-fetch)
+              (uri
+               (string-append
+                "https://github.com/agordon/fastx_toolkit/releases/download/"
+                version "/fastx_toolkit-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "01jqzw386873sr0pjp1wr4rn8fsga2vxs1qfmicvx1pjr72007wy"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("libgtextutils" ,libgtextutils)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://hannonlab.cshl.edu/fastx_toolkit/")
+    (synopsis "Tools for FASTA/FASTQ file preprocessing")
+    (description
+     "The FASTX-Toolkit is a collection of command line tools for Short-Reads
+FASTA/FASTQ files preprocessing.
+
+Next-Generation sequencing machines usually produce FASTA or FASTQ files,
+containing multiple short-reads sequences.  The main processing of such
+FASTA/FASTQ files is mapping the sequences to reference genomes.  However, it
+is sometimes more productive to preprocess the files before mapping the
+sequences to the genome---manipulating the sequences to produce better mapping
+results.  The FASTX-Toolkit tools perform some of these preprocessing tasks.")
+    (license license:agpl3+)))
+
 (define-public flexbar
   (package
     (name "flexbar")
@@ -871,7 +904,7 @@ generated using the PacBio Iso-Seq protocol.")
         (string-append "mirror://sourceforge/rseqc/"
                        version "/RSeQC-" version ".tar.gz"))
        (sha256
-        (base32 "09rf0x9d6apjja5l01cgprj7vigpw6kiqhy34ibwwlxil0db0ri4"))
+        (base32 "15ly0254yi032qzkdplg00q144qfdsd986gh62829rl5bkxhj330"))
        (modules '((guix build utils)))
        (snippet
         '(begin
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 05165774d7..0602463a87 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -60,7 +60,7 @@
 (define-public calibre
   (package
     (name "calibre")
-    (version "2.22.0")
+    (version "2.24.0")
     (source
       (origin
         (method url-fetch)
@@ -69,7 +69,7 @@
                             version ".tar.xz"))
         (sha256
           (base32
-           "19hpm5xzhjr0nfjm6xyqxjx2iwm3iw7y6bbs11337arfrxn16ly0"))
+           "1l9gdna8vzc48yh20kwidb5hfp04cawg6vggkkqnn5zh9dwcvm4d"))
         ;; Remove non-free or doubtful code, see
         ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
         (modules '((guix build utils)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 5eb9c4b44a..8d3df368b1 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -64,7 +64,8 @@
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx"))))
+               "0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx"))
+             (patches (list (search-patch "emacs-exec-path.patch")))))
     (build-system glib-or-gtk-build-system)
     (arguments
      '(#:phases (alist-cons-before
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index e3019f630c..977ca14e3a 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -35,6 +35,7 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages video)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages pkg-config)
@@ -262,7 +263,8 @@ developers consider to have good quality code and correct functionality.")
                 "1g7vg9amh3cc3nmc415h6g2rqxqi4wgwqi08hxfbpwq48ri64p30"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases
+     '(#:configure-flags '("--with-system-libav")
+       #:phases
        (modify-phases %standard-phases
          (add-before 'configure 'patch-/bin/sh
                      (lambda _
@@ -271,10 +273,10 @@ developers consider to have good quality code and correct functionality.")
                           (string-append "#! "(which "sh")))))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("python" ,python)
-       ("yasm" ,yasm)))
+       ("python" ,python)))
     (inputs
      `(("gst-plugins-base" ,gst-plugins-base)
+       ("ffmpeg" ,ffmpeg)
        ("orc" ,orc)
        ("zlib" ,zlib)))
     (home-page "http://gstreamer.freedesktop.org/")
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 8ac78d3ece..62dc04385f 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
+;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -29,7 +29,7 @@
 (define-public gnumach-headers
   (package
     (name "gnumach-headers")
-    (version "1.4")
+    (version "1.5")
     (source
      (origin
       (method url-fetch)
@@ -37,7 +37,7 @@
                           version ".tar.gz"))
       (sha256
        (base32
-        "0r371wsm7imx356p0xsls5hifb1gf9y90rm1phr0qkahbmfk9hlv"))))
+        "0wsf57q4h6xl2jn28d423qx7zplmhpnf9ssm4f1c0sf8513xm81j"))))
     (build-system gnu-build-system)
     (arguments
     `(#:phases (alist-replace
@@ -63,7 +63,7 @@
 (define-public mig
   (package
     (name "mig")
-    (version "1.4")
+    (version "1.5")
     (source
      (origin
       (method url-fetch)
@@ -71,7 +71,7 @@
                           version ".tar.gz"))
       (sha256
        (base32
-        "1jgzggnbp22sa8z5dilm43zy12vlf1pjxfb3kh13xrfhcay0l97b"))))
+        "13r1pg8icyc0pl082z7k36i440pr1f3nr7ahig3rrc0r7qndqmk9"))))
     (build-system gnu-build-system)
     (inputs `(("gnumach-headers" ,gnumach-headers)))
     (native-inputs
@@ -92,14 +92,14 @@ communication.")
 (define-public hurd-headers
   (package
     (name "hurd-headers")
-    (version "0.5")
+    (version "0.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/hurd/hurd-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0lvkz3r0ngb4bsn2hzdc9vjpyrfa3ls36jivrvy1n7f7f55zan7q"))))
+                "059lbspbpcjpcq5jf98f47jw9sm0ngs3x6phxax53m3rwca1fk7y"))))
     (build-system gnu-build-system)
     (native-inputs
      `(;; Autoconf shouldn't be necessary but there seems to be a bug in the
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index db730cd60e..2a8cd99fe6 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -102,7 +102,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
 (define-public icedtea6
   (package
     (name "icedtea6")
-    (version "1.13.6")
+    (version "1.13.7")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -110,7 +110,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
                     version ".tar.xz"))
               (sha256
                (base32
-                "16ac3f7kkln5skg202vllagkhjxrwd47h56diwzhfidhwjlz7410"))
+                "0fqq898h0mk554mya5z4j9p4x6sg2qj0ckqzx65x49zcjjp69jm5"))
               (modules '((guix build utils)))
               (snippet
                '(substitute* "Makefile.in"
@@ -467,10 +467,10 @@ build process and its dependencies, whereas Make uses Makefile format.")
        ("openjdk6-src"
         ,(origin
            (method url-fetch)
-           (uri "https://java.net/downloads/openjdk6/openjdk-6-src-b34-20_jan_2015.tar.xz")
+           (uri "https://java.net/downloads/openjdk6/openjdk-6-src-b35-14_apr_2015.tar.gz")
            (sha256
             (base32
-             "0lafxvi255r22pjljkj9x6liacqdgin8smdmh6nzkdjjw7hv9l8k"))))
+             "05glw29vy4yw9rkjy9y8wg6ybzi89gjwi19qpnfda978x02r2x5p"))))
        ("lcms" ,lcms)
        ("zlib" ,zlib)
        ("gtk" ,gtk+-2)
diff --git a/gnu/packages/linux-libre-i686.conf b/gnu/packages/linux-libre-i686.conf
index 2274ea2879..0b66cc0e7c 100644
--- a/gnu/packages/linux-libre-i686.conf
+++ b/gnu/packages/linux-libre-i686.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.19.0-gnu Kernel Configuration
+# Linux/x86 4.0.0-gnu Kernel Configuration
 #
 # CONFIG_64BIT is not set
 CONFIG_X86_32=y
@@ -128,6 +128,7 @@ CONFIG_TASK_IO_ACCOUNTING=y
 # RCU Subsystem
 #
 CONFIG_TREE_RCU=y
+CONFIG_SRCU=y
 # CONFIG_TASKS_RCU is not set
 CONFIG_RCU_STALL_COMMON=y
 CONFIG_RCU_FANOUT=32
@@ -135,6 +136,7 @@ CONFIG_RCU_FANOUT_LEAF=16
 # CONFIG_RCU_FANOUT_EXACT is not set
 CONFIG_RCU_FAST_NO_HZ=y
 # CONFIG_TREE_RCU_TRACE is not set
+CONFIG_RCU_KTHREAD_PRIO=0
 # CONFIG_RCU_NOCB_CPU is not set
 # CONFIG_BUILD_BIN2C is not set
 # CONFIG_IKCONFIG is not set
@@ -179,7 +181,6 @@ CONFIG_RD_LZMA=y
 CONFIG_RD_XZ=y
 CONFIG_RD_LZO=y
 CONFIG_RD_LZ4=y
-CONFIG_INIT_FALLBACK=y
 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
 CONFIG_SYSCTL=y
 CONFIG_ANON_INODES=y
@@ -295,11 +296,6 @@ CONFIG_MODULE_UNLOAD=y
 CONFIG_MODVERSIONS=y
 CONFIG_MODULE_SRCVERSION_ALL=y
 # CONFIG_MODULE_SIG is not set
-# CONFIG_MODULE_SIG_SHA1 is not set
-# CONFIG_MODULE_SIG_SHA224 is not set
-# CONFIG_MODULE_SIG_SHA256 is not set
-# CONFIG_MODULE_SIG_SHA384 is not set
-# CONFIG_MODULE_SIG_SHA512 is not set
 # CONFIG_MODULE_COMPRESS is not set
 CONFIG_STOP_MACHINE=y
 CONFIG_BLOCK=y
@@ -364,6 +360,7 @@ CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
 CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
 CONFIG_MUTEX_SPIN_ON_OWNER=y
 CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
 CONFIG_ARCH_USE_QUEUE_RWLOCK=y
 CONFIG_QUEUE_RWLOCK=y
 CONFIG_FREEZER=y
@@ -379,7 +376,9 @@ CONFIG_X86_MPPARSE=y
 CONFIG_X86_EXTENDED_PLATFORM=y
 # CONFIG_X86_GOLDFISH is not set
 CONFIG_X86_INTEL_MID=y
+# CONFIG_X86_INTEL_QUARK is not set
 CONFIG_X86_INTEL_LPSS=y
+CONFIG_X86_AMD_PLATFORM_DEVICE=y
 CONFIG_IOSF_MBI=m
 CONFIG_IOSF_MBI_DEBUG=y
 # CONFIG_X86_RDC321X is not set
@@ -539,6 +538,7 @@ CONFIG_ZPOOL=y
 CONFIG_ZBUD=y
 CONFIG_ZSMALLOC=y
 CONFIG_PGTABLE_MAPPING=y
+# CONFIG_ZSMALLOC_STAT is not set
 CONFIG_GENERIC_EARLY_IOREMAP=y
 CONFIG_HIGHPTE=y
 CONFIG_X86_CHECK_BIOS_CORRUPTION=y
@@ -629,6 +629,7 @@ CONFIG_ACPI_PCI_SLOT=y
 CONFIG_X86_PM_TIMER=y
 CONFIG_ACPI_CONTAINER=y
 CONFIG_ACPI_HOTPLUG_MEMORY=y
+CONFIG_ACPI_HOTPLUG_IOAPIC=y
 CONFIG_ACPI_SBS=m
 CONFIG_ACPI_HED=y
 # CONFIG_ACPI_CUSTOM_METHOD is not set
@@ -677,6 +678,7 @@ CONFIG_X86_INTEL_PSTATE=y
 CONFIG_X86_PCC_CPUFREQ=y
 CONFIG_X86_ACPI_CPUFREQ=y
 CONFIG_X86_ACPI_CPUFREQ_CPB=y
+CONFIG_X86_SFI_CPUFREQ=m
 CONFIG_X86_POWERNOW_K6=m
 CONFIG_X86_POWERNOW_K7=m
 CONFIG_X86_POWERNOW_K7_ACPI=y
@@ -1277,7 +1279,6 @@ CONFIG_RDS_RDMA=m
 CONFIG_RDS_TCP=m
 # CONFIG_RDS_DEBUG is not set
 CONFIG_TIPC=m
-CONFIG_TIPC_PORTS=8191
 CONFIG_TIPC_MEDIA_IB=y
 CONFIG_ATM=m
 CONFIG_ATM_CLIP=m
@@ -1326,6 +1327,7 @@ CONFIG_LAPB=m
 CONFIG_PHONET=m
 CONFIG_6LOWPAN=m
 CONFIG_IEEE802154=m
+CONFIG_IEEE802154_SOCKET=m
 CONFIG_IEEE802154_6LOWPAN=m
 CONFIG_MAC802154=m
 CONFIG_NET_SCHED=y
@@ -1396,6 +1398,8 @@ CONFIG_NET_ACT_SIMP=m
 CONFIG_NET_ACT_SKBEDIT=m
 CONFIG_NET_ACT_CSUM=m
 CONFIG_NET_ACT_VLAN=m
+CONFIG_NET_ACT_BPF=m
+CONFIG_NET_ACT_CONNMARK=m
 # CONFIG_NET_CLS_IND is not set
 CONFIG_NET_SCH_FIFO=y
 CONFIG_DCB=y
@@ -1575,6 +1579,7 @@ CONFIG_BT_CMTP=m
 CONFIG_BT_HIDP=m
 CONFIG_BT_LE=y
 CONFIG_BT_6LOWPAN=m
+# CONFIG_BT_SELFTEST is not set
 
 #
 # Bluetooth device drivers
@@ -1843,6 +1848,7 @@ CONFIG_MTD_NAND_CAFE=m
 CONFIG_MTD_NAND_CS553X=m
 CONFIG_MTD_NAND_NANDSIM=m
 CONFIG_MTD_NAND_PLATFORM=m
+CONFIG_MTD_NAND_HISI504=m
 CONFIG_MTD_ONENAND=m
 CONFIG_MTD_ONENAND_VERIFY_WRITE=y
 CONFIG_MTD_ONENAND_GENERIC=m
@@ -1937,7 +1943,7 @@ CONFIG_BLK_DEV_SX8=m
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_COUNT=16
 CONFIG_BLK_DEV_RAM_SIZE=65536
-# CONFIG_BLK_DEV_XIP is not set
+CONFIG_BLK_DEV_RAM_DAX=y
 CONFIG_CDROM_PKTCDVD=m
 CONFIG_CDROM_PKTCDVD_BUFFERS=8
 # CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -2370,16 +2376,6 @@ CONFIG_FIREWIRE_OHCI=m
 CONFIG_FIREWIRE_SBP2=m
 CONFIG_FIREWIRE_NET=m
 CONFIG_FIREWIRE_NOSY=m
-CONFIG_I2O=m
-CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
-CONFIG_I2O_EXT_ADAPTEC=y
-CONFIG_I2O_EXT_ADAPTEC_DMA64=y
-CONFIG_I2O_CONFIG=m
-# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
-CONFIG_I2O_BUS=m
-CONFIG_I2O_BLOCK=m
-CONFIG_I2O_SCSI=m
-CONFIG_I2O_PROC=m
 CONFIG_MACINTOSH_DRIVERS=y
 CONFIG_MAC_EMUMOUSEBTN=m
 CONFIG_NETDEVICES=y
@@ -2503,6 +2499,8 @@ CONFIG_LANCE=m
 CONFIG_PCNET32=m
 CONFIG_PCMCIA_NMCLAN=m
 CONFIG_NI65=m
+CONFIG_AMD_XGBE=m
+CONFIG_AMD_XGBE_DCB=y
 # CONFIG_NET_XGENE is not set
 CONFIG_NET_VENDOR_ARC=y
 CONFIG_NET_VENDOR_ATHEROS=y
@@ -2576,6 +2574,7 @@ CONFIG_IGB_DCA=y
 CONFIG_IGBVF=m
 CONFIG_IXGB=m
 CONFIG_IXGBE=m
+CONFIG_IXGBE_VXLAN=y
 CONFIG_IXGBE_HWMON=y
 CONFIG_IXGBE_DCA=y
 CONFIG_IXGBE_DCB=y
@@ -2687,6 +2686,7 @@ CONFIG_NIU=m
 CONFIG_NET_VENDOR_TEHUTI=y
 CONFIG_TEHUTI=m
 CONFIG_NET_VENDOR_TI=y
+CONFIG_TI_CPSW_ALE=m
 CONFIG_TLAN=m
 CONFIG_NET_VENDOR_VIA=y
 CONFIG_VIA_RHINE=m
@@ -2713,6 +2713,7 @@ CONFIG_PHYLIB=y
 #
 CONFIG_AT803X_PHY=m
 CONFIG_AMD_PHY=m
+CONFIG_AMD_XGBE_PHY=m
 CONFIG_MARVELL_PHY=m
 CONFIG_DAVICOM_PHY=m
 CONFIG_QSEMI_PHY=m
@@ -3281,6 +3282,7 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
 CONFIG_MOUSE_PS2_ELANTECH=y
 CONFIG_MOUSE_PS2_SENTELIC=y
 CONFIG_MOUSE_PS2_TOUCHKIT=y
+CONFIG_MOUSE_PS2_FOCALTECH=y
 CONFIG_MOUSE_SERIAL=m
 CONFIG_MOUSE_APPLETOUCH=m
 CONFIG_MOUSE_BCM5974=m
@@ -3420,6 +3422,7 @@ CONFIG_INPUT_AD714X_I2C=m
 CONFIG_INPUT_AD714X_SPI=m
 CONFIG_INPUT_ARIZONA_HAPTICS=m
 CONFIG_INPUT_BMA150=m
+CONFIG_INPUT_E3X0_BUTTON=m
 CONFIG_INPUT_PCSPKR=m
 CONFIG_INPUT_MAX77693_HAPTIC=m
 CONFIG_INPUT_MAX8925_ONKEY=m
@@ -3440,7 +3443,10 @@ CONFIG_INPUT_KXTJ9=m
 CONFIG_INPUT_POWERMATE=m
 CONFIG_INPUT_YEALINK=m
 CONFIG_INPUT_CM109=m
+CONFIG_INPUT_REGULATOR_HAPTIC=m
 CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_TPS65218_PWRBUTTON=m
+CONFIG_INPUT_AXP20X_PEK=m
 CONFIG_INPUT_TWL4030_PWRBUTTON=m
 CONFIG_INPUT_TWL4030_VIBRA=m
 CONFIG_INPUT_TWL6040_VIBRA=m
@@ -3517,6 +3523,7 @@ CONFIG_N_HDLC=m
 CONFIG_N_GSM=m
 CONFIG_TRACE_ROUTER=m
 CONFIG_TRACE_SINK=m
+CONFIG_DEVMEM=y
 # CONFIG_DEVKMEM is not set
 
 #
@@ -3551,7 +3558,6 @@ CONFIG_SERIAL_8250_FINTEK=m
 CONFIG_SERIAL_KGDB_NMI=y
 CONFIG_SERIAL_MAX3100=m
 CONFIG_SERIAL_MAX310X=y
-CONFIG_SERIAL_MRST_MAX3110=m
 CONFIG_SERIAL_MFD_HSU=m
 CONFIG_SERIAL_UARTLITE=m
 CONFIG_SERIAL_CORE=y
@@ -3630,8 +3636,9 @@ CONFIG_TCG_TIS_I2C_NUVOTON=m
 CONFIG_TCG_NSC=m
 CONFIG_TCG_ATMEL=m
 CONFIG_TCG_INFINEON=m
-CONFIG_TCG_ST33_I2C=m
+CONFIG_TCG_TIS_I2C_ST33=m
 CONFIG_TCG_XEN=m
+CONFIG_TCG_CRB=m
 CONFIG_TELCLOCK=m
 CONFIG_DEVPORT=y
 CONFIG_XILLYBUS=m
@@ -3644,7 +3651,7 @@ CONFIG_I2C=y
 CONFIG_ACPI_I2C_OPREGION=y
 CONFIG_I2C_BOARDINFO=y
 CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_CHARDEV=y
 CONFIG_I2C_MUX=m
 
 #
@@ -3738,6 +3745,7 @@ CONFIG_SPI_MASTER=y
 CONFIG_SPI_ALTERA=m
 CONFIG_SPI_BITBANG=m
 CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_DLN2=m
 CONFIG_SPI_GPIO=m
 CONFIG_SPI_LM70_LLP=m
 CONFIG_SPI_OC_TINY=m
@@ -3962,6 +3970,7 @@ CONFIG_CHARGER_LP8788=m
 CONFIG_CHARGER_GPIO=m
 CONFIG_CHARGER_MANAGER=y
 CONFIG_CHARGER_MAX14577=m
+CONFIG_CHARGER_MAX77693=m
 CONFIG_CHARGER_MAX8997=m
 CONFIG_CHARGER_MAX8998=m
 CONFIG_CHARGER_BQ2415X=m
@@ -3969,7 +3978,10 @@ CONFIG_CHARGER_BQ24190=m
 CONFIG_CHARGER_BQ24735=m
 CONFIG_CHARGER_SMB347=m
 CONFIG_CHARGER_TPS65090=m
+CONFIG_BATTERY_GAUGE_LTC2941=m
+CONFIG_BATTERY_RT5033=m
 CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_RESTART=y
 CONFIG_POWER_AVS=y
 CONFIG_HWMON=y
 CONFIG_HWMON_VID=m
@@ -4282,6 +4294,7 @@ CONFIG_MFD_DA9052_SPI=y
 CONFIG_MFD_DA9052_I2C=y
 CONFIG_MFD_DA9055=y
 CONFIG_MFD_DA9063=y
+CONFIG_MFD_DA9150=m
 CONFIG_MFD_DLN2=m
 CONFIG_MFD_MC13XXX=m
 CONFIG_MFD_MC13XXX_SPI=m
@@ -4298,7 +4311,6 @@ CONFIG_MFD_88PM800=m
 CONFIG_MFD_88PM805=m
 CONFIG_MFD_88PM860X=y
 CONFIG_MFD_MAX14577=y
-CONFIG_MFD_MAX77686=y
 CONFIG_MFD_MAX77693=y
 CONFIG_MFD_MAX8907=m
 CONFIG_MFD_MAX8925=y
@@ -4314,6 +4326,7 @@ CONFIG_PCF50633_GPIO=m
 CONFIG_UCB1400_CORE=m
 CONFIG_MFD_RDC321X=m
 CONFIG_MFD_RTSX_PCI=m
+CONFIG_MFD_RT5033=m
 CONFIG_MFD_RTSX_USB=m
 CONFIG_MFD_RC5T583=y
 CONFIG_MFD_RN5T618=m
@@ -4406,9 +4419,7 @@ CONFIG_REGULATOR_MAX8952=m
 CONFIG_REGULATOR_MAX8973=m
 CONFIG_REGULATOR_MAX8997=m
 CONFIG_REGULATOR_MAX8998=m
-CONFIG_REGULATOR_MAX77686=m
 CONFIG_REGULATOR_MAX77693=m
-CONFIG_REGULATOR_MAX77802=m
 CONFIG_REGULATOR_MC13XXX_CORE=m
 CONFIG_REGULATOR_MC13783=m
 CONFIG_REGULATOR_MC13892=m
@@ -4419,6 +4430,7 @@ CONFIG_REGULATOR_PFUZE100=m
 CONFIG_REGULATOR_PWM=m
 CONFIG_REGULATOR_RC5T583=m
 CONFIG_REGULATOR_RN5T618=m
+CONFIG_REGULATOR_RT5033=m
 CONFIG_REGULATOR_S2MPA01=m
 CONFIG_REGULATOR_S2MPS11=m
 CONFIG_REGULATOR_S5M8767=m
@@ -4560,6 +4572,7 @@ CONFIG_USB_GSPCA_STV0680=m
 CONFIG_USB_GSPCA_SUNPLUS=m
 CONFIG_USB_GSPCA_T613=m
 CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TOUPTEK=m
 CONFIG_USB_GSPCA_TV8532=m
 CONFIG_USB_GSPCA_VC032X=m
 CONFIG_USB_GSPCA_VICAM=m
@@ -4816,7 +4829,6 @@ CONFIG_MEDIA_COMMON_OPTIONS=y
 # common driver options
 #
 CONFIG_VIDEO_CX2341X=m
-CONFIG_VIDEO_BTCX=m
 CONFIG_VIDEO_TVEEPROM=m
 CONFIG_CYPRESS_FIRMWARE=m
 CONFIG_DVB_B2C2_FLEXCOP=m
@@ -5134,6 +5146,7 @@ CONFIG_VGA_SWITCHEROO=y
 # Direct Rendering Manager
 #
 CONFIG_DRM=m
+CONFIG_DRM_MIPI_DSI=y
 CONFIG_DRM_KMS_HELPER=m
 CONFIG_DRM_KMS_FB_HELPER=y
 CONFIG_DRM_LOAD_EDID_FIRMWARE=y
@@ -5146,7 +5159,6 @@ CONFIG_DRM_I2C_ADV7511=m
 CONFIG_DRM_I2C_CH7006=m
 CONFIG_DRM_I2C_SIL164=m
 CONFIG_DRM_I2C_NXP_TDA998X=m
-CONFIG_DRM_PTN3460=m
 CONFIG_DRM_TDFX=m
 CONFIG_DRM_R128=m
 CONFIG_DRM_RADEON=m
@@ -5176,6 +5188,11 @@ CONFIG_DRM_AST=m
 CONFIG_DRM_CIRRUS_QEMU=m
 CONFIG_DRM_QXL=m
 # CONFIG_DRM_BOCHS is not set
+CONFIG_DRM_PANEL=y
+
+#
+# Display Panels
+#
 
 #
 # Frame buffer Devices
@@ -5346,6 +5363,8 @@ CONFIG_VGA_CONSOLE=y
 # CONFIG_VGACON_SOFT_SCROLLBACK is not set
 CONFIG_MDA_CONSOLE=m
 CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
 CONFIG_FRAMEBUFFER_CONSOLE=y
 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
@@ -5557,6 +5576,11 @@ CONFIG_SND_USB_US122L=m
 CONFIG_SND_USB_6FIRE=m
 CONFIG_SND_USB_HIFACE=m
 CONFIG_SND_BCD2000=m
+CONFIG_SND_USB_LINE6=m
+CONFIG_SND_USB_POD=m
+CONFIG_SND_USB_PODHD=m
+CONFIG_SND_USB_TONEPORT=m
+CONFIG_SND_USB_VARIAX=m
 CONFIG_SND_FIREWIRE=y
 CONFIG_SND_FIREWIRE_LIB=m
 CONFIG_SND_DICE=m
@@ -5601,6 +5625,8 @@ CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m
 CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
 CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
+CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
+CONFIG_SND_SOC_XTFPGA_I2S=m
 CONFIG_SND_SOC_I2C_AND_SPI=m
 
 #
@@ -5637,6 +5663,7 @@ CONFIG_SND_SOC_RL6231=m
 CONFIG_SND_SOC_RT286=m
 CONFIG_SND_SOC_RT5631=m
 CONFIG_SND_SOC_RT5640=m
+CONFIG_SND_SOC_RT5645=m
 CONFIG_SND_SOC_RT5670=m
 # CONFIG_SND_SOC_RT5677_SPI is not set
 CONFIG_SND_SOC_SGTL5000=m
@@ -5650,6 +5677,7 @@ CONFIG_SND_SOC_SSM2602=m
 CONFIG_SND_SOC_SSM2602_SPI=m
 CONFIG_SND_SOC_SSM2602_I2C=m
 CONFIG_SND_SOC_SSM4567=m
+CONFIG_SND_SOC_STA32X=m
 CONFIG_SND_SOC_STA350=m
 CONFIG_SND_SOC_TAS2552=m
 CONFIG_SND_SOC_TAS5086=m
@@ -5700,6 +5728,7 @@ CONFIG_HID_APPLE=m
 CONFIG_HID_APPLEIR=m
 CONFIG_HID_AUREAL=m
 CONFIG_HID_BELKIN=m
+CONFIG_HID_BETOP_FF=m
 CONFIG_HID_CHERRY=m
 CONFIG_HID_CHICONY=m
 CONFIG_HID_PRODIKEYS=m
@@ -5829,7 +5858,6 @@ CONFIG_USB_EHCI_PCI=y
 CONFIG_USB_EHCI_HCD_PLATFORM=y
 CONFIG_USB_OXU210HP_HCD=m
 CONFIG_USB_ISP116X_HCD=m
-CONFIG_USB_ISP1760_HCD=m
 CONFIG_USB_ISP1362_HCD=m
 CONFIG_USB_FUSBH200_HCD=m
 CONFIG_USB_FOTG210_HCD=m
@@ -5929,6 +5957,12 @@ CONFIG_USB_CHIPIDEA=m
 CONFIG_USB_CHIPIDEA_UDC=y
 CONFIG_USB_CHIPIDEA_HOST=y
 # CONFIG_USB_CHIPIDEA_DEBUG is not set
+CONFIG_USB_ISP1760=m
+CONFIG_USB_ISP1760_HCD=y
+CONFIG_USB_ISP1761_UDC=y
+# CONFIG_USB_ISP1760_HOST_ROLE is not set
+# CONFIG_USB_ISP1760_GADGET_ROLE is not set
+CONFIG_USB_ISP1760_DUAL_ROLE=y
 
 #
 # USB port drivers
@@ -6111,6 +6145,7 @@ CONFIG_USB_CONFIGFS_F_UAC1=y
 CONFIG_USB_CONFIGFS_F_UAC2=y
 CONFIG_USB_CONFIGFS_F_MIDI=y
 CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_CONFIGFS_F_UVC=y
 CONFIG_USB_ZERO=m
 CONFIG_USB_AUDIO=m
 CONFIG_GADGET_UAC1=y
@@ -6163,8 +6198,6 @@ CONFIG_MMC_SDHCI_PCI=m
 CONFIG_MMC_RICOH_MMC=y
 CONFIG_MMC_SDHCI_ACPI=m
 CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_SDHCI_PXAV3=m
-CONFIG_MMC_SDHCI_PXAV2=m
 CONFIG_MMC_WBSD=m
 CONFIG_MMC_TIFM_SD=m
 CONFIG_MMC_SDRICOH_CS=m
@@ -6196,6 +6229,7 @@ CONFIG_MEMSTICK_REALTEK_PCI=m
 CONFIG_MEMSTICK_REALTEK_USB=m
 CONFIG_NEW_LEDS=y
 CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_CLASS_FLASH=m
 
 #
 # LED drivers
@@ -6333,6 +6367,7 @@ CONFIG_RTC_INTF_DEV=y
 #
 CONFIG_RTC_DRV_88PM860X=m
 CONFIG_RTC_DRV_88PM80X=m
+CONFIG_RTC_DRV_ABB5ZES3=m
 CONFIG_RTC_DRV_DS1307=m
 CONFIG_RTC_DRV_DS1374=m
 CONFIG_RTC_DRV_DS1374_WDT=y
@@ -6344,8 +6379,6 @@ CONFIG_RTC_DRV_MAX8907=m
 CONFIG_RTC_DRV_MAX8925=m
 CONFIG_RTC_DRV_MAX8998=m
 CONFIG_RTC_DRV_MAX8997=m
-CONFIG_RTC_DRV_MAX77686=m
-CONFIG_RTC_DRV_MAX77802=m
 CONFIG_RTC_DRV_RS5C372=m
 CONFIG_RTC_DRV_ISL1208=m
 CONFIG_RTC_DRV_ISL12022=m
@@ -6398,6 +6431,14 @@ CONFIG_RTC_DRV_VRTC=m
 CONFIG_RTC_DRV_DS1286=m
 CONFIG_RTC_DRV_DS1511=m
 CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1685_FAMILY=m
+CONFIG_RTC_DRV_DS1685=y
+# CONFIG_RTC_DRV_DS1689 is not set
+# CONFIG_RTC_DRV_DS17285 is not set
+# CONFIG_RTC_DRV_DS17485 is not set
+# CONFIG_RTC_DRV_DS17885 is not set
+# CONFIG_RTC_DS1685_PROC_REGS is not set
+# CONFIG_RTC_DS1685_SYSFS_REGS is not set
 CONFIG_RTC_DRV_DS1742=m
 CONFIG_RTC_DRV_DS2404=m
 CONFIG_RTC_DRV_DA9052=m
@@ -6478,6 +6519,7 @@ CONFIG_VIRTIO=y
 # Virtio drivers
 #
 CONFIG_VIRTIO_PCI=y
+CONFIG_VIRTIO_PCI_LEGACY=y
 CONFIG_VIRTIO_BALLOON=y
 CONFIG_VIRTIO_MMIO=y
 CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
@@ -6495,6 +6537,7 @@ CONFIG_HYPERV_BALLOON=m
 CONFIG_XEN_BALLOON=y
 CONFIG_XEN_SELFBALLOONING=y
 CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
+CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT=4
 CONFIG_XEN_SCRUB_PAGES=y
 CONFIG_XEN_DEV_EVTCHN=m
 CONFIG_XEN_BACKEND=y
@@ -6646,6 +6689,7 @@ CONFIG_COMEDI_KCOMEDILIB=m
 CONFIG_COMEDI_AMPLC_DIO200=m
 CONFIG_COMEDI_AMPLC_PC236=m
 CONFIG_COMEDI_DAS08=m
+CONFIG_COMEDI_ISADMA=m
 CONFIG_COMEDI_NI_LABPC=m
 CONFIG_COMEDI_NI_LABPC_ISADMA=m
 CONFIG_COMEDI_NI_TIO=m
@@ -6666,8 +6710,6 @@ CONFIG_R8723AU=m
 CONFIG_8723AU_AP_MODE=y
 CONFIG_8723AU_BT_COEXIST=y
 CONFIG_RTS5208=m
-CONFIG_LINE6_USB=m
-# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
 CONFIG_VT6655=m
 CONFIG_VT6656=m
 
@@ -6768,6 +6810,7 @@ CONFIG_IIO_PERIODIC_RTC_TRIGGER=m
 CONFIG_IIO_SIMPLE_DUMMY=m
 # CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set
 # CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set
+CONFIG_FB_SM7XX=m
 CONFIG_FB_XGI=m
 CONFIG_FT1000=m
 CONFIG_FT1000_USB=m
@@ -6792,7 +6835,6 @@ CONFIG_SPEAKUP_SYNTH_SOFT=m
 CONFIG_SPEAKUP_SYNTH_SPKOUT=m
 CONFIG_SPEAKUP_SYNTH_TXPRT=m
 CONFIG_SPEAKUP_SYNTH_DUMMY=m
-CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
 CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
 CONFIG_STAGING_MEDIA=y
 CONFIG_I2C_BCM2048=m
@@ -6800,15 +6842,8 @@ CONFIG_DVB_CXD2099=m
 CONFIG_VIDEO_DT3155=m
 # CONFIG_DT3155_CCIR is not set
 CONFIG_DT3155_STREAMING=y
-CONFIG_VIDEO_TLG2300=m
 CONFIG_DVB_MN88472=m
 CONFIG_DVB_MN88473=m
-CONFIG_MEDIA_PARPORT_SUPPORT=y
-CONFIG_VIDEO_BWQCAM=m
-CONFIG_VIDEO_CQCAM=m
-CONFIG_VIDEO_PMS=m
-CONFIG_VIDEO_W9966=m
-CONFIG_VIDEO_SAA7191=m
 CONFIG_LIRC_STAGING=y
 CONFIG_LIRC_BT829=m
 CONFIG_LIRC_IMON=m
@@ -6847,6 +6882,44 @@ CONFIG_LNET_XPRT_IB=m
 CONFIG_DGNC=m
 CONFIG_DGAP=m
 CONFIG_GS_FPGABOOT=m
+CONFIG_FB_TFT=m
+CONFIG_FB_TFT_AGM1264K_FL=m
+CONFIG_FB_TFT_BD663474=m
+CONFIG_FB_TFT_HX8340BN=m
+CONFIG_FB_TFT_HX8347D=m
+CONFIG_FB_TFT_HX8353D=m
+CONFIG_FB_TFT_ILI9320=m
+CONFIG_FB_TFT_ILI9325=m
+CONFIG_FB_TFT_ILI9340=m
+CONFIG_FB_TFT_ILI9341=m
+CONFIG_FB_TFT_ILI9481=m
+CONFIG_FB_TFT_ILI9486=m
+CONFIG_FB_TFT_PCD8544=m
+CONFIG_FB_TFT_RA8875=m
+CONFIG_FB_TFT_S6D02A1=m
+CONFIG_FB_TFT_S6D1121=m
+CONFIG_FB_TFT_SSD1289=m
+CONFIG_FB_TFT_SSD1306=m
+CONFIG_FB_TFT_SSD1331=m
+CONFIG_FB_TFT_SSD1351=m
+CONFIG_FB_TFT_ST7735R=m
+CONFIG_FB_TFT_TINYLCD=m
+CONFIG_FB_TFT_TLS8204=m
+CONFIG_FB_TFT_UC1701=m
+CONFIG_FB_TFT_UPD161704=m
+CONFIG_FB_TFT_WATTEROTT=m
+CONFIG_FB_FLEX=m
+CONFIG_FB_TFT_FBTFT_DEVICE=m
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_EXT_ADAPTEC_DMA64=y
+CONFIG_I2O_CONFIG=m
+# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
 CONFIG_X86_PLATFORM_DEVICES=y
 CONFIG_ACER_WMI=m
 CONFIG_ACERHDF=m
@@ -6916,14 +6989,12 @@ CONFIG_COMMON_CLK=y
 # Common Clock Framework
 #
 CONFIG_COMMON_CLK_WM831X=m
-CONFIG_COMMON_CLK_MAX_GEN=y
-CONFIG_COMMON_CLK_MAX77686=m
-CONFIG_COMMON_CLK_MAX77802=m
 CONFIG_COMMON_CLK_SI5351=m
 CONFIG_COMMON_CLK_S2MPS11=m
 CONFIG_CLK_TWL6040=m
 CONFIG_COMMON_CLK_PALMAS=m
 # CONFIG_COMMON_CLK_PXA is not set
+CONFIG_COMMON_CLK_CDCE706=m
 
 #
 # Hardware Spinlock drivers
@@ -6944,8 +7015,14 @@ CONFIG_DW_APB_TIMER=y
 # CONFIG_EM_TIMER_STI is not set
 CONFIG_MAILBOX=y
 CONFIG_PCC=y
+CONFIG_ALTERA_MBOX=m
 CONFIG_IOMMU_API=y
 CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+CONFIG_IOMMU_IOVA=y
 CONFIG_DMAR_TABLE=y
 CONFIG_INTEL_IOMMU=y
 # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
@@ -6978,6 +7055,7 @@ CONFIG_DEVFREQ_GOV_USERSPACE=y
 #
 # DEVFREQ Drivers
 #
+CONFIG_PM_DEVFREQ_EVENT=y
 CONFIG_EXTCON=y
 
 #
@@ -7013,6 +7091,9 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
 CONFIG_KXSD9=m
 CONFIG_MMA8452=m
 CONFIG_KXCJK1013=m
+CONFIG_MMA9551_CORE=m
+CONFIG_MMA9551=m
+CONFIG_MMA9553=m
 
 #
 # Analog to digital converters
@@ -7028,6 +7109,7 @@ CONFIG_AD7887=m
 CONFIG_AD7923=m
 CONFIG_AD799X=m
 CONFIG_AXP288_ADC=m
+CONFIG_CC10001_ADC=m
 CONFIG_LP8788_ADC=m
 CONFIG_MAX1027=m
 CONFIG_MAX1363=m
@@ -7036,6 +7118,7 @@ CONFIG_MCP3422=m
 CONFIG_MEN_Z188_ADC=m
 CONFIG_NAU7802=m
 CONFIG_QCOM_SPMI_IADC=m
+CONFIG_QCOM_SPMI_VADC=m
 CONFIG_TI_ADC081C=m
 CONFIG_TI_ADC128S052=m
 CONFIG_TI_AM335X_ADC=m
@@ -7053,6 +7136,12 @@ CONFIG_AD8366=m
 #
 CONFIG_HID_SENSOR_IIO_COMMON=m
 CONFIG_HID_SENSOR_IIO_TRIGGER=m
+
+#
+# SSP Sensor Common
+#
+CONFIG_IIO_SSP_SENSORS_COMMONS=m
+CONFIG_IIO_SSP_SENSORHUB=m
 CONFIG_IIO_ST_SENSORS_I2C=m
 CONFIG_IIO_ST_SENSORS_SPI=m
 CONFIG_IIO_ST_SENSORS_CORE=m
@@ -7118,6 +7207,7 @@ CONFIG_SI7020=m
 #
 CONFIG_ADIS16400=m
 CONFIG_ADIS16480=m
+CONFIG_KMX61=m
 CONFIG_INV_MPU6050_IIO=m
 CONFIG_IIO_ADIS_LIB=m
 CONFIG_IIO_ADIS_LIB_BUFFER=y
@@ -7129,11 +7219,13 @@ CONFIG_ADJD_S311=m
 CONFIG_AL3320A=m
 CONFIG_APDS9300=m
 CONFIG_CM32181=m
+CONFIG_CM3232=m
 CONFIG_CM36651=m
 CONFIG_GP2AP020A00F=m
 CONFIG_ISL29125=m
 CONFIG_HID_SENSOR_ALS=m
 CONFIG_HID_SENSOR_PROX=m
+CONFIG_JSA1212=m
 CONFIG_SENSORS_LM3533=m
 CONFIG_LTR501=m
 CONFIG_TCS3414=m
@@ -7183,6 +7275,11 @@ CONFIG_T5403=m
 CONFIG_AS3935=m
 
 #
+# Proximity sensors
+#
+CONFIG_SX9500=m
+
+#
 # Temperature sensors
 #
 CONFIG_MLX90614=m
@@ -7316,6 +7413,7 @@ CONFIG_BTRFS_FS_POSIX_ACL=y
 # CONFIG_BTRFS_DEBUG is not set
 # CONFIG_BTRFS_ASSERT is not set
 CONFIG_NILFS2_FS=m
+CONFIG_FS_DAX=y
 CONFIG_FS_POSIX_ACL=y
 CONFIG_EXPORTFS=y
 CONFIG_FILE_LOCKING=y
@@ -7386,6 +7484,7 @@ CONFIG_TMPFS_XATTR=y
 CONFIG_HUGETLBFS=y
 CONFIG_HUGETLB_PAGE=y
 CONFIG_CONFIGFS_FS=m
+CONFIG_EFIVAR_FS=y
 CONFIG_MISC_FILESYSTEMS=y
 CONFIG_ADFS_FS=m
 # CONFIG_ADFS_FS_RW is not set
@@ -7450,6 +7549,7 @@ CONFIG_ROMFS_BACKED_BY_BLOCK=y
 CONFIG_ROMFS_ON_BLOCK=y
 CONFIG_PSTORE=y
 # CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_PMSG is not set
 # CONFIG_PSTORE_FTRACE is not set
 CONFIG_PSTORE_RAM=m
 CONFIG_SYSV_FS=m
@@ -7464,7 +7564,7 @@ CONFIG_F2FS_FS_XATTR=y
 CONFIG_F2FS_FS_POSIX_ACL=y
 CONFIG_F2FS_FS_SECURITY=y
 # CONFIG_F2FS_CHECK_FS is not set
-CONFIG_EFIVAR_FS=y
+# CONFIG_F2FS_IO_TRACE is not set
 CONFIG_ORE=m
 CONFIG_NETWORK_FILESYSTEMS=y
 CONFIG_NFS_FS=m
@@ -7478,6 +7578,7 @@ CONFIG_NFS_V4_2=y
 CONFIG_PNFS_FILE_LAYOUT=m
 CONFIG_PNFS_BLOCK=m
 CONFIG_PNFS_OBJLAYOUT=m
+CONFIG_PNFS_FLEXFILE_LAYOUT=m
 CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
 CONFIG_NFS_V4_1_MIGRATION=y
 CONFIG_NFS_V4_SECURITY_LABEL=y
@@ -7490,6 +7591,7 @@ CONFIG_NFSD_V2_ACL=y
 CONFIG_NFSD_V3=y
 CONFIG_NFSD_V3_ACL=y
 CONFIG_NFSD_V4=y
+CONFIG_NFSD_PNFS=y
 CONFIG_NFSD_V4_SECURITY_LABEL=y
 # CONFIG_NFSD_FAULT_INJECTION is not set
 CONFIG_GRACE_PERIOD=m
@@ -7766,6 +7868,7 @@ CONFIG_INTERVAL_TREE_TEST=m
 CONFIG_PERCPU_TEST=m
 # CONFIG_ATOMIC64_SELFTEST is not set
 CONFIG_ASYNC_RAID6_TEST=m
+CONFIG_TEST_HEXDUMP=m
 CONFIG_TEST_STRING_HELPERS=m
 CONFIG_TEST_KSTRTOX=m
 # CONFIG_TEST_RHASHTABLE is not set
@@ -7825,7 +7928,6 @@ CONFIG_PERSISTENT_KEYRINGS=y
 CONFIG_BIG_KEYS=y
 CONFIG_TRUSTED_KEYS=y
 CONFIG_ENCRYPTED_KEYS=y
-CONFIG_KEYS_DEBUG_PROC_KEYS=y
 # CONFIG_SECURITY_DMESG_RESTRICT is not set
 CONFIG_SECURITY=y
 CONFIG_SECURITYFS=y
@@ -7844,6 +7946,7 @@ CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
 # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
 CONFIG_SECURITY_SMACK=y
 # CONFIG_SECURITY_SMACK_BRINGUP is not set
+CONFIG_SECURITY_SMACK_NETFILTER=y
 CONFIG_SECURITY_TOMOYO=y
 CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
 CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
@@ -8018,6 +8121,7 @@ CONFIG_CRYPTO_DRBG=m
 CONFIG_CRYPTO_USER_API=m
 CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_USER_API_RNG=m
 CONFIG_CRYPTO_HASH_INFO=y
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_DEV_PADLOCK=y
@@ -8046,6 +8150,7 @@ CONFIG_KVM_ASYNC_PF=y
 CONFIG_HAVE_KVM_MSI=y
 CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
 CONFIG_KVM_VFIO=y
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
 CONFIG_VIRTUALIZATION=y
 CONFIG_KVM=m
 CONFIG_KVM_INTEL=m
@@ -8060,6 +8165,7 @@ CONFIG_BINARY_PRINTF=y
 #
 CONFIG_RAID6_PQ=m
 CONFIG_BITREVERSE=y
+# CONFIG_HAVE_ARCH_BITREVERSE is not set
 CONFIG_RATIONAL=y
 CONFIG_GENERIC_STRNCPY_FROM_USER=y
 CONFIG_GENERIC_STRNLEN_USER=y
diff --git a/gnu/packages/linux-libre-x86_64.conf b/gnu/packages/linux-libre-x86_64.conf
index cf4cd766c0..04cf66ea72 100644
--- a/gnu/packages/linux-libre-x86_64.conf
+++ b/gnu/packages/linux-libre-x86_64.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 3.19.0-gnu Kernel Configuration
+# Linux/x86 4.0.0-gnu Kernel Configuration
 #
 CONFIG_64BIT=y
 CONFIG_X86_64=y
@@ -131,6 +131,7 @@ CONFIG_TASK_IO_ACCOUNTING=y
 # RCU Subsystem
 #
 CONFIG_TREE_RCU=y
+CONFIG_SRCU=y
 # CONFIG_TASKS_RCU is not set
 CONFIG_RCU_STALL_COMMON=y
 CONFIG_CONTEXT_TRACKING=y
@@ -141,6 +142,7 @@ CONFIG_RCU_FANOUT_LEAF=16
 # CONFIG_RCU_FANOUT_EXACT is not set
 CONFIG_RCU_FAST_NO_HZ=y
 # CONFIG_TREE_RCU_TRACE is not set
+CONFIG_RCU_KTHREAD_PRIO=0
 CONFIG_RCU_NOCB_CPU=y
 # CONFIG_RCU_NOCB_CPU_NONE is not set
 # CONFIG_RCU_NOCB_CPU_ZERO is not set
@@ -192,7 +194,6 @@ CONFIG_RD_LZMA=y
 CONFIG_RD_XZ=y
 CONFIG_RD_LZO=y
 CONFIG_RD_LZ4=y
-CONFIG_INIT_FALLBACK=y
 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
 CONFIG_SYSCTL=y
 CONFIG_ANON_INODES=y
@@ -312,11 +313,6 @@ CONFIG_MODULE_UNLOAD=y
 CONFIG_MODVERSIONS=y
 CONFIG_MODULE_SRCVERSION_ALL=y
 # CONFIG_MODULE_SIG is not set
-# CONFIG_MODULE_SIG_SHA1 is not set
-# CONFIG_MODULE_SIG_SHA224 is not set
-# CONFIG_MODULE_SIG_SHA256 is not set
-# CONFIG_MODULE_SIG_SHA384 is not set
-# CONFIG_MODULE_SIG_SHA512 is not set
 # CONFIG_MODULE_COMPRESS is not set
 CONFIG_STOP_MACHINE=y
 CONFIG_BLOCK=y
@@ -381,6 +377,7 @@ CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
 CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
 CONFIG_MUTEX_SPIN_ON_OWNER=y
 CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
 CONFIG_ARCH_USE_QUEUE_RWLOCK=y
 CONFIG_QUEUE_RWLOCK=y
 CONFIG_FREEZER=y
@@ -399,6 +396,7 @@ CONFIG_X86_NUMACHIP=y
 # CONFIG_X86_UV is not set
 # CONFIG_X86_GOLDFISH is not set
 CONFIG_X86_INTEL_LPSS=y
+CONFIG_X86_AMD_PLATFORM_DEVICE=y
 CONFIG_IOSF_MBI=m
 CONFIG_IOSF_MBI_DEBUG=y
 CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
@@ -539,6 +537,7 @@ CONFIG_ZPOOL=y
 CONFIG_ZBUD=y
 CONFIG_ZSMALLOC=y
 CONFIG_PGTABLE_MAPPING=y
+# CONFIG_ZSMALLOC_STAT is not set
 CONFIG_GENERIC_EARLY_IOREMAP=y
 CONFIG_X86_CHECK_BIOS_CORRUPTION=y
 CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
@@ -578,6 +577,8 @@ CONFIG_HOTPLUG_CPU=y
 # CONFIG_DEBUG_HOTPLUG_CPU0 is not set
 # CONFIG_COMPAT_VDSO is not set
 # CONFIG_CMDLINE_BOOL is not set
+CONFIG_HAVE_LIVEPATCH=y
+CONFIG_LIVEPATCH=y
 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
 CONFIG_USE_PERCPU_NUMA_NODE_ID=y
@@ -633,6 +634,7 @@ CONFIG_ACPI_PCI_SLOT=y
 CONFIG_X86_PM_TIMER=y
 CONFIG_ACPI_CONTAINER=y
 CONFIG_ACPI_HOTPLUG_MEMORY=y
+CONFIG_ACPI_HOTPLUG_IOAPIC=y
 CONFIG_ACPI_SBS=m
 CONFIG_ACPI_HED=y
 # CONFIG_ACPI_CUSTOM_METHOD is not set
@@ -1255,7 +1257,6 @@ CONFIG_RDS_RDMA=m
 CONFIG_RDS_TCP=m
 # CONFIG_RDS_DEBUG is not set
 CONFIG_TIPC=m
-CONFIG_TIPC_PORTS=8191
 CONFIG_TIPC_MEDIA_IB=y
 CONFIG_ATM=m
 CONFIG_ATM_CLIP=m
@@ -1300,6 +1301,7 @@ CONFIG_LAPB=m
 CONFIG_PHONET=m
 CONFIG_6LOWPAN=m
 CONFIG_IEEE802154=m
+CONFIG_IEEE802154_SOCKET=m
 CONFIG_IEEE802154_6LOWPAN=m
 CONFIG_MAC802154=m
 CONFIG_NET_SCHED=y
@@ -1370,6 +1372,8 @@ CONFIG_NET_ACT_SIMP=m
 CONFIG_NET_ACT_SKBEDIT=m
 CONFIG_NET_ACT_CSUM=m
 CONFIG_NET_ACT_VLAN=m
+CONFIG_NET_ACT_BPF=m
+CONFIG_NET_ACT_CONNMARK=m
 # CONFIG_NET_CLS_IND is not set
 CONFIG_NET_SCH_FIFO=y
 CONFIG_DCB=y
@@ -1543,6 +1547,7 @@ CONFIG_BT_CMTP=m
 CONFIG_BT_HIDP=m
 CONFIG_BT_LE=y
 CONFIG_BT_6LOWPAN=m
+# CONFIG_BT_SELFTEST is not set
 
 #
 # Bluetooth device drivers
@@ -1810,6 +1815,7 @@ CONFIG_MTD_NAND_DOCG4=m
 CONFIG_MTD_NAND_CAFE=m
 CONFIG_MTD_NAND_NANDSIM=m
 CONFIG_MTD_NAND_PLATFORM=m
+CONFIG_MTD_NAND_HISI504=m
 CONFIG_MTD_ONENAND=m
 CONFIG_MTD_ONENAND_VERIFY_WRITE=y
 CONFIG_MTD_ONENAND_GENERIC=m
@@ -1901,7 +1907,7 @@ CONFIG_BLK_DEV_SX8=m
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_COUNT=16
 CONFIG_BLK_DEV_RAM_SIZE=65536
-# CONFIG_BLK_DEV_XIP is not set
+CONFIG_BLK_DEV_RAM_DAX=y
 CONFIG_CDROM_PKTCDVD=m
 CONFIG_CDROM_PKTCDVD_BUFFERS=8
 # CONFIG_CDROM_PKTCDVD_WCACHE is not set
@@ -2306,16 +2312,6 @@ CONFIG_FIREWIRE_OHCI=m
 CONFIG_FIREWIRE_SBP2=m
 CONFIG_FIREWIRE_NET=m
 CONFIG_FIREWIRE_NOSY=m
-CONFIG_I2O=m
-CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
-CONFIG_I2O_EXT_ADAPTEC=y
-CONFIG_I2O_EXT_ADAPTEC_DMA64=y
-CONFIG_I2O_CONFIG=m
-# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
-CONFIG_I2O_BUS=m
-CONFIG_I2O_BLOCK=m
-CONFIG_I2O_SCSI=m
-CONFIG_I2O_PROC=m
 CONFIG_MACINTOSH_DRIVERS=y
 CONFIG_MAC_EMUMOUSEBTN=m
 CONFIG_NETDEVICES=y
@@ -2434,6 +2430,8 @@ CONFIG_NET_VENDOR_AMD=y
 CONFIG_AMD8111_ETH=m
 CONFIG_PCNET32=m
 CONFIG_PCMCIA_NMCLAN=m
+CONFIG_AMD_XGBE=m
+CONFIG_AMD_XGBE_DCB=y
 # CONFIG_NET_XGENE is not set
 CONFIG_NET_VENDOR_ARC=y
 CONFIG_NET_VENDOR_ATHEROS=y
@@ -2504,6 +2502,7 @@ CONFIG_IGB_DCA=y
 CONFIG_IGBVF=m
 CONFIG_IXGB=m
 CONFIG_IXGBE=m
+CONFIG_IXGBE_VXLAN=y
 CONFIG_IXGBE_HWMON=y
 CONFIG_IXGBE_DCA=y
 CONFIG_IXGBE_DCB=y
@@ -2610,6 +2609,7 @@ CONFIG_NIU=m
 CONFIG_NET_VENDOR_TEHUTI=y
 CONFIG_TEHUTI=m
 CONFIG_NET_VENDOR_TI=y
+CONFIG_TI_CPSW_ALE=m
 CONFIG_TLAN=m
 CONFIG_NET_VENDOR_VIA=y
 CONFIG_VIA_RHINE=m
@@ -2636,6 +2636,7 @@ CONFIG_PHYLIB=y
 #
 CONFIG_AT803X_PHY=m
 CONFIG_AMD_PHY=m
+CONFIG_AMD_XGBE_PHY=m
 CONFIG_MARVELL_PHY=m
 CONFIG_DAVICOM_PHY=m
 CONFIG_QSEMI_PHY=m
@@ -3182,6 +3183,7 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y
 CONFIG_MOUSE_PS2_ELANTECH=y
 CONFIG_MOUSE_PS2_SENTELIC=y
 CONFIG_MOUSE_PS2_TOUCHKIT=y
+CONFIG_MOUSE_PS2_FOCALTECH=y
 CONFIG_MOUSE_SERIAL=m
 CONFIG_MOUSE_APPLETOUCH=m
 CONFIG_MOUSE_BCM5974=m
@@ -3316,6 +3318,7 @@ CONFIG_INPUT_AD714X_I2C=m
 CONFIG_INPUT_AD714X_SPI=m
 CONFIG_INPUT_ARIZONA_HAPTICS=m
 CONFIG_INPUT_BMA150=m
+CONFIG_INPUT_E3X0_BUTTON=m
 CONFIG_INPUT_PCSPKR=m
 CONFIG_INPUT_MAX77693_HAPTIC=m
 CONFIG_INPUT_MAX8925_ONKEY=m
@@ -3335,7 +3338,10 @@ CONFIG_INPUT_KXTJ9=m
 CONFIG_INPUT_POWERMATE=m
 CONFIG_INPUT_YEALINK=m
 CONFIG_INPUT_CM109=m
+CONFIG_INPUT_REGULATOR_HAPTIC=m
 CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_TPS65218_PWRBUTTON=m
+CONFIG_INPUT_AXP20X_PEK=m
 CONFIG_INPUT_TWL4030_PWRBUTTON=m
 CONFIG_INPUT_TWL4030_VIBRA=m
 CONFIG_INPUT_TWL6040_VIBRA=m
@@ -3412,6 +3418,7 @@ CONFIG_N_HDLC=m
 CONFIG_N_GSM=m
 CONFIG_TRACE_ROUTER=m
 CONFIG_TRACE_SINK=m
+CONFIG_DEVMEM=y
 # CONFIG_DEVKMEM is not set
 
 #
@@ -3441,7 +3448,6 @@ CONFIG_SERIAL_8250_FINTEK=m
 CONFIG_SERIAL_KGDB_NMI=y
 CONFIG_SERIAL_MAX3100=m
 CONFIG_SERIAL_MAX310X=y
-CONFIG_SERIAL_MRST_MAX3110=m
 CONFIG_SERIAL_MFD_HSU=m
 CONFIG_SERIAL_CORE=y
 CONFIG_SERIAL_CORE_CONSOLE=y
@@ -3511,8 +3517,9 @@ CONFIG_TCG_TIS_I2C_NUVOTON=m
 CONFIG_TCG_NSC=m
 CONFIG_TCG_ATMEL=m
 CONFIG_TCG_INFINEON=m
-CONFIG_TCG_ST33_I2C=m
+CONFIG_TCG_TIS_I2C_ST33=m
 CONFIG_TCG_XEN=m
+CONFIG_TCG_CRB=m
 CONFIG_TELCLOCK=m
 CONFIG_DEVPORT=y
 CONFIG_XILLYBUS=m
@@ -3525,7 +3532,7 @@ CONFIG_I2C=y
 CONFIG_ACPI_I2C_OPREGION=y
 CONFIG_I2C_BOARDINFO=y
 CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_CHARDEV=y
 CONFIG_I2C_MUX=m
 
 #
@@ -3616,6 +3623,7 @@ CONFIG_SPI_MASTER=y
 CONFIG_SPI_ALTERA=m
 CONFIG_SPI_BITBANG=m
 CONFIG_SPI_BUTTERFLY=m
+CONFIG_SPI_DLN2=m
 CONFIG_SPI_GPIO=m
 CONFIG_SPI_LM70_LLP=m
 CONFIG_SPI_OC_TINY=m
@@ -3833,6 +3841,7 @@ CONFIG_CHARGER_LP8788=m
 CONFIG_CHARGER_GPIO=m
 CONFIG_CHARGER_MANAGER=y
 CONFIG_CHARGER_MAX14577=m
+CONFIG_CHARGER_MAX77693=m
 CONFIG_CHARGER_MAX8997=m
 CONFIG_CHARGER_MAX8998=m
 CONFIG_CHARGER_BQ2415X=m
@@ -3840,7 +3849,10 @@ CONFIG_CHARGER_BQ24190=m
 CONFIG_CHARGER_BQ24735=m
 CONFIG_CHARGER_SMB347=m
 CONFIG_CHARGER_TPS65090=m
+CONFIG_BATTERY_GAUGE_LTC2941=m
+CONFIG_BATTERY_RT5033=m
 CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_RESTART=y
 CONFIG_POWER_AVS=y
 CONFIG_HWMON=y
 CONFIG_HWMON_VID=m
@@ -4140,6 +4152,7 @@ CONFIG_MFD_DA9052_SPI=y
 CONFIG_MFD_DA9052_I2C=y
 CONFIG_MFD_DA9055=y
 CONFIG_MFD_DA9063=y
+CONFIG_MFD_DA9150=m
 CONFIG_MFD_DLN2=m
 CONFIG_MFD_MC13XXX=m
 CONFIG_MFD_MC13XXX_SPI=m
@@ -4155,7 +4168,6 @@ CONFIG_MFD_88PM800=m
 CONFIG_MFD_88PM805=m
 CONFIG_MFD_88PM860X=y
 CONFIG_MFD_MAX14577=y
-CONFIG_MFD_MAX77686=y
 CONFIG_MFD_MAX77693=y
 CONFIG_MFD_MAX8907=m
 CONFIG_MFD_MAX8925=y
@@ -4171,6 +4183,7 @@ CONFIG_PCF50633_GPIO=m
 CONFIG_UCB1400_CORE=m
 CONFIG_MFD_RDC321X=m
 CONFIG_MFD_RTSX_PCI=m
+CONFIG_MFD_RT5033=m
 CONFIG_MFD_RTSX_USB=m
 CONFIG_MFD_RC5T583=y
 CONFIG_MFD_RN5T618=m
@@ -4262,9 +4275,7 @@ CONFIG_REGULATOR_MAX8952=m
 CONFIG_REGULATOR_MAX8973=m
 CONFIG_REGULATOR_MAX8997=m
 CONFIG_REGULATOR_MAX8998=m
-CONFIG_REGULATOR_MAX77686=m
 CONFIG_REGULATOR_MAX77693=m
-CONFIG_REGULATOR_MAX77802=m
 CONFIG_REGULATOR_MC13XXX_CORE=m
 CONFIG_REGULATOR_MC13783=m
 CONFIG_REGULATOR_MC13892=m
@@ -4275,6 +4286,7 @@ CONFIG_REGULATOR_PFUZE100=m
 CONFIG_REGULATOR_PWM=m
 CONFIG_REGULATOR_RC5T583=m
 CONFIG_REGULATOR_RN5T618=m
+CONFIG_REGULATOR_RT5033=m
 CONFIG_REGULATOR_S2MPA01=m
 CONFIG_REGULATOR_S2MPS11=m
 CONFIG_REGULATOR_S5M8767=m
@@ -4415,6 +4427,7 @@ CONFIG_USB_GSPCA_STV0680=m
 CONFIG_USB_GSPCA_SUNPLUS=m
 CONFIG_USB_GSPCA_T613=m
 CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TOUPTEK=m
 CONFIG_USB_GSPCA_TV8532=m
 CONFIG_USB_GSPCA_VC032X=m
 CONFIG_USB_GSPCA_VICAM=m
@@ -4655,7 +4668,6 @@ CONFIG_MEDIA_COMMON_OPTIONS=y
 # common driver options
 #
 CONFIG_VIDEO_CX2341X=m
-CONFIG_VIDEO_BTCX=m
 CONFIG_VIDEO_TVEEPROM=m
 CONFIG_CYPRESS_FIRMWARE=m
 CONFIG_DVB_B2C2_FLEXCOP=m
@@ -4966,6 +4978,7 @@ CONFIG_VGA_SWITCHEROO=y
 # Direct Rendering Manager
 #
 CONFIG_DRM=m
+CONFIG_DRM_MIPI_DSI=y
 CONFIG_DRM_KMS_HELPER=m
 CONFIG_DRM_KMS_FB_HELPER=y
 CONFIG_DRM_LOAD_EDID_FIRMWARE=y
@@ -4978,7 +4991,6 @@ CONFIG_DRM_I2C_ADV7511=m
 CONFIG_DRM_I2C_CH7006=m
 CONFIG_DRM_I2C_SIL164=m
 CONFIG_DRM_I2C_NXP_TDA998X=m
-CONFIG_DRM_PTN3460=m
 CONFIG_DRM_TDFX=m
 CONFIG_DRM_R128=m
 CONFIG_DRM_RADEON=m
@@ -5007,6 +5019,11 @@ CONFIG_DRM_AST=m
 CONFIG_DRM_CIRRUS_QEMU=m
 CONFIG_DRM_QXL=m
 # CONFIG_DRM_BOCHS is not set
+CONFIG_DRM_PANEL=y
+
+#
+# Display Panels
+#
 CONFIG_HSA_AMD=m
 
 #
@@ -5171,6 +5188,8 @@ CONFIG_HDMI=y
 CONFIG_VGA_CONSOLE=y
 # CONFIG_VGACON_SOFT_SCROLLBACK is not set
 CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
 CONFIG_FRAMEBUFFER_CONSOLE=y
 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
@@ -5341,6 +5360,11 @@ CONFIG_SND_USB_US122L=m
 CONFIG_SND_USB_6FIRE=m
 CONFIG_SND_USB_HIFACE=m
 CONFIG_SND_BCD2000=m
+CONFIG_SND_USB_LINE6=m
+CONFIG_SND_USB_POD=m
+CONFIG_SND_USB_PODHD=m
+CONFIG_SND_USB_TONEPORT=m
+CONFIG_SND_USB_VARIAX=m
 CONFIG_SND_FIREWIRE=y
 CONFIG_SND_FIREWIRE_LIB=m
 CONFIG_SND_DICE=m
@@ -5383,6 +5407,8 @@ CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m
 CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
 CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
+CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
+CONFIG_SND_SOC_XTFPGA_I2S=m
 CONFIG_SND_SOC_I2C_AND_SPI=m
 
 #
@@ -5419,6 +5445,7 @@ CONFIG_SND_SOC_RL6231=m
 CONFIG_SND_SOC_RT286=m
 CONFIG_SND_SOC_RT5631=m
 CONFIG_SND_SOC_RT5640=m
+CONFIG_SND_SOC_RT5645=m
 CONFIG_SND_SOC_RT5670=m
 # CONFIG_SND_SOC_RT5677_SPI is not set
 CONFIG_SND_SOC_SGTL5000=m
@@ -5431,6 +5458,7 @@ CONFIG_SND_SOC_SSM2602=m
 CONFIG_SND_SOC_SSM2602_SPI=m
 CONFIG_SND_SOC_SSM2602_I2C=m
 CONFIG_SND_SOC_SSM4567=m
+CONFIG_SND_SOC_STA32X=m
 CONFIG_SND_SOC_STA350=m
 CONFIG_SND_SOC_TAS2552=m
 CONFIG_SND_SOC_TAS5086=m
@@ -5481,6 +5509,7 @@ CONFIG_HID_APPLE=m
 CONFIG_HID_APPLEIR=m
 CONFIG_HID_AUREAL=m
 CONFIG_HID_BELKIN=m
+CONFIG_HID_BETOP_FF=m
 CONFIG_HID_CHERRY=m
 CONFIG_HID_CHICONY=m
 CONFIG_HID_PRODIKEYS=m
@@ -5610,7 +5639,6 @@ CONFIG_USB_EHCI_PCI=y
 CONFIG_USB_EHCI_HCD_PLATFORM=y
 CONFIG_USB_OXU210HP_HCD=m
 CONFIG_USB_ISP116X_HCD=m
-CONFIG_USB_ISP1760_HCD=m
 CONFIG_USB_ISP1362_HCD=m
 CONFIG_USB_FUSBH200_HCD=m
 CONFIG_USB_FOTG210_HCD=m
@@ -5710,6 +5738,12 @@ CONFIG_USB_CHIPIDEA=m
 CONFIG_USB_CHIPIDEA_UDC=y
 CONFIG_USB_CHIPIDEA_HOST=y
 # CONFIG_USB_CHIPIDEA_DEBUG is not set
+CONFIG_USB_ISP1760=m
+CONFIG_USB_ISP1760_HCD=y
+CONFIG_USB_ISP1761_UDC=y
+# CONFIG_USB_ISP1760_HOST_ROLE is not set
+# CONFIG_USB_ISP1760_GADGET_ROLE is not set
+CONFIG_USB_ISP1760_DUAL_ROLE=y
 
 #
 # USB port drivers
@@ -5892,6 +5926,7 @@ CONFIG_USB_CONFIGFS_F_UAC1=y
 CONFIG_USB_CONFIGFS_F_UAC2=y
 CONFIG_USB_CONFIGFS_F_MIDI=y
 CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_CONFIGFS_F_UVC=y
 CONFIG_USB_ZERO=m
 CONFIG_USB_AUDIO=m
 CONFIG_GADGET_UAC1=y
@@ -5944,8 +5979,6 @@ CONFIG_MMC_SDHCI_PCI=m
 CONFIG_MMC_RICOH_MMC=y
 CONFIG_MMC_SDHCI_ACPI=m
 CONFIG_MMC_SDHCI_PLTFM=m
-CONFIG_MMC_SDHCI_PXAV3=m
-CONFIG_MMC_SDHCI_PXAV2=m
 CONFIG_MMC_WBSD=m
 CONFIG_MMC_TIFM_SD=m
 CONFIG_MMC_SPI=m
@@ -5978,6 +6011,7 @@ CONFIG_MEMSTICK_REALTEK_PCI=m
 CONFIG_MEMSTICK_REALTEK_USB=m
 CONFIG_NEW_LEDS=y
 CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_CLASS_FLASH=m
 
 #
 # LED drivers
@@ -6111,6 +6145,7 @@ CONFIG_RTC_INTF_DEV=y
 #
 CONFIG_RTC_DRV_88PM860X=m
 CONFIG_RTC_DRV_88PM80X=m
+CONFIG_RTC_DRV_ABB5ZES3=m
 CONFIG_RTC_DRV_DS1307=m
 CONFIG_RTC_DRV_DS1374=m
 CONFIG_RTC_DRV_DS1374_WDT=y
@@ -6122,8 +6157,6 @@ CONFIG_RTC_DRV_MAX8907=m
 CONFIG_RTC_DRV_MAX8925=m
 CONFIG_RTC_DRV_MAX8998=m
 CONFIG_RTC_DRV_MAX8997=m
-CONFIG_RTC_DRV_MAX77686=m
-CONFIG_RTC_DRV_MAX77802=m
 CONFIG_RTC_DRV_RS5C372=m
 CONFIG_RTC_DRV_ISL1208=m
 CONFIG_RTC_DRV_ISL12022=m
@@ -6175,6 +6208,14 @@ CONFIG_RTC_DRV_CMOS=y
 CONFIG_RTC_DRV_DS1286=m
 CONFIG_RTC_DRV_DS1511=m
 CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1685_FAMILY=m
+CONFIG_RTC_DRV_DS1685=y
+# CONFIG_RTC_DRV_DS1689 is not set
+# CONFIG_RTC_DRV_DS17285 is not set
+# CONFIG_RTC_DRV_DS17485 is not set
+# CONFIG_RTC_DRV_DS17885 is not set
+# CONFIG_RTC_DS1685_PROC_REGS is not set
+# CONFIG_RTC_DS1685_SYSFS_REGS is not set
 CONFIG_RTC_DRV_DS1742=m
 CONFIG_RTC_DRV_DS2404=m
 CONFIG_RTC_DRV_DA9052=m
@@ -6254,6 +6295,7 @@ CONFIG_VIRTIO=y
 # Virtio drivers
 #
 CONFIG_VIRTIO_PCI=y
+CONFIG_VIRTIO_PCI_LEGACY=y
 CONFIG_VIRTIO_BALLOON=y
 CONFIG_VIRTIO_MMIO=y
 CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
@@ -6271,6 +6313,7 @@ CONFIG_HYPERV_BALLOON=m
 CONFIG_XEN_BALLOON=y
 CONFIG_XEN_SELFBALLOONING=y
 CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
+CONFIG_XEN_BALLOON_MEMORY_HOTPLUG_LIMIT=512
 CONFIG_XEN_SCRUB_PAGES=y
 CONFIG_XEN_DEV_EVTCHN=m
 CONFIG_XEN_BACKEND=y
@@ -6423,6 +6466,7 @@ CONFIG_COMEDI_KCOMEDILIB=m
 CONFIG_COMEDI_AMPLC_DIO200=m
 CONFIG_COMEDI_AMPLC_PC236=m
 CONFIG_COMEDI_DAS08=m
+CONFIG_COMEDI_ISADMA=m
 CONFIG_COMEDI_NI_LABPC=m
 CONFIG_COMEDI_NI_LABPC_ISADMA=m
 CONFIG_COMEDI_NI_TIO=m
@@ -6443,8 +6487,6 @@ CONFIG_R8723AU=m
 CONFIG_8723AU_AP_MODE=y
 CONFIG_8723AU_BT_COEXIST=y
 CONFIG_RTS5208=m
-CONFIG_LINE6_USB=m
-# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
 CONFIG_VT6655=m
 CONFIG_VT6656=m
 
@@ -6545,6 +6587,7 @@ CONFIG_IIO_PERIODIC_RTC_TRIGGER=m
 CONFIG_IIO_SIMPLE_DUMMY=m
 # CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set
 # CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set
+CONFIG_FB_SM7XX=m
 CONFIG_FB_XGI=m
 CONFIG_FT1000=m
 CONFIG_FT1000_USB=m
@@ -6565,7 +6608,6 @@ CONFIG_SPEAKUP_SYNTH_SOFT=m
 CONFIG_SPEAKUP_SYNTH_SPKOUT=m
 CONFIG_SPEAKUP_SYNTH_TXPRT=m
 CONFIG_SPEAKUP_SYNTH_DUMMY=m
-CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
 CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
 CONFIG_STAGING_MEDIA=y
 CONFIG_I2C_BCM2048=m
@@ -6573,14 +6615,8 @@ CONFIG_DVB_CXD2099=m
 CONFIG_VIDEO_DT3155=m
 # CONFIG_DT3155_CCIR is not set
 CONFIG_DT3155_STREAMING=y
-CONFIG_VIDEO_TLG2300=m
 CONFIG_DVB_MN88472=m
 CONFIG_DVB_MN88473=m
-CONFIG_MEDIA_PARPORT_SUPPORT=y
-CONFIG_VIDEO_BWQCAM=m
-CONFIG_VIDEO_CQCAM=m
-CONFIG_VIDEO_W9966=m
-CONFIG_VIDEO_SAA7191=m
 CONFIG_LIRC_STAGING=y
 CONFIG_LIRC_BT829=m
 CONFIG_LIRC_IMON=m
@@ -6624,10 +6660,47 @@ CONFIG_UNISYSSPAR=y
 CONFIG_UNISYS_VISORUTIL=m
 CONFIG_UNISYS_VISORCHANNEL=m
 CONFIG_UNISYS_VISORCHIPSET=m
-CONFIG_UNISYS_CHANNELSTUB=m
 CONFIG_UNISYS_UISLIB=m
 CONFIG_UNISYS_VIRTPCI=m
 CONFIG_UNISYS_VIRTHBA=m
+CONFIG_FB_TFT=m
+CONFIG_FB_TFT_AGM1264K_FL=m
+CONFIG_FB_TFT_BD663474=m
+CONFIG_FB_TFT_HX8340BN=m
+CONFIG_FB_TFT_HX8347D=m
+CONFIG_FB_TFT_HX8353D=m
+CONFIG_FB_TFT_ILI9320=m
+CONFIG_FB_TFT_ILI9325=m
+CONFIG_FB_TFT_ILI9340=m
+CONFIG_FB_TFT_ILI9341=m
+CONFIG_FB_TFT_ILI9481=m
+CONFIG_FB_TFT_ILI9486=m
+CONFIG_FB_TFT_PCD8544=m
+CONFIG_FB_TFT_RA8875=m
+CONFIG_FB_TFT_S6D02A1=m
+CONFIG_FB_TFT_S6D1121=m
+CONFIG_FB_TFT_SSD1289=m
+CONFIG_FB_TFT_SSD1306=m
+CONFIG_FB_TFT_SSD1331=m
+CONFIG_FB_TFT_SSD1351=m
+CONFIG_FB_TFT_ST7735R=m
+CONFIG_FB_TFT_TINYLCD=m
+CONFIG_FB_TFT_TLS8204=m
+CONFIG_FB_TFT_UC1701=m
+CONFIG_FB_TFT_UPD161704=m
+CONFIG_FB_TFT_WATTEROTT=m
+CONFIG_FB_FLEX=m
+CONFIG_FB_TFT_FBTFT_DEVICE=m
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_EXT_ADAPTEC_DMA64=y
+CONFIG_I2O_CONFIG=m
+# CONFIG_I2O_CONFIG_OLD_IOCTL is not set
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
 CONFIG_X86_PLATFORM_DEVICES=y
 CONFIG_ACER_WMI=m
 CONFIG_ACERHDF=m
@@ -6691,14 +6764,12 @@ CONFIG_COMMON_CLK=y
 # Common Clock Framework
 #
 CONFIG_COMMON_CLK_WM831X=m
-CONFIG_COMMON_CLK_MAX_GEN=y
-CONFIG_COMMON_CLK_MAX77686=m
-CONFIG_COMMON_CLK_MAX77802=m
 CONFIG_COMMON_CLK_SI5351=m
 CONFIG_COMMON_CLK_S2MPS11=m
 CONFIG_CLK_TWL6040=m
 CONFIG_COMMON_CLK_PALMAS=m
 # CONFIG_COMMON_CLK_PXA is not set
+CONFIG_COMMON_CLK_CDCE706=m
 
 #
 # Hardware Spinlock drivers
@@ -6717,8 +6788,14 @@ CONFIG_CLKBLD_I8253=y
 # CONFIG_EM_TIMER_STI is not set
 CONFIG_MAILBOX=y
 CONFIG_PCC=y
+CONFIG_ALTERA_MBOX=m
 CONFIG_IOMMU_API=y
 CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+CONFIG_IOMMU_IOVA=y
 CONFIG_AMD_IOMMU=y
 CONFIG_AMD_IOMMU_STATS=y
 CONFIG_AMD_IOMMU_V2=m
@@ -6755,6 +6832,7 @@ CONFIG_DEVFREQ_GOV_USERSPACE=y
 #
 # DEVFREQ Drivers
 #
+CONFIG_PM_DEVFREQ_EVENT=y
 CONFIG_EXTCON=y
 
 #
@@ -6790,6 +6868,9 @@ CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m
 CONFIG_KXSD9=m
 CONFIG_MMA8452=m
 CONFIG_KXCJK1013=m
+CONFIG_MMA9551_CORE=m
+CONFIG_MMA9551=m
+CONFIG_MMA9553=m
 
 #
 # Analog to digital converters
@@ -6805,6 +6886,7 @@ CONFIG_AD7887=m
 CONFIG_AD7923=m
 CONFIG_AD799X=m
 CONFIG_AXP288_ADC=m
+CONFIG_CC10001_ADC=m
 CONFIG_LP8788_ADC=m
 CONFIG_MAX1027=m
 CONFIG_MAX1363=m
@@ -6813,6 +6895,7 @@ CONFIG_MCP3422=m
 CONFIG_MEN_Z188_ADC=m
 CONFIG_NAU7802=m
 CONFIG_QCOM_SPMI_IADC=m
+CONFIG_QCOM_SPMI_VADC=m
 CONFIG_TI_ADC081C=m
 CONFIG_TI_ADC128S052=m
 CONFIG_TI_AM335X_ADC=m
@@ -6830,6 +6913,12 @@ CONFIG_AD8366=m
 #
 CONFIG_HID_SENSOR_IIO_COMMON=m
 CONFIG_HID_SENSOR_IIO_TRIGGER=m
+
+#
+# SSP Sensor Common
+#
+CONFIG_IIO_SSP_SENSORS_COMMONS=m
+CONFIG_IIO_SSP_SENSORHUB=m
 CONFIG_IIO_ST_SENSORS_I2C=m
 CONFIG_IIO_ST_SENSORS_SPI=m
 CONFIG_IIO_ST_SENSORS_CORE=m
@@ -6895,6 +6984,7 @@ CONFIG_SI7020=m
 #
 CONFIG_ADIS16400=m
 CONFIG_ADIS16480=m
+CONFIG_KMX61=m
 CONFIG_INV_MPU6050_IIO=m
 CONFIG_IIO_ADIS_LIB=m
 CONFIG_IIO_ADIS_LIB_BUFFER=y
@@ -6906,11 +6996,13 @@ CONFIG_ADJD_S311=m
 CONFIG_AL3320A=m
 CONFIG_APDS9300=m
 CONFIG_CM32181=m
+CONFIG_CM3232=m
 CONFIG_CM36651=m
 CONFIG_GP2AP020A00F=m
 CONFIG_ISL29125=m
 CONFIG_HID_SENSOR_ALS=m
 CONFIG_HID_SENSOR_PROX=m
+CONFIG_JSA1212=m
 CONFIG_SENSORS_LM3533=m
 CONFIG_LTR501=m
 CONFIG_TCS3414=m
@@ -6960,6 +7052,11 @@ CONFIG_T5403=m
 CONFIG_AS3935=m
 
 #
+# Proximity sensors
+#
+CONFIG_SX9500=m
+
+#
 # Temperature sensors
 #
 CONFIG_MLX90614=m
@@ -7093,6 +7190,7 @@ CONFIG_BTRFS_FS_POSIX_ACL=y
 # CONFIG_BTRFS_DEBUG is not set
 # CONFIG_BTRFS_ASSERT is not set
 CONFIG_NILFS2_FS=m
+CONFIG_FS_DAX=y
 CONFIG_FS_POSIX_ACL=y
 CONFIG_EXPORTFS=y
 CONFIG_FILE_LOCKING=y
@@ -7164,6 +7262,7 @@ CONFIG_TMPFS_XATTR=y
 CONFIG_HUGETLBFS=y
 CONFIG_HUGETLB_PAGE=y
 CONFIG_CONFIGFS_FS=m
+CONFIG_EFIVAR_FS=y
 CONFIG_MISC_FILESYSTEMS=y
 CONFIG_ADFS_FS=m
 # CONFIG_ADFS_FS_RW is not set
@@ -7228,6 +7327,7 @@ CONFIG_ROMFS_BACKED_BY_BLOCK=y
 CONFIG_ROMFS_ON_BLOCK=y
 CONFIG_PSTORE=y
 # CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_PMSG is not set
 # CONFIG_PSTORE_FTRACE is not set
 CONFIG_PSTORE_RAM=m
 CONFIG_SYSV_FS=m
@@ -7242,7 +7342,7 @@ CONFIG_F2FS_FS_XATTR=y
 CONFIG_F2FS_FS_POSIX_ACL=y
 CONFIG_F2FS_FS_SECURITY=y
 # CONFIG_F2FS_CHECK_FS is not set
-CONFIG_EFIVAR_FS=y
+# CONFIG_F2FS_IO_TRACE is not set
 CONFIG_ORE=m
 CONFIG_NETWORK_FILESYSTEMS=y
 CONFIG_NFS_FS=m
@@ -7256,6 +7356,7 @@ CONFIG_NFS_V4_2=y
 CONFIG_PNFS_FILE_LAYOUT=m
 CONFIG_PNFS_BLOCK=m
 CONFIG_PNFS_OBJLAYOUT=m
+CONFIG_PNFS_FLEXFILE_LAYOUT=m
 CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
 CONFIG_NFS_V4_1_MIGRATION=y
 CONFIG_NFS_V4_SECURITY_LABEL=y
@@ -7268,6 +7369,7 @@ CONFIG_NFSD_V2_ACL=y
 CONFIG_NFSD_V3=y
 CONFIG_NFSD_V3_ACL=y
 CONFIG_NFSD_V4=y
+CONFIG_NFSD_PNFS=y
 CONFIG_NFSD_V4_SECURITY_LABEL=y
 # CONFIG_NFSD_FAULT_INJECTION is not set
 CONFIG_GRACE_PERIOD=m
@@ -7423,6 +7525,9 @@ CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=m
 CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
 # CONFIG_DEBUG_STACKOVERFLOW is not set
 CONFIG_HAVE_ARCH_KMEMCHECK=y
+CONFIG_HAVE_ARCH_KASAN=y
+# CONFIG_KASAN is not set
+CONFIG_KASAN_SHADOW_OFFSET=0xdffffc0000000000
 # CONFIG_DEBUG_SHIRQ is not set
 
 #
@@ -7544,6 +7649,7 @@ CONFIG_INTERVAL_TREE_TEST=m
 CONFIG_PERCPU_TEST=m
 # CONFIG_ATOMIC64_SELFTEST is not set
 CONFIG_ASYNC_RAID6_TEST=m
+CONFIG_TEST_HEXDUMP=m
 CONFIG_TEST_STRING_HELPERS=m
 CONFIG_TEST_KSTRTOX=m
 # CONFIG_TEST_RHASHTABLE is not set
@@ -7603,7 +7709,6 @@ CONFIG_PERSISTENT_KEYRINGS=y
 CONFIG_BIG_KEYS=y
 CONFIG_TRUSTED_KEYS=y
 CONFIG_ENCRYPTED_KEYS=y
-CONFIG_KEYS_DEBUG_PROC_KEYS=y
 # CONFIG_SECURITY_DMESG_RESTRICT is not set
 CONFIG_SECURITY=y
 CONFIG_SECURITYFS=y
@@ -7622,6 +7727,7 @@ CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
 # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
 CONFIG_SECURITY_SMACK=y
 # CONFIG_SECURITY_SMACK_BRINGUP is not set
+CONFIG_SECURITY_SMACK_NETFILTER=y
 CONFIG_SECURITY_TOMOYO=y
 CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
 CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
@@ -7813,6 +7919,7 @@ CONFIG_CRYPTO_DRBG=m
 CONFIG_CRYPTO_USER_API=m
 CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_USER_API_RNG=m
 CONFIG_CRYPTO_HASH_INFO=y
 CONFIG_CRYPTO_HW=y
 CONFIG_CRYPTO_DEV_PADLOCK=y
@@ -7840,6 +7947,8 @@ CONFIG_KVM_ASYNC_PF=y
 CONFIG_HAVE_KVM_MSI=y
 CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
 CONFIG_KVM_VFIO=y
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
+CONFIG_KVM_COMPAT=y
 CONFIG_VIRTUALIZATION=y
 CONFIG_KVM=m
 CONFIG_KVM_INTEL=m
@@ -7853,6 +7962,7 @@ CONFIG_BINARY_PRINTF=y
 #
 CONFIG_RAID6_PQ=m
 CONFIG_BITREVERSE=y
+# CONFIG_HAVE_ARCH_BITREVERSE is not set
 CONFIG_RATIONAL=y
 CONFIG_GENERIC_STRNCPY_FROM_USER=y
 CONFIG_GENERIC_STRNLEN_USER=y
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 4a0f61ef22..101982114c 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -198,7 +198,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
      #f)))
 
 (define-public linux-libre
-  (let* ((version "3.19.3")
+  (let* ((version "4.0")
          (build-phase
           '(lambda* (#:key system inputs #:allow-other-keys #:rest args)
              ;; Apply the neat patch.
@@ -271,10 +271,9 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
              (uri (linux-libre-urls version))
              (sha256
               (base32
-               "13nq0wzkjy7hrhnnvxlwzs1awlqd81vzriqddjn6s9ma3fzj44bn"))
+               "12nkzn1n4si2zcp10b645qri83m2y7iwp29vs2rjmy612azdab8f"))
              (patches
-              (list (search-patch "linux-libre-libreboot-fix.patch")
-                    (search-patch "linux-libre-vblank-fix.patch")))))
+              (list (search-patch "linux-libre-libreboot-fix.patch")))))
     (build-system gnu-build-system)
     (native-inputs `(("perl" ,perl)
                      ("bc" ,bc)
@@ -2091,3 +2090,45 @@ the 1394 Trade Assocation.  AV/C stands for Audio/Video Control.")
      "The libiec61883 library provides a higher level API for streaming DV,
 MPEG-2 and audio over Linux IEEE 1394.")
     (license lgpl2.1+)))
+
+(define-public mdadm
+  (package
+    (name "mdadm")
+    (version "3.3.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://kernel.org/linux/utils/raid/mdadm/mdadm-"
+                    version ".tar.xz"))
+              (sha256
+               (base32
+                "132vdvh3myjgcjn6i9w90ck16ddjxjcszklzkyvr4f5ifqd7wfhg"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("udev" ,eudev)))
+    (arguments
+     `(#:make-flags (let ((out (assoc-ref %outputs "out")))
+                      (list "INSTALL=install"
+                            "CHECK_RUN_DIR=0"
+                            ;; TODO: tell it where to find 'sendmail'
+                            ;; (string-append "MAILCMD=" <???> "/sbin/sendmail")
+                            (string-append "BINDIR=" out "/sbin")
+                            (string-append "MANDIR=" out "/share/man")
+                            (string-append "UDEVDIR=" out "/lib/udev")))
+       #:phases (alist-cons-before
+                 'build 'patch-program-paths
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (let ((coreutils (assoc-ref inputs "coreutils")))
+                     (substitute* "udev-md-raid-arrays.rules"
+                       (("/usr/bin/(readlink|basename)" all program)
+                        (string-append coreutils "/bin/" program)))))
+                 (alist-delete 'configure %standard-phases))
+       ;;tests must be done as root
+       #:tests? #f))
+    (home-page "http://neil.brown.name/blog/mdadm")
+    (synopsis "Tool for managing Linux Software RAID arrays")
+    (description
+     "mdadm is a tool for managing Linux Software RAID arrays.  It can create,
+assemble, report on, and monitor arrays.  It can also move spares between raid
+arrays when needed.")
+    (license gpl2+)))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 6d20b182cd..752f0a9833 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -309,7 +309,7 @@ repository and Maildir/IMAP as LOCAL repository.")
 (define-public mu
   (package
     (name "mu")
-    (version "0.9.11")
+    (version "0.9.12")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/djcb/mu/archive/v"
@@ -317,7 +317,7 @@ repository and Maildir/IMAP as LOCAL repository.")
               (file-name (string-append "mu-" version ".tar.gz"))
               (sha256
                (base32
-                "01n1lzq4pfsm5pn932p948d1z55yqc7kkm1ifjxjchb3k8lr66fh"))))
+                "1bxryacmas2llj68m2dv8dr1vwx8f5k2i2azh69jajkpqx7i4wdq"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/patches/emacs-exec-path.patch b/gnu/packages/patches/emacs-exec-path.patch
new file mode 100644
index 0000000000..884fa94a64
--- /dev/null
+++ b/gnu/packages/patches/emacs-exec-path.patch
@@ -0,0 +1,18 @@
+Do not capture the build-time value of $PATH in the 'emacs' executable
+since this can noticeably increase the size of the closure of Emacs
+with things like GCC being referenced.
+
+--- a/lisp/loadup.el
++++ b/lisp/loadup.el
+@@ -64,6 +64,11 @@
+ 			    (expand-file-name "textmodes" dir)
+ 			    (expand-file-name "vc" dir)))))
+ 
++;; Reset 'exec-path' so we don't capture the build-time $PATH in the
++;; 'emacs' executable.
++(setq-default exec-path nil)
++(setq exec-path nil)
++
+ (if (eq t purify-flag)
+     ;; Hash consing saved around 11% of pure space in my tests.
+     (setq purify-flag (make-hash-table :test 'equal :size 70000)))
diff --git a/gnu/packages/patches/linux-libre-vblank-fix.patch b/gnu/packages/patches/linux-libre-vblank-fix.patch
deleted file mode 100644
index 7f242cfcc1..0000000000
--- a/gnu/packages/patches/linux-libre-vblank-fix.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-From f9b61ff6bce9a44555324b29e593fdffc9a115bc Mon Sep 17 00:00:00 2001
-From: Daniel Vetter <daniel.vetter@ffwll.ch>
-Date: Wed, 7 Jan 2015 13:54:39 +0100
-Subject: [PATCH] drm/i915: Push vblank enable/disable past
- encoder->enable/disable
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It is platform/output depenedent when exactly the pipe will start
-running. Sometimes we just need the (cpu) pipe enabled, in other cases
-the pch transcoder is enough and in yet other cases the (DP) port is
-sending the frame start signal.
-
-In a perfect world we'd put the drm_crtc_vblank_on call exactly where
-the pipe starts running, but due to cloning and similar things this
-will get messy. And the current approach of picking the most
-conservative place for all combinations also doesn't work since that
-results in legit vblank waits (in encoder->enable hooks, e.g. the 2
-vblank waits for sdvo) failing.
-
-Completely going back to the old world before
-
-commit 51e31d49c89055299e34b8f44d13f70e19aaaad1
-Author: Daniel Vetter <daniel.vetter@ffwll.ch>
-Date:   Mon Sep 15 12:36:02 2014 +0200
-
-    drm/i915: Use generic vblank wait
-
-isn't great either since screaming when the vblank wait work because
-the pipe is off is kinda nice.
-
-Pick a compromise and move the drm_crtc_vblank_on right before the
-encoder->enable call. This is a lie on some outputs/platforms, but
-after the ->enable callback the pipe is guaranteed to run everywhere.
-So not that bad really. Suggested by Ville.
-
-v2: Same treatment for drm_crtc_vblank_off and encoder->disable: I've
-missed the ibx pipe B select w/a, which also has a vblank wait in the
-disable function (while the pipe is obviously still running).
-
-Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
-Cc: Chris Wilson <chris@chris-wilson.co.uk>
-Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
----
- drivers/gpu/drm/i915/intel_display.c | 42 ++++++++++++++++++------------------
- 1 file changed, 21 insertions(+), 21 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index a1dbe74..e224820 100644
---- a/drivers/gpu/drm/i915/intel_display.c
-+++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -4301,15 +4301,15 @@ static void ironlake_crtc_enable(struct drm_crtc *crtc)
- 	if (intel_crtc->config.has_pch_encoder)
- 		ironlake_pch_enable(crtc);
- 
-+	assert_vblank_disabled(crtc);
-+	drm_crtc_vblank_on(crtc);
-+
- 	for_each_encoder_on_crtc(dev, crtc, encoder)
- 		encoder->enable(encoder);
- 
- 	if (HAS_PCH_CPT(dev))
- 		cpt_verify_modeset(dev, intel_crtc->pipe);
- 
--	assert_vblank_disabled(crtc);
--	drm_crtc_vblank_on(crtc);
--
- 	intel_crtc_enable_planes(crtc);
- }
- 
-@@ -4421,14 +4421,14 @@ static void haswell_crtc_enable(struct drm_crtc *crtc)
- 	if (intel_crtc->config.dp_encoder_is_mst)
- 		intel_ddi_set_vc_payload_alloc(crtc, true);
- 
-+	assert_vblank_disabled(crtc);
-+	drm_crtc_vblank_on(crtc);
-+
- 	for_each_encoder_on_crtc(dev, crtc, encoder) {
- 		encoder->enable(encoder);
- 		intel_opregion_notify_encoder(encoder, true);
- 	}
- 
--	assert_vblank_disabled(crtc);
--	drm_crtc_vblank_on(crtc);
--
- 	/* If we change the relative order between pipe/planes enabling, we need
- 	 * to change the workaround. */
- 	haswell_mode_set_planes_workaround(intel_crtc);
-@@ -4479,12 +4479,12 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc)
- 
- 	intel_crtc_disable_planes(crtc);
- 
--	drm_crtc_vblank_off(crtc);
--	assert_vblank_disabled(crtc);
--
- 	for_each_encoder_on_crtc(dev, crtc, encoder)
- 		encoder->disable(encoder);
- 
-+	drm_crtc_vblank_off(crtc);
-+	assert_vblank_disabled(crtc);
-+
- 	if (intel_crtc->config.has_pch_encoder)
- 		intel_set_pch_fifo_underrun_reporting(dev_priv, pipe, false);
- 
-@@ -4544,14 +4544,14 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
- 
- 	intel_crtc_disable_planes(crtc);
- 
--	drm_crtc_vblank_off(crtc);
--	assert_vblank_disabled(crtc);
--
- 	for_each_encoder_on_crtc(dev, crtc, encoder) {
- 		intel_opregion_notify_encoder(encoder, false);
- 		encoder->disable(encoder);
- 	}
- 
-+	drm_crtc_vblank_off(crtc);
-+	assert_vblank_disabled(crtc);
-+
- 	if (intel_crtc->config.has_pch_encoder)
- 		intel_set_pch_fifo_underrun_reporting(dev_priv, TRANSCODER_A,
- 						      false);
-@@ -5021,12 +5021,12 @@ static void valleyview_crtc_enable(struct drm_crtc *crtc)
- 	intel_update_watermarks(crtc);
- 	intel_enable_pipe(intel_crtc);
- 
--	for_each_encoder_on_crtc(dev, crtc, encoder)
--		encoder->enable(encoder);
--
- 	assert_vblank_disabled(crtc);
- 	drm_crtc_vblank_on(crtc);
- 
-+	for_each_encoder_on_crtc(dev, crtc, encoder)
-+		encoder->enable(encoder);
-+
- 	intel_crtc_enable_planes(crtc);
- 
- 	/* Underruns don't raise interrupts, so check manually. */
-@@ -5082,12 +5082,12 @@ static void i9xx_crtc_enable(struct drm_crtc *crtc)
- 	intel_update_watermarks(crtc);
- 	intel_enable_pipe(intel_crtc);
- 
--	for_each_encoder_on_crtc(dev, crtc, encoder)
--		encoder->enable(encoder);
--
- 	assert_vblank_disabled(crtc);
- 	drm_crtc_vblank_on(crtc);
- 
-+	for_each_encoder_on_crtc(dev, crtc, encoder)
-+		encoder->enable(encoder);
-+
- 	intel_crtc_enable_planes(crtc);
- 
- 	/*
-@@ -5159,12 +5159,12 @@ static void i9xx_crtc_disable(struct drm_crtc *crtc)
- 	 */
- 	intel_wait_for_vblank(dev, pipe);
- 
--	drm_crtc_vblank_off(crtc);
--	assert_vblank_disabled(crtc);
--
- 	for_each_encoder_on_crtc(dev, crtc, encoder)
- 		encoder->disable(encoder);
- 
-+	drm_crtc_vblank_off(crtc);
-+	assert_vblank_disabled(crtc);
-+
- 	intel_disable_pipe(intel_crtc);
- 
- 	i9xx_pfit_disable(intel_crtc);
--- 
-2.2.1
-
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index feb4ec191d..42fcc93017 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -38,7 +38,7 @@
 (define-public ruby
   (package
     (name "ruby")
-    (version "2.2.1")
+    (version "2.2.2")
     (source
      (origin
        (method url-fetch)
@@ -47,7 +47,7 @@
                            "/ruby-" version ".tar.xz"))
        (sha256
         (base32
-         "1h16lrahp1m57la6sllsad0n3d72g9ccg62n5fxd04nwgz054a1v"))))
+         "0qj48a8ji8qj1sllsrhb6y65frwr77bvr08xikj86w5mib8baczh"))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"
diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm
index 42670d77c0..3c41141dc6 100644
--- a/gnu/packages/tbb.scm
+++ b/gnu/packages/tbb.scm
@@ -46,8 +46,13 @@
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"
-       #:phases (alist-delete
+       #:phases (alist-replace
                  'configure
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   (substitute* "build/linux.gcc.inc"
+                     (("LIB_LINK_FLAGS =")
+                      (string-append "LIB_LINK_FLAGS = -Wl,-rpath="
+                                     (assoc-ref outputs "out") "/lib"))))
                  (alist-replace
                   'install
                   (lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index b9e38c33d0..4506690500 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,6 +21,7 @@
 (define-module (gnu packages telephony)
   #:use-module (gnu packages)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages pkg-config)
   #:use-module (guix licenses)
   #:use-module (guix packages)
@@ -183,3 +185,25 @@ internet.")
    (license gpl3+)
    (home-page "http://www.gnu.org/software/sipwitch")))
 
+(define-public libsrtp
+  (package
+    (name "libsrtp")
+    (version "1.5.2")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "https://github.com/cisco/libsrtp/archive/v"
+                                  version ".tar.gz"))
+             (sha256
+              (base32
+               "1njf62f6sazz2q7qc4j495v1pga385whkmxxyr8hfz1ragiyzqc6"))))
+    (native-inputs
+     `(("procps" ,procps)))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:test-target "runtest"))
+    (synopsis "Secure RTP (SRTP) Reference Implementation")
+    (description "This package provides an implementation of the Secure
+Real-time Transport Protocol (SRTP), the Universal Security Transform (UST),
+and a supporting cryptographic kernel.")
+    (home-page "https://github.com/cisco/libsrtp")
+    (license bsd-3)))
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index c9483697df..08b1b64c57 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -23,6 +23,7 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages python))
 
 (define-public recode
@@ -124,3 +125,33 @@ libenca and several charset conversion libraries and tools.")
 normalization, case-folding, and other operations for data in the UTF-8
 encoding, supporting Unicode version 7.0.")
     (license license:expat)))
+
+(define-public libgtextutils
+  (package
+    (name "libgtextutils")
+    (version "0.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/agordon/libgtextutils/releases/download/"
+             version "/libgtextutils-" version ".tar.gz"))
+       (sha256
+        (base32 "0jiybkb2z58wa2msvllnphr4js2hvjvh988pavb3mzkgr6ihwbkr"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (alist-cons-after
+        'unpack 'autoreconf
+        (lambda _ (zero? (system* "autoreconf" "-vif")))
+        %standard-phases)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)))
+    (home-page "https://github.com/agordon/libgtextutils")
+    (synopsis "Gordon's text utils library")
+    (description
+     "libgtextutils is a text utilities library used by the fastx toolkit from
+the Hannon Lab.")
+    (license license:agpl3+)))
diff --git a/gnu/services/avahi.scm b/gnu/services/avahi.scm
index 89478cb997..0a56f3d7f6 100644
--- a/gnu/services/avahi.scm
+++ b/gnu/services/avahi.scm
@@ -20,6 +20,7 @@
   #:use-module (gnu services)
   #:use-module (gnu system shadow)
   #:use-module (gnu packages avahi)
+  #:use-module (gnu packages admin)
   #:use-module (guix monads)
   #:use-module (guix store)
   #:use-module (guix gexp)
@@ -106,6 +107,6 @@ sockets."
                             (comment "Avahi daemon user")
                             (home-directory "/var/empty")
                             (shell
-                             "/run/current-system/profile/sbin/nologin"))))))))
+                             #~(string-append #$shadow "/sbin/nologin")))))))))
 
 ;;; avahi.scm ends here
diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
index 671dafa194..8f3b350951 100644
--- a/gnu/services/dbus.scm
+++ b/gnu/services/dbus.scm
@@ -20,6 +20,7 @@
   #:use-module (gnu services)
   #:use-module (gnu system shadow)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages admin)
   #:use-module (guix monads)
   #:use-module (guix store)
   #:use-module (guix gexp)
@@ -99,7 +100,7 @@ and policy files.  For example, to allow avahi-daemon to use the system bus,
                             (comment "D-Bus system bus user")
                             (home-directory "/var/run/dbus")
                             (shell
-                             "/run/current-system/profile/sbin/nologin"))))
+                             #~(string-append #$shadow "/sbin/nologin")))))
       (activate #~(begin
                     (use-modules (guix build utils))
 
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index af8dd43bd6..f9d262d977 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -227,7 +227,7 @@ restrict -6 ::1\n"))
                             (comment "NTP daemon user")
                             (home-directory "/var/empty")
                             (shell
-                             "/run/current-system/profile/sbin/nologin"))))))))
+                             #~(string-append #$shadow "/sbin/nologin")))))))))
 
 (define* (tor-service #:key (tor tor))
   "Return a service to run the @uref{https://torproject.org,Tor} daemon.
@@ -257,7 +257,7 @@ policy) as the @code{tor} unprivileged user."
                             (comment "Tor daemon user")
                             (home-directory "/var/empty")
                             (shell
-                             "/run/current-system/profile/sbin/nologin"))))
+                             #~(string-append #$shadow "/sbin/nologin")))))
 
       (documentation "Run the Tor anonymous network overlay.")))))
 
diff --git a/gnu/system.scm b/gnu/system.scm
index 6cf12df604..609604a9b5 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -405,30 +405,47 @@ settings for 'guix.el' to work out-of-the-box."
                           (chdir #$output)
                           (symlink #$file "site-start.el")))))
 
+(define (user-shells os)
+  "Return the list of all the shells used by the accounts of OS.  These may be
+gexps or strings."
+  (mlet %store-monad ((accounts (operating-system-accounts os)))
+    (return (map user-account-shell accounts))))
+
+(define (shells-file shells)
+  "Return a derivation that builds a shell list for use as /etc/shells based
+on SHELLS.  /etc/shells is used by xterm, polkit, and other programs."
+  (gexp->derivation "shells"
+                    #~(begin
+                        (use-modules (srfi srfi-1))
+
+                        (define shells
+                          (delete-duplicates (list #$@shells)))
+
+                        (call-with-output-file #$output
+                          (lambda (port)
+                            (display "\
+/bin/sh
+/run/current-system/profile/bin/sh
+/run/current-system/profile/bin/bash\n" port)
+                            (for-each (lambda (shell)
+                                        (display shell port)
+                                        (newline port))
+                                      shells))))))
+
 (define* (etc-directory #:key
                         (locale "C") (timezone "Europe/Paris")
                         (issue "Hello!\n")
                         (skeletons '())
                         (pam-services '())
                         (profile "/run/current-system/profile")
-                        hosts-file nss
+                        hosts-file nss (shells '())
                         (sudoers ""))
   "Return a derivation that builds the static part of the /etc directory."
   (mlet* %store-monad
       ((pam.d      (pam-services->directory pam-services))
        (sudoers    (text-file "sudoers" sudoers))
        (login.defs (text-file "login.defs" "# Empty for now.\n"))
-
-       ;; /etc/shells is used by xterm and other programs.   We don't check
-       ;; whether these shells are installed, should be OK.
-       (shells     (text-file "shells"
-                              "\
-/bin/sh
-/run/current-system/profile/bin/sh
-/run/current-system/profile/bin/bash
-/run/current-system/profile/bin/fish
-/run/current-system/profile/bin/tcsh
-/run/current-system/profile/bin/zsh\n"))
+       (shells     (shells-file shells))
        (emacs      (emacs-site-directory))
        (issue      (text-file "issue" issue))
        (nsswitch   (text-file "nsswitch.conf"
@@ -543,7 +560,8 @@ fi\n"))
        (profile-drv (operating-system-profile os))
        (skeletons   (operating-system-skeletons os))
        (/etc/hosts  (or (operating-system-hosts-file os)
-                        (default-/etc/hosts (operating-system-host-name os)))))
+                        (default-/etc/hosts (operating-system-host-name os))))
+       (shells      (user-shells os)))
    (etc-directory #:pam-services pam-services
                   #:skeletons skeletons
                   #:issue (operating-system-issue os)
@@ -551,6 +569,7 @@ fi\n"))
                   #:nss (operating-system-name-service-switch os)
                   #:timezone (operating-system-timezone os)
                   #:hosts-file /etc/hosts
+                  #:shells shells
                   #:sudoers (operating-system-sudoers os)
                   #:profile profile-drv)))
 
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 2e7e4eafad..2fd35e8c48 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -22,6 +22,7 @@
   #:use-module (guix store)
   #:use-module (guix monads)
   #:use-module ((guix store) #:select (%store-prefix))
+  #:use-module (guix profiles)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages cryptsetup)
@@ -30,7 +31,8 @@
   #:use-module (gnu packages grub)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages compression)
-  #:export (installation-os))
+  #:export (self-contained-tarball
+            installation-os))
 
 ;;; Commentary:
 ;;;
@@ -39,6 +41,41 @@
 ;;;
 ;;; Code:
 
+
+(define* (self-contained-tarball #:key (guix guix))
+  "Return a self-contained tarball containing a store initialized with the
+closure of GUIX.  The tarball contains /gnu/store, /var/guix, and a profile
+under /root/.guix-profile where GUIX is installed."
+  (mlet %store-monad ((profile (profile-derivation
+                                (manifest
+                                 (list (package->manifest-entry guix))))))
+    (define build
+      #~(begin
+          (use-modules (guix build utils)
+                       (gnu build install))
+
+          (define %root "root")
+
+          (setenv "PATH"
+                  (string-append #$guix "/sbin:" #$tar "/bin:" #$xz "/bin"))
+
+          (populate-single-profile-directory %root
+                                             #:profile #$profile
+                                             #:closure "profile")
+
+          ;; Create the tarball.  Use GNU format so there's no file name
+          ;; length limitation.
+          (with-directory-excursion %root
+            (zero? (system* "tar" "--xz" "--format=gnu"
+                            "-cvf" #$output ".")))))
+
+    (gexp->derivation "guix-tarball.tar.xz" build
+                      #:references-graphs `(("profile" ,profile))
+                      #:modules '((guix build utils)
+                                  (guix build store-copy)
+                                  (gnu build install)))))
+
+
 (define (log-to-info)
   "Return a script that spawns the Info reader on the right section of the
 manual."