title: Why is make savedefconfig removing entries?
body: <p>I want to add entries to a vendor-provided defconfig for a Yocto distribution. In order to add the new drivers I want, I usually use the following process in my Linux directory:</p>
  
  <pre><code>$ cp $YOCTO_MYKERNEL/files/defconfig .config
  $ make menuconfig
  $ # I select some drivers I want to add and save .config file
  $ make savedefconfig
  $ cp defconfig $YOCTO_MYKERNEL/files/defconfig
  </code></pre>
  
  <p>The <code>savedefconfig</code> step adds my drivers correctly, but is also removing some important drivers that are vendor-provided:</p>
  
  <pre><code>$ diff -u $YOCTO_MYKERNEL/files/defconfig defconfig
  --- $YOCTO_MYKERNEL/files/defconfig
  +++ defconfig
  @@ -1,22 +1,11 @@
  -CONFIG_FHANDLE=y
   CONFIG_NO_HZ=y
   CONFIG_HIGH_RES_TIMERS=y
   CONFIG_CGROUPS=y
   CONFIG_BLK_DEV_INITRD=y
  -CONFIG_PERF_EVENTS=y
   CONFIG_MODULES=y
   CONFIG_MODULE_UNLOAD=y
  -CONFIG_ARCH_SUNXI=y
   CONFIG_SMP=y
   CONFIG_NR_CPUS=8
  -CONFIG_AEABI=y
  -CONFIG_HIGHMEM=y
  -CONFIG_ARM_APPENDED_DTB=y
  -CONFIG_ARM_ATAG_DTB_COMPAT=y
  -CONFIG_CPU_FREQ=y
  -CONFIG_CPUFREQ_DT=y
  -CONFIG_VFP=y
  -CONFIG_NEON=y
  [...]
  </code></pre>
  
  <p>If I understood the <code>savedefconfig</code> step well, it is removing options that are already set by default and thus redundant. However removing all these vendor-provided drivers are causing the newly compiled kernel to not boot at all after uboot.</p>
  
  <p>I even tried only the <code>savedefconfig</code> step without adding any drivers, and vendor drivers are removed and kernel hangs.</p>
  
  <p>Do you have any idea why <code>savedefconfig</code> is removing these entries, and how to make it stop? Currently I have to isolate diff changes by hand and manually add new lines that I am interested in into the Yocto defconfig file.</p>