From 220a96f9926788ed531717f78e44fdf1e7ab3b34 Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@openadk.org>
Date: Thu, 30 Dec 2010 22:45:29 +0100
Subject: rework architecture / embedded systems concept

Make configuration of new targets cheap.
Just add a new file in target/arch/sys-enabled/foo.
See other files for syntax. While doing runtime tests
with the new infrastructure I've updated a lot of other
stuff:
- gcc 4.5.2
- uClibc 0.9.32-rc1 (NPTL)
- strongswan, php, miredo, parted, util-linux-ng, e2fsprogs

I promise, this is the last big fat commit this year ;)
---
 target/linux/config/Config.in.aufs       |   1 -
 target/linux/config/Config.in.block      |  81 +++++++++--
 target/linux/config/Config.in.bluetooth  |   3 +-
 target/linux/config/Config.in.cpu        |   3 +
 target/linux/config/Config.in.crypto     | 232 +++++++++++++++++--------------
 target/linux/config/Config.in.debug      |  27 ++--
 target/linux/config/Config.in.flash      |  80 +++++++++++
 target/linux/config/Config.in.fs         |  22 +--
 target/linux/config/Config.in.fsnet      |   8 +-
 target/linux/config/Config.in.graphics   |  23 +--
 target/linux/config/Config.in.input      |  21 +--
 target/linux/config/Config.in.isdn       |  23 +--
 target/linux/config/Config.in.kernel     |  75 ++++------
 target/linux/config/Config.in.leds       |  16 ++-
 target/linux/config/Config.in.misc       |  74 +++-------
 target/linux/config/Config.in.multimedia |  27 +---
 target/linux/config/Config.in.netdevice  |  91 +++++++++++-
 target/linux/config/Config.in.network    |   4 +-
 target/linux/config/Config.in.nls        |   3 +-
 target/linux/config/Config.in.pm         |   4 +-
 target/linux/config/Config.in.systems    |  26 ++++
 target/linux/config/Config.in.usb        |  43 +++---
 target/linux/config/Config.in.watchdog   |  70 ++++++++++
 23 files changed, 595 insertions(+), 362 deletions(-)
 create mode 100644 target/linux/config/Config.in.flash
 create mode 100644 target/linux/config/Config.in.systems
 create mode 100644 target/linux/config/Config.in.watchdog

(limited to 'target/linux/config')

diff --git a/target/linux/config/Config.in.aufs b/target/linux/config/Config.in.aufs
index 7956f31c1..524133061 100644
--- a/target/linux/config/Config.in.aufs
+++ b/target/linux/config/Config.in.aufs
@@ -1,6 +1,5 @@
 config ADK_KPACKAGE_KMOD_AUFS_FS
 	prompt "Aufs (Advanced multi layered unification filesystem) support"
-	depends on !ADK_LINUX_CRIS_FOXBOARD
 	tristate
 	help
 	  Aufs is a stackable unification filesystem such as Unionfs,
diff --git a/target/linux/config/Config.in.block b/target/linux/config/Config.in.block
index c4c583a90..f70c8f162 100644
--- a/target/linux/config/Config.in.block
+++ b/target/linux/config/Config.in.block
@@ -1,4 +1,5 @@
-menu "Block devices support"
+config ADK_KERNEL_BLOCK
+	boolean
 
 config ADK_KERNEL_MD
 	boolean
@@ -42,7 +43,6 @@ config ADK_KERNEL_BLK_DEV
 config ADK_KERNEL_BLK_DEV_DM
 	boolean
 	select ADK_KERNEL_MD
-	depends on !ADK_LINUX_CRIS_FOXBOARD
 
 config ADK_KERNEL_ATA
 	boolean
@@ -50,30 +50,91 @@ config ADK_KERNEL_ATA
 config ADK_KERNEL_ATA_SFF
 	boolean
 
+config ADK_KERNEL_ATA_BMDMA
+	boolean
+
 config ADK_KERNEL_CONNECTOR
 	boolean
 
+config ADK_KERNEL_MMC
+	boolean
+
+config ADK_KERNEL_MMC_BLOCK
+	boolean
+
+config ADK_KERNEL_MMC_AT91
+	boolean
+	select ADK_KERNEL_BLOCK
+	select ADK_KERNEL_SCSI
+	select ADK_KERNEL_MMC
+	select ADK_KERNEL_MMC_BLOCK
+	select ADK_KERNEL_BLK_DEV
+	select ADK_KERNEL_BLK_DEV_SD
+	default y if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
+	default n
+
+config ADK_KERNEL_PATA_RB532
+	boolean
+	select ADK_KERNEL_BLOCK
+	select ADK_KERNEL_SCSI
+	select ADK_KERNEL_ATA
+	select ADK_KERNEL_ATA_SFF
+	select ADK_KERNEL_ATA_BMDMA
+	select ADK_KERNEL_BLK_DEV
+	select ADK_KERNEL_BLK_DEV_SD
+	default y if ADK_TARGET_SYSTEM_MIKROTIK_RB532
+	default n
+
+config ADK_KERNEL_PATA_AMD
+	boolean
+	select ADK_KERNEL_BLOCK
+	select ADK_KERNEL_SCSI
+	select ADK_KERNEL_ATA
+	select ADK_KERNEL_ATA_SFF
+	select ADK_KERNEL_ATA_BMDMA
+	select ADK_KERNEL_BLK_DEV
+	select ADK_KERNEL_BLK_DEV_SD
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
+	default n
+
+config ADK_KERNEL_PATA_SC1200
+	boolean
+	select ADK_KERNEL_BLOCK
+	select ADK_KERNEL_SCSI
+	select ADK_KERNEL_ATA
+	select ADK_KERNEL_ATA_SFF
+	select ADK_KERNEL_ATA_BMDMA
+	select ADK_KERNEL_BLK_DEV
+	select ADK_KERNEL_BLK_DEV_SD
+	default y if ADK_TARGET_SYSTEM_PCENGINES_WRAP
+	default n
+
 config ADK_KERNEL_ATA_PIIX
 	boolean
 	select ADK_KERNEL_BLOCK
 	select ADK_KERNEL_SCSI
 	select ADK_KERNEL_ATA
 	select ADK_KERNEL_ATA_SFF
+	select ADK_KERNEL_BLK_DEV
 	select ADK_KERNEL_BLK_DEV_SD
-	default y if ADK_HARDWARE_IBM_X40
-	default y if ADK_HARDWARE_QEMU_X86
-	default y if ADK_HARDWARE_QEMU_X86_64
+	default y if ADK_TARGET_SYSTEM_IBM_X40
+	default y if ADK_TARGET_SYSTEM_QEMU_X86
+	default y if ADK_TARGET_SYSTEM_QEMU_X86_64
 	default n
 
 config ADK_KERNEL_SATA_AHCI
 	tristate
 	select ADK_KERNEL_BLOCK
 	select ADK_KERNEL_ATA
+	select ADK_KERNEL_BLK_DEV
 	select ADK_KERNEL_BLK_DEV_SD
 	depends on ADK_TARGET_WITH_SATA
-	default y if ADK_HARDWARE_SHUTTLE
 	default n	
 
+menu "Block devices support"
+
 config ADK_KPACKAGE_KMOD_SATA_AHCI
 	prompt "kmod-sata-ahci.................... AHCI SATA driver"
 	tristate
@@ -197,14 +258,12 @@ config ADK_KPACKAGE_KMOD_BLK_DEV_SR
 config ADK_KERNEL_BLK_DEV_MD
 	tristate
 	select ADK_KERNEL_MD
-	depends on !ADK_LINUX_CRIS_FOXBOARD
 	default n
 
 config ADK_KPACKAGE_KMOD_BLK_DEV_MD
 	prompt "kmod-md........................... RAID support"
 	tristate
 	depends on !ADK_KERNEL_BLK_DEV_MD
-	depends on !ADK_LINUX_CRIS_FOXBOARD
 	select ADK_KERNEL_MD
 	help
 
@@ -239,7 +298,7 @@ config ADK_KPACKAGE_KMOD_MD_RAID456
 config ADK_KPACKAGE_KMOD_BLK_DEV_DM
 	prompt "kmod-dm........................... Device Mapper support"
 	select ADK_KERNEL_MD
-	depends on !(ADK_KERNEL_BLK_DEV_DM || ADK_LINUX_CRIS_FOXBOARD)
+	depends on !ADK_KERNEL_BLK_DEV_DM
 	tristate
 	help
 	  Device-mapper is a low level volume manager.  It works by allowing
@@ -251,7 +310,7 @@ config ADK_KPACKAGE_KMOD_BLK_DEV_DM
 
 config ADK_KPACKAGE_KMOD_DM_CRYPT
 	prompt "kmod-dm-crypt..................... Crypt target support"
-	depends on !(ADK_KERNEL_DM_CRYPT || ADK_LINUX_CRIS_FOXBOARD)
+	depends on !ADK_KERNEL_DM_CRYPT
 	select ADK_KPACKAGE_KMOD_BLK_DEV_DM
 	select ADK_KERNEL_MD
 	select ADK_KERNEL_CRYPTO
@@ -270,7 +329,6 @@ config ADK_KPACKAGE_KMOD_DM_CRYPT
 config ADK_KPACKAGE_KMOD_DM_SNAPSHOT
 	prompt "kmod-dm-snapshot.................. Snapshot target"
 	select ADK_KPACKAGE_KMOD_BLK_DEV_DM
-	depends on !ADK_LINUX_CRIS_FOXBOARD
 	tristate
 	help
          Allow volume managers to take writable snapshots of a device.
@@ -278,7 +336,6 @@ config ADK_KPACKAGE_KMOD_DM_SNAPSHOT
 config ADK_KPACKAGE_KMOD_DM_MIRROR
 	prompt "kmod-dm-mirror.................... Mirror target"
 	select ADK_KPACKAGE_KMOD_BLK_DEV_DM
-	depends on !ADK_LINUX_CRIS_FOXBOARD
 	tristate
 	help
          Allow volume managers to mirror logical volumes, also
diff --git a/target/linux/config/Config.in.bluetooth b/target/linux/config/Config.in.bluetooth
index 748a6b280..0d4d6f7af 100644
--- a/target/linux/config/Config.in.bluetooth
+++ b/target/linux/config/Config.in.bluetooth
@@ -1,5 +1,5 @@
 menu "Bluetooth"
-depends on ADK_TARGET_WITH_USB
+depends on ADK_TARGET_WITH_USB || ADK_TARGET_WITH_MINIPCI
 
 config ADK_KPACKAGE_KMOD_BT
 	prompt "kmod-bluetooth.................... Bluetooth drivers and network stack"
@@ -68,7 +68,6 @@ config ADK_KPACKAGE_KMOD_BT_HIDP
 	prompt "kmod-bluetooth-hidp............... HIDP protocol support"
 	tristate
 	default n
-	depends on !ADK_LINUX_CRIS_FOXBOARD
 	select ADK_KERNEL_INPUT
 	select ADK_KERNEL_HID
 	depends on ADK_KPACKAGE_KMOD_BT
diff --git a/target/linux/config/Config.in.cpu b/target/linux/config/Config.in.cpu
index f34cb5238..a145ea217 100644
--- a/target/linux/config/Config.in.cpu
+++ b/target/linux/config/Config.in.cpu
@@ -3,3 +3,6 @@ config ADK_KERNEL_MATOM
 
 config ADK_KERNEL_MPENTIUMM
 	boolean
+
+config ADK_KERNEL_MGEODE_LX
+	boolean
diff --git a/target/linux/config/Config.in.crypto b/target/linux/config/Config.in.crypto
index b23d22122..1a62db2f8 100644
--- a/target/linux/config/Config.in.crypto
+++ b/target/linux/config/Config.in.crypto
@@ -1,70 +1,58 @@
 menu "Crypto kernel modules"
 config ADK_KERNEL_CRYPTO
-	boolean
-	default n
+	tristate
 
 config ADK_KERNEL_CRYPTO_HW
-	boolean
-	default n
+	tristate
 
 config ADK_KERNEL_OCF_FIPS
 	boolean
-	default n
 
 config ADK_KERNEL_OCF_CRYPTODEV
 	boolean
-	default n
-
-config ADK_KERNEL_CRYPTO_MANAGER
-	tristate
-	default n
 
 config ADK_KERNEL_OCF_OCF
 	boolean
-	default n
 	select ADK_KERNEL_CRYPTO
 	select ADK_KERNEL_OCF_FIPS
 	select ADK_KERNEL_OCF_CRYPTODEV
+	default n
 
 config ADK_KERNEL_CRYPTO_AES
 	boolean
-	default n
 
 config ADK_KERNEL_CRYPTO_SHA256
 	boolean
-	default n
 
 config ADK_KERNEL_CRYPTO_CBC
 	boolean
-	default n
 	
 comment "Hardware cryptography"
 
 menu "Hardware crypto devices"
 
 config ADK_KPACKAGE_KMOD_CRYPTO_DEV_GEODE
-	prompt "Support for the Geode LX/GX AES engine"
+	prompt "kmod-crypto-dev-geode.................. Support for the Geode LX/GX AES engine"
 	tristate
-	select ADK_KERNEL_CRYPTO_HW
 	select ADK_KERNEL_CRYPTO
+	select ADK_KERNEL_CRYPTO_HW
 	select ADK_KPACKAGE_KMOD_CRYPTO_ECB
 	select ADK_KPACKAGE_KMOD_CRYPTO_CBC
-	depends on ADK_LINUX_ALIX
-	default y if (ADK_LINUX_ALIX && ADK_PACKAGE_OPENSWAN)
-	default y if (ADK_LINUX_ALIX && ADK_PACKAGE_STRONGSWAN)
+	depends on ADK_TARGET_WITH_GEODE_CRYPTO
+	default y if ADK_TARGET_WITH_GEODE_CRYPTO
 	default n
 	help
 	  Say 'Y' here to use the AMD Geode LX processor on-board AES
 	  engine for the CryptoAPI AES algorithm.
 
 config ADK_KPACKAGE_KMOD_CRYPTO_DEV_HIFN_795X
-	prompt "Driver HIFN 795x crypto accelerator chips"
+	prompt "kmod-crypto-dev-hifn-795x.............. Driver for HIFN 795x crypto accelerator chips"
 	tristate
-	select ADK_KERNEL_CRYPTO_HW
 	select ADK_KERNEL_CRYPTO
-	select ADK_KPACKAGE_KMOD_CRYPTO_BLKCIPHER
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
+	select ADK_KERNEL_CRYPTO_HW
+	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER2
 	select ADK_KPACKAGE_KMOD_CRYPTO_DES
+	depends on ADK_TARGET_WITH_PCI || ADK_TARGET_WITH_MINIPCI
 	default n
 	help
 	  This option allows you to have support for HIFN 795x crypto adapters.
@@ -72,28 +60,30 @@ config ADK_KPACKAGE_KMOD_CRYPTO_DEV_HIFN_795X
 endmenu
 
 menu "OpenBSD Cryptographic framework"
-depends on !(ADK_LINUX_CRIS_FOXBOARD || ADK_LINUX_MIPS_AG241 || ADK_LINUX_QEMU || ADK_LINUX_ARM_FOXG20)
-
 config ADK_KPACKAGE_KMOD_OCF_HIFN
-	prompt "kmod-cryptodev-hifn................ hifn engine"
+	prompt "kmod-ocf-hifn..................... hifn engine"
 	tristate
 	default n
 	select ADK_KERNEL_OCF_OCF
+	depends on ADK_TARGET_WITH_PCI || ADK_TARGET_WITH_MINIPCI
+	select ADK_KPACKAGE_KMOD_CRYPTO_AES
 	help
 	  Engine for cryptodev that uses Hifn based accelerators
 	  such as the 7951, 7955, 7956, 7751, 7811.
 
 config ADK_KPACKAGE_KMOD_OCF_SAFE
-	prompt "kmod-cryptodev-safe................ safenet engine"
+	prompt "kmod-ocf-safe..................... safenet engine"
 	tristate
 	default n
 	select ADK_KERNEL_OCF_OCF
+	depends on ADK_TARGET_WITH_PCI || ADK_TARGET_WITH_MINIPCI
+	select ADK_KPACKAGE_KMOD_CRYPTO_AES
 	help
 	  Engine for cryptodev that uses a number of the safenet Excel
 	  crypto accelerators. Currently for the 1141 and 1741.
 
 config ADK_KPACKAGE_KMOD_OCF_IXP4XX
-	prompt "kmod-cryptodev-ixp4xx.............. IXP4xx engine"
+	prompt "kmod-ocf-ixp4xx................... IXP4xx engine"
 	tristate
 	default n
 	select ADK_KERNEL_OCF_OCF
@@ -103,11 +93,11 @@ config ADK_KPACKAGE_KMOD_OCF_IXP4XX
 	  Requires the Intel Access library.
 
 config ADK_KPACKAGE_KMOD_OCF_TALITOS
-	prompt "kmod-cryptodev-talitos............. talitos engine"
+	prompt "kmod-ocf-talitos.................. talitos engine"
 	tristate
 	default n
 	select ADK_KERNEL_OCF_OCF
-	depends on ADK_powerpc || ADK_m68k || ADK_ppc
+	depends on ADK_ppc
 	help
 	  Engine for cryptodev that uses Freescale's security engine (SEC/talitos).
 
@@ -116,58 +106,90 @@ endmenu
 comment "Software cryptography"
 
 menu "Crypto core / Block and Hash modes"
-config ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
-	prompt "kmod-crypto-algapi.................. Crypto algorithm API"
+
+config ADK_KERNEL_MOD_CRYPTO_PCOMP
+	tristate
+
+config ADK_KPACKAGE_KMOD_CRYPTO_PCOMP2
 	tristate
-	default n
 	select ADK_KERNEL_CRYPTO
+	select ADK_KERNEL_MOD_CRYPTO_PCOMP
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
+	default n
 	help
 
-config ADK_KPACKAGE_KMOD_CRYPTO_AEAD
-	prompt "kmod-crypto-aead.................... Crypto algorithm AEAD"
+config ADK_KERNEL_MOD_CRYPTO_ALGAPI
+	tristate
+	
+config ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	tristate
+	select ADK_KERNEL_CRYPTO
+	select ADK_KERNEL_MOD_CRYPTO_ALGAPI
 	default n
+	help
+
+config ADK_KERNEL_MOD_CRYPTO_AEAD
+	tristate
+
+config ADK_KPACKAGE_KMOD_CRYPTO_AEAD2
+	tristate
 	select ADK_KERNEL_CRYPTO
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
+	select ADK_KERNEL_MOD_CRYPTO_AEAD
+	default n
 	help
 
-config ADK_KPACKAGE_KMOD_CRYPTO_MANAGER
-	prompt "kmod-crypto-manager.................. Crypto algorithm manager"
+config ADK_KERNEL_MOD_CRYPTO_HASH
+	tristate
+
+config ADK_KPACKAGE_KMOD_CRYPTO_HASH2
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
+	select ADK_KERNEL_MOD_CRYPTO_HASH
 	default n
-	depends on !ADK_KERNEL_CRYPTO_MANAGER
-	select ADK_KPACKAGE_KMOD_CRYPTO_HASH
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
-	select ADK_KPACKAGE_KMOD_CRYPTO_AEAD
 	help
 
-config ADK_KPACKAGE_KMOD_CRYPTO_HASH
-	prompt "kmod-crypto-hash..................... Crypto hash support"
+config ADK_KERNEL_MOD_CRYPTO_BLKCIPHER
+	tristate
+
+config ADK_KPACKAGE_KMOD_CRYPTO_BLKCIPHER2
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_RNG2
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
+	select ADK_KERNEL_MOD_CRYPTO_BLKCIPHER
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 
-config ADK_KPACKAGE_KMOD_CRYPTO_BLKCIPHER
-	prompt "kmod-crypto-blkcipher................ Crypto block cipher support"
+config ADK_KERNEL_MOD_CRYPTO_WORKQUEUE
 	tristate
+
+config ADK_KERNEL_MOD_CRYPTO_MANAGER
+	tristate
+
+config ADK_KPACKAGE_KMOD_CRYPTO_MANAGER2
+	prompt "kmod-crypto-manager2................. Crypto algorithm manager"
+	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_HASH2
+	select ADK_KPACKAGE_KMOD_CRYPTO_BLKCIPHER2
+	select ADK_KPACKAGE_KMOD_CRYPTO_AEAD2
+	select ADK_KPACKAGE_KMOD_CRYPTO_PCOMP2
+	select ADK_KERNEL_MOD_CRYPTO_MANAGER
+	select ADK_KERNEL_MOD_CRYPTO_WORKQUEUE
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_RNG2
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 
 config ADK_KPACKAGE_KMOD_CRYPTO_AUTHENC
 	prompt "kmod-crypto-authenc.................. AuthENC (IPsec)"
 	tristate
-	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER
+	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER2
 	default n
 	help
 
 config ADK_KPACKAGE_KMOD_CRYPTO_SEQIV
 	prompt "kmod-crypto-seqiv.................... Sequence Number IV Generator"
-	select ADK_KPACKAGE_KMOD_CRYPTO_RNG2
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_RNG2
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	help
 	  This IV generator generates an IV based on a sequence number by
 	  xoring it with a salt.  This algorithm is mainly useful for CTR
@@ -176,8 +198,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_CBC
 	prompt "kmod-crypto-cbc...................... CBC support"
 	tristate
 	depends on !ADK_KERNEL_CRYPTO_CBC
-	select ADK_KPACKAGE_KMOD_CRYPTO_BLKCIPHER
-	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER
+	select ADK_KPACKAGE_KMOD_CRYPTO_BLKCIPHER2
+	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER2
 	default n
 	help
 	  CBC: Cipher Block Chaining mode
@@ -186,7 +208,7 @@ config ADK_KPACKAGE_KMOD_CRYPTO_CBC
 config ADK_KPACKAGE_KMOD_CRYPTO_CCM
 	prompt "kmod-crypto-ccm...................... CCM support"
 	tristate
-	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER
+	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER2
 	select ADK_KPACKAGE_KMOD_CRYPTO_CTR
 	default n
 	help
@@ -195,7 +217,7 @@ config ADK_KPACKAGE_KMOD_CRYPTO_CCM
 config ADK_KPACKAGE_KMOD_CRYPTO_CTR
 	prompt "kmod-crypto-ctr...................... CTR support"
 	tristate
-	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER
+	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER2
 	select ADK_KPACKAGE_KMOD_CRYPTO_SEQIV
 	default n
 	help
@@ -205,9 +227,9 @@ config ADK_KPACKAGE_KMOD_CRYPTO_CTR
 config ADK_KPACKAGE_KMOD_CRYPTO_ECB
 	prompt "kmod-crypto-ecb...................... ECB support"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_BLKCIPHER2
+	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_BLKCIPHER
-	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER
 	help
 	  ECB: Electronic CodeBook mode
 	  This is the simplest block cipher algorithm.  It simply encrypts
@@ -216,9 +238,9 @@ config ADK_KPACKAGE_KMOD_CRYPTO_ECB
 config ADK_KPACKAGE_KMOD_CRYPTO_HMAC
 	prompt "kmod-crypto-hmac..................... HMAC support"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_HASH2
+	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_HASH
-	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER
 	help
 	  HMAC: Keyed-Hashing for Message Authentication (RFC2104).
 	  This is required for IPSec.
@@ -227,14 +249,18 @@ config ADK_KPACKAGE_KMOD_CRYPTO_XCBC
 	prompt "kmod-crypto-xcbc..................... XCBC support"
 	tristate
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_HASH
-	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER
+	select ADK_KPACKAGE_KMOD_CRYPTO_HASH2
+	select ADK_KPACKAGE_KMOD_CRYPTO_MANAGER2
 	help
           XCBC: Keyed-Hashing with encryption algorithm
 
+config ADK_KERNEL_MOD_CRYPTO_RNG
+	tristate
+
 config ADK_KPACKAGE_KMOD_CRYPTO_RNG2
-	prompt "kmod-crypto-rng...................... RNG support"
+	prompt "kmod-crypto-rng2..................... RNG support"
 	tristate
+	select ADK_KERNEL_MOD_CRYPTO_RNG
 	default n
 	help
 	  Random number generator
@@ -246,8 +272,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_MD4
 	prompt "kmod-crypto-md4...................... MD4 digest algorithm"
 	tristate
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
-	select ADK_KPACKAGE_KMOD_CRYPTO_HASH
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
+	select ADK_KPACKAGE_KMOD_CRYPTO_HASH2
 	help
 	  MD4 message digest algorithm (RFC1320).
 
@@ -255,8 +281,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_MD5
 	prompt "kmod-crypto-md5...................... MD5 digest algorithm"
 	tristate
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
-	select ADK_KPACKAGE_KMOD_CRYPTO_HASH
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
+	select ADK_KPACKAGE_KMOD_CRYPTO_HASH2
 	help
 	  MD5 message digest algorithm (RFC1321).
 
@@ -264,8 +290,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_SHA1
 	prompt "kmod-crypto-sha1..................... SHA1 digest algorithm"
 	tristate
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
-	select ADK_KPACKAGE_KMOD_CRYPTO_HASH
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
+	select ADK_KPACKAGE_KMOD_CRYPTO_HASH2
 	help
 	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
 
@@ -274,8 +300,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_SHA256
 	tristate
 	default n
 	depends on !ADK_KERNEL_CRYPTO_SHA256
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
-	select ADK_KPACKAGE_KMOD_CRYPTO_HASH
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
+	select ADK_KPACKAGE_KMOD_CRYPTO_HASH2
 	help
 	  SHA256 secure hash standard (DFIPS 180-2).
 	  
@@ -286,8 +312,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_SHA512
 	prompt "kmod-crypto-sha512................... SHA512 digest algorithm"
 	tristate
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
-	select ADK_KPACKAGE_KMOD_CRYPTO_HASH
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
+	select ADK_KPACKAGE_KMOD_CRYPTO_HASH2
 	help
 	  SHA512 secure hash standard (DFIPS 180-2).
 	  
@@ -301,8 +327,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_WP512
 	prompt "kmod-crypto-whirlpool................ Whirlpool digest algorithms"
 	tristate
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
-	select ADK_KPACKAGE_KMOD_CRYPTO_HASH
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
+	select ADK_KPACKAGE_KMOD_CRYPTO_HASH2
 	help
 	  Whirlpool hash algorithm 512, 384 and 256-bit hashes
 
@@ -316,8 +342,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_TGR192
 	prompt "kmod-crypto-tiger.................... Tiger digest algorithms"
 	tristate
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
-	select ADK_KPACKAGE_KMOD_CRYPTO_HASH
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
+	select ADK_KPACKAGE_KMOD_CRYPTO_HASH2
 	help
 	  Tiger hash algorithm 192, 160 and 128-bit hashes
 
@@ -327,7 +353,6 @@ config ADK_KPACKAGE_KMOD_CRYPTO_TGR192
 
 	  See also:
 	  <http://www.cs.technion.ac.il/~biham/Reports/Tiger/>.
-
 endmenu
 
 menu "Cipher algoritms"
@@ -335,9 +360,9 @@ menu "Cipher algoritms"
 config ADK_KPACKAGE_KMOD_CRYPTO_AES
 	prompt "kmod-crypto-aes...................... AES cipher algorithms"
 	tristate
-	default n
 	depends on !ADK_KERNEL_CRYPTO_AES
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
+	default n
 	help
 	  AES cipher algorithms (FIPS-197). AES uses the Rijndael 
 	  algorithm.
@@ -358,9 +383,9 @@ config ADK_KPACKAGE_KMOD_CRYPTO_AES
 config ADK_KPACKAGE_KMOD_CRYPTO_AES_586
 	prompt "kmod-crypto-aes-i586................. AES cipher algorithms (i586)"
 	tristate
-	default n
 	depends on ADK_x86
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
+	default n
 	help
 	  AES cipher algorithms (FIPS-197). AES uses the Rijndael 
 	  algorithm.
@@ -381,8 +406,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_AES_586
 config ADK_KPACKAGE_KMOD_CRYPTO_ANUBIS
 	prompt "kmod-crypto-anubis................... Anubis cipher algorithm"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 	  Anubis cipher algorithm.
 
@@ -397,8 +422,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_ANUBIS
 config ADK_KPACKAGE_KMOD_CRYPTO_ARC4
 	prompt "kmod-crypto-arc4..................... ARC4 cipher algorithm"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 	  ARC4 cipher algorithm.
 
@@ -411,8 +436,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_ARC4
 config ADK_KPACKAGE_KMOD_CRYPTO_BLOWFISH
 	prompt "kmod-crypto-blowfish................. Blowfish cipher algorithm"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 	  Blowfish cipher algorithm, by Bruce Schneier.
 	  
@@ -426,8 +451,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_BLOWFISH
 config ADK_KPACKAGE_KMOD_CRYPTO_CAMELLIA
 	prompt "kmod-crypto-camellia................. Camellia cipher algorithms"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 	  Camellia cipher algorithms module.
 
@@ -442,8 +467,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_CAMELLIA
 config ADK_KPACKAGE_KMOD_CRYPTO_CAST5
 	prompt "kmod-crypto-cast5.................... CAST5 (CAST-128) cipher algorithm"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 	  The CAST5 encryption algorithm (synonymous with CAST-128) is
 	  described in RFC2144.
@@ -451,8 +476,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_CAST5
 config ADK_KPACKAGE_KMOD_CRYPTO_CAST6
 	prompt "kmod-crypto-cast6.................... CAST6 (CATS-256) cipher algorithm"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 	  The CAST6 encryption algorithm (synonymous with CAST-256) is
 	  described in RFC2612.
@@ -460,24 +485,24 @@ config ADK_KPACKAGE_KMOD_CRYPTO_CAST6
 config ADK_KPACKAGE_KMOD_CRYPTO_DES
 	prompt "kmod-crypto-des...................... DES and Triple DES EDE cipher algorithms"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 	  DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
 
 config ADK_KPACKAGE_KMOD_CRYPTO_FCRYPT
 	prompt "kmod-crypto-fcrypt................... FCrypt cipher algorithms"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 	  FCrypt algorithm used by RxRPC.
 
 config ADK_KPACKAGE_KMOD_CRYPTO_KHAZAD
 	prompt "kmod-crypto-khazad................... Khazad cipher algorithm"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 	  Khazad cipher algorithm.
 
@@ -491,8 +516,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_KHAZAD
 config ADK_KPACKAGE_KMOD_CRYPTO_SERPENT
 	prompt "kmod-crypto-serpent.................. Serpent cipher algorithm"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 	  Serpent cipher algorithm, by Anderson, Biham & Knudsen.
 
@@ -506,8 +531,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_SERPENT
 config ADK_KPACKAGE_KMOD_CRYPTO_TEA
 	prompt "kmod-crypto-tea...................... TEA, XTEA and XETA cipher algorithms"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 	  TEA cipher algorithm.
 
@@ -525,8 +550,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_TEA
 config ADK_KPACKAGE_KMOD_CRYPTO_TWOFISH
 	prompt "kmod-crypto-twofish.................. Twofish cipher algorithm"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 	  Twofish cipher algorithm.
 	  
@@ -541,9 +566,9 @@ config ADK_KPACKAGE_KMOD_CRYPTO_TWOFISH
 config ADK_KPACKAGE_KMOD_CRYPTO_TWOFISH_586
 	prompt "kmod-crypto-twofish-586.............. Twofish cipher algorithm (i586)"
 	tristate
-	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	depends on ADK_x86
+	default n
 	help
 	  Twofish cipher algorithm.
 	  
@@ -558,8 +583,8 @@ config ADK_KPACKAGE_KMOD_CRYPTO_TWOFISH_586
 config ADK_KPACKAGE_KMOD_CRYPTO_NULL
 	prompt "kmod-crypto-null..................... Null algorithms"
 	tristate
-	select ADK_KPACKAGE_KMOD_CRYPTO_BLKCIPHER
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
+	select ADK_KPACKAGE_KMOD_CRYPTO_BLKCIPHER2
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	default n
 	help
 	  These are 'Null' algorithms, used by IPsec, which do nothing.
@@ -571,8 +596,8 @@ menu "Compression"
 config ADK_KPACKAGE_KMOD_CRYPTO_DEFLATE
 	prompt "kmod-crypto-deflate.................. Deflate compression algorithm"
 	tristate
-	default n
 	select ADK_KERNEL_CRYPTO
+	default n
 	help
 	  This is the Deflate algorithm (RFC1951), specified for use in
 	  IPSec with the IPCOMP protocol (RFC3173, RFC2394).
@@ -582,15 +607,15 @@ config ADK_KPACKAGE_KMOD_CRYPTO_DEFLATE
 config ADK_KPACKAGE_KMOD_CRYPTO_LZO
 	prompt "kmod-crypto-lzo...................... LZO compression algorithm"
 	tristate
-	default n
 	select ADK_KERNEL_CRYPTO
+	default n
 	help
 
 config ADK_KPACKAGE_KMOD_CRYPTO_MICHAEL_MIC
 	prompt "kmod-crypto-michael-mic.............. Michael MIC keyed digest algorithm"
 	tristate
+	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI2
 	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_ALGAPI
 	help
 	  Michael MIC is used for message integrity protection in TKIP
 	  (IEEE 802.11i). This algorithm is required for TKIP, but it
@@ -600,9 +625,9 @@ config ADK_KPACKAGE_KMOD_CRYPTO_MICHAEL_MIC
 config ADK_KPACKAGE_KMOD_CRYPTO_CRC32C
 	prompt "kmod-crypto-crc32c................... CRC32c CRC algorithm"
 	tristate
-	default n
-	select ADK_KPACKAGE_KMOD_CRYPTO_HASH
+	select ADK_KPACKAGE_KMOD_CRYPTO_HASH2
 	select ADK_KPACKAGE_KMOD_LIBCRC32C
+	default n
 	help
 	  Castagnoli, et al Cyclic Redundancy-Check Algorithm.  Used
 	  by iSCSI for header and data digests and by others.
@@ -610,5 +635,4 @@ config ADK_KPACKAGE_KMOD_CRYPTO_CRC32C
           Module will be crc32c.
 
 endmenu
-
 endmenu
diff --git a/target/linux/config/Config.in.debug b/target/linux/config/Config.in.debug
index 814b6d6a6..3da69a594 100644
--- a/target/linux/config/Config.in.debug
+++ b/target/linux/config/Config.in.debug
@@ -2,38 +2,32 @@ menu "Kernel debugging"
 
 config ADK_KERNEL_PROFILING
 	boolean
-	default n
 
 config ADK_KERNEL_DEBUG_KERNEL
 	boolean
-	default n
 
 config ADK_KERNEL_DEBUG_INFO
 	boolean
-	default n
 
 config ADK_KERNEL_KGDB
 	boolean
-	default n
 
 config ADK_KERNEL_KGDB_SERIAL_CONSOLE
 	boolean
-	default n
 
 config ADK_KERNEL_FRAME_POINTER
 	boolean
-	default n
 
 config ADK_QUIET_KERNEL
 	prompt "Make bootup quiet without messages from the kernel"
-	bool
+	boolean
 	default n
 	help
 	  Make bootup quiet without messages from the kernel.
 
 config ADK_KERNEL_MAGIC_SYSRQ
 	prompt "Magic BREAK sequence"
-	bool
+	boolean
 	default y
 	help
 	  Enable this to be able to use the Magic SysRq functions,
@@ -41,7 +35,7 @@ config ADK_KERNEL_MAGIC_SYSRQ
 
 config ADK_KERNEL_DEBUG_FS
 	prompt "Debug Filesystem"
-	bool
+	boolean
 	default n
 	help
 	  debugfs is a virtual file system that kernel developers use to put
@@ -49,24 +43,23 @@ config ADK_KERNEL_DEBUG_FS
 	  write to these files.
 
 config ADK_KERNEL_DEBUG_WITH_KGDB
-	boolean
 	prompt "Enable remote kernel debugging using KGDB"
-	depends on ADK_TARGET_ROOTFS_NFSROOT || \
-		ADK_TARGET_ROOTFS_EXT2_BLOCK || \
-		ADK_TARGET_ROOTFS_YAFFS || \
-		ADK_TARGET_ROOTFS_EXT2
-	default n
+	boolean
 	select ADK_KERNEL_DEBUG_KERNEL
 	select ADK_KERNEL_DEBUG_INFO
 	select ADK_KERNEL_KGDB
 	select ADK_KERNEL_KGDB_SERIAL_CONSOLE
 	select ADK_KERNEL_FRAME_POINTER
+	depends on ADK_TARGET_ROOTFS_NFSROOT || \
+		ADK_TARGET_ROOTFS_EXT2_BLOCK || \
+		ADK_TARGET_ROOTFS_YAFFS || \
+		ADK_TARGET_ROOTFS_EXT2
+	default n
 
 config ADK_KPACKAGE_KMOD_OPROFILE
-	tristate
 	prompt "kernel support for oprofile"
+	tristate
 	select ADK_KERNEL_PROFILING
-	depends on !ADK_LINUX_CRIS_FOXBOARD
 	default n
 	help
 	 use oprofile package to make use of the kernel support.
diff --git a/target/linux/config/Config.in.flash b/target/linux/config/Config.in.flash
new file mode 100644
index 000000000..1ca289b75
--- /dev/null
+++ b/target/linux/config/Config.in.flash
@@ -0,0 +1,80 @@
+config ADK_KERNEL_MTD
+ 	boolean
+ 
+config ADK_KERNEL_MTD_NAND
+	boolean
+
+config ADK_KERNEL_MTD_NAND_PLATFORM
+	boolean
+
+config ADK_KERNEL_MTD_CHAR
+	boolean
+
+config ADK_KERNEL_MTD_BLKDEVS
+	boolean
+
+config ADK_KERNEL_MTD_BLOCK
+	boolean
+
+config ADK_KERNEL_MTD_PARTITIONS
+	boolean
+
+config ADK_KERNEL_MTD_ROOTFS_ROOT_DEV
+	boolean
+
+config ADK_KERNEL_MTD_CFI
+	boolean
+
+config ADK_KERNEL_MTD_GEN_PROBE
+	boolean
+
+config ADK_KERNEL_MTD_PHYSMAP
+	boolean
+
+config ADK_KERNEL_MTD_NAND_RB4XX
+	boolean
+	default y if ADK_TARGET_SYSTEM_MIKROTIK_RB411
+	default y if ADK_TARGET_SYSTEM_MIKROTIK_RB433
+	default n
+
+config ADK_KERNEL_MTD_AR7_PARTS
+	boolean
+	default y if ADK_TARGET_SYSTEM_LINKSYS_AG241
+	default n
+
+config ADK_KERNEL_MTD_CFI_INTELEXT
+	boolean
+	default y if ADK_TARGET_SYSTEM_LINKSYS_WRT54G
+	default n
+
+config ADK_TARGET_NAND
+	boolean
+	select ADK_KERNEL_MISC_FILESYSTEMS
+	select ADK_KERNEL_YAFFS_FS
+	select ADK_KERNEL_YAFFS_YAFFS2
+	select ADK_KERNEL_YAFFS_AUTO_YAFFS2
+	select ADK_KERNEL_MTD
+	select ADK_KERNEL_MTD_PARTITIONS
+	select ADK_KERNEL_MTD_NAND
+	select ADK_KERNEL_MTD_NAND_PLATFORM
+	select ADK_KERNEL_MTD_CHAR
+	select ADK_KERNEL_MTD_BLKDEVS
+	select ADK_KERNEL_BLOCK
+	select ADK_KERNEL_MTD_BLOCK
+	default y if ADK_TARGET_WITH_NAND
+	default n
+
+config ADK_TARGET_MTD
+	boolean
+	select ADK_KERNEL_MTD
+	select ADK_KERNEL_MTD_PARTITIONS
+	select ADK_KERNEL_MTD_CHAR
+	select ADK_KERNEL_MTD_BLKDEVS
+	select ADK_KERNEL_BLOCK
+	select ADK_KERNEL_MTD_BLOCK
+	select ADK_KERNEL_MTD_ROOTFS_ROOT_DEV
+	select ADK_KERNEL_MTD_CFI
+	select ADK_KERNEL_MTD_GEN_PROBE
+	select ADK_KERNEL_MTD_PHYSMAP
+	default y if ADK_TARGET_WITH_MTD
+	default n
diff --git a/target/linux/config/Config.in.fs b/target/linux/config/Config.in.fs
index e6f7c8043..852d46c6a 100644
--- a/target/linux/config/Config.in.fs
+++ b/target/linux/config/Config.in.fs
@@ -2,19 +2,15 @@ menu "Filesystems support"
 
 config ADK_KERNEL_YAFFS_FS
 	tristate
-	default n
 
 config ADK_KERNEL_YAFFS_YAFFS1
 	boolean
-	default n
 
 config ADK_KERNEL_YAFFS_YAFFS2
 	boolean
-	default n
 
 config ADK_KERNEL_YAFFS_AUTO_YAFFS2
 	boolean
-	default n
 
 config ADK_KERNEL_YAFFS_CHECKPOINT_RESERVED_BLOCKS
 	int
@@ -22,15 +18,12 @@ config ADK_KERNEL_YAFFS_CHECKPOINT_RESERVED_BLOCKS
 
 config ADK_KERNEL_YAFFS_SHORT_NAMES_IN_RAM
 	boolean
-	default n
 
 config ADK_KERNEL_MISC_FILESYSTEMS
 	boolean
-	default n
 
 config ADK_KERNEL_EXT3_FS_XATTR
 	boolean
-	default n
 
 config ADK_KERNEL_FAT_DEFAULT_CODEPAGE
 	int
@@ -53,6 +46,8 @@ config ADK_KERNEL_SQUASHFS
 
 config ADK_KERNEL_EXT2_FS
 	boolean
+	default y if ADK_TARGET_WITH_CF
+	default y if ADK_TARGET_WITH_MMC
 	default n
 
 config ADK_KPACKAGE_KMOD_EXT2_FS
@@ -100,14 +95,12 @@ config ADK_KPACKAGE_KMOD_EXT3_FS
 config ADK_KERNEL_EXT4_FS
 	boolean
 	select ADK_KERNEL_CRC16
-	depends on !ADK_LINUX_CRIS_FOXBOARD
 	default n
 
 config ADK_KPACKAGE_KMOD_EXT4_FS
 	prompt "kmod-fs-ext4...................... EXT4 filesystem support"
 	tristate
 	depends on !ADK_KERNEL_EXT4_FS 
-	depends on !ADK_LINUX_CRIS_FOXBOARD
 	select ADK_KPACKAGE_KMOD_CRC16
 	default n
 	help
@@ -156,17 +149,13 @@ config ADK_KPACKAGE_KMOD_NTFS_FS
 	  Linux on your computer it is safe to say N.
 	  Kernel modules for NTFS support
 
-config ADK_KERNEL_FAT_FS
-	tristate
-	default n
-
 config ADK_KPACKAGE_KMOD_VFAT_FS
-	prompt "kmod-fs-vfat...................... VFAT filesystem support"
-	select ADK_KERNEL_FAT_FS
+	prompt "kmod-vfat-fs....................... VFAT filesystem support"
+	tristate
 	select ADK_KPACKAGE_KMOD_NLS if !ADK_KERNEL_NLS
 	select ADK_KPACKAGE_KMOD_NLS_CODEPAGE_850
 	select ADK_KPACKAGE_KMOD_NLS_ISO8859_1
-	tristate
+	default y if ADK_TARGET_WITH_MMC
 	default n
 	help
 	  This option provides support for normal Windows file systems with
@@ -240,7 +229,6 @@ config ADK_KPACKAGE_KMOD_UDF_FS
 	prompt "kmod-fs-udf....................... UDF file system support"
 	tristate
 	select ADK_KPACKAGE_KMOD_CRC_ITU_T
-	depends on !ADK_LINUX_CRIS_FOXBOARD
 	default n
 	help
 	  This is the new file system used on some CD-ROMs and DVDs. Say Y if
diff --git a/target/linux/config/Config.in.fsnet b/target/linux/config/Config.in.fsnet
index 432415dd1..f46aea407 100644
--- a/target/linux/config/Config.in.fsnet
+++ b/target/linux/config/Config.in.fsnet
@@ -1,7 +1,8 @@
 config ADK_KPACKAGE_KMOD_CIFS
 	prompt "kmod-fs-cifs...................... CIFS support"
-	select ADK_KPACKAGE_KMOD_NLS if !ADK_KERNEL_NLS
 	tristate
+	select ADK_KPACKAGE_KMOD_NLS if !ADK_KERNEL_NLS
+	select ADK_KERNEL_NETWORK_FILESYSTEMS
 	default n
 	help
 	  This is the client VFS module for the Common Internet File System
@@ -29,6 +30,7 @@ config ADK_KPACKAGE_KMOD_CIFS
 config ADK_KPACKAGE_KMOD_CODA_FS
 	prompt "kmod-fs-coda...................... support for coda client"
 	tristate
+	select ADK_KERNEL_NETWORK_FILESYSTEMS
 	default n
 	help
 	  This is the kernel part of the client for the CODA filesystem.
@@ -36,11 +38,11 @@ config ADK_KPACKAGE_KMOD_CODA_FS
 config ADK_KERNEL_NFS_V4
 	boolean
 	depends on !ADK_TARGET_ROOTFS_NFSROOT
+	select ADK_KERNEL_NETWORK_FILESYSTEMS
 	default n
 
 config ADK_KERNEL_RPCSEC_GSS_KRB5
 	boolean
-	depends on !ADK_TARGET_ROOTFS_NFSROOT
 	default n
 
 config ADK_KPACKAGE_KMOD_NFS_FS
@@ -50,6 +52,7 @@ config ADK_KPACKAGE_KMOD_NFS_FS
 	select ADK_KERNEL_NFS_V3
 	select ADK_KPACKAGE_KMOD_SUNRPC
 	select ADK_KPACKAGE_KMOD_LOCKD
+	select ADK_KERNEL_NETWORK_FILESYSTEMS
 	depends on !ADK_TARGET_ROOTFS_NFSROOT
 	help
 	  If you are connected to some other (usually local) Unix computer
@@ -97,6 +100,7 @@ config ADK_KPACKAGE_KMOD_NFSD
 	select ADK_KERNEL_NFSD_V3
 	select ADK_KPACKAGE_KMOD_SUNRPC
 	select ADK_KPACKAGE_KMOD_LOCKD
+	select ADK_KERNEL_NETWORK_FILESYSTEMS
 	depends on !ADK_TARGET_ROOTFS_NFSROOT
 	help
 	  If you want your Linux box to act as an NFS *server*, so that other
diff --git a/target/linux/config/Config.in.graphics b/target/linux/config/Config.in.graphics
index 96814e733..c49d0f644 100644
--- a/target/linux/config/Config.in.graphics
+++ b/target/linux/config/Config.in.graphics
@@ -1,51 +1,42 @@
 config ADK_KERNEL_FB
  	boolean
- 	default n
  
 config ADK_KERNEL_FRAMEBUFFER_CONSOLE
 	boolean
-	default n
 
 config ADK_KERNEL_FB_GEODE
 	boolean
-	default n
 
 config ADK_KERNEL_DRM
 	boolean
-	default n
 
 config ADK_KERNEL_DRM_I915
 	boolean
-	default n
 
 config ADK_KERNEL_DRM_I915_KMS
 	boolean
-	default n
 
 config ADK_KERNEL_AGP
 	boolean
-	default n
 
 config ADK_KERNEL_AGP_INTEL
 	boolean
-	default n
  
 menu "Graphic devices support"
 
 config ADK_KERNEL_FB_GEODE_LX
-	prompt "geode-fblx...................... Framebuffer support for ALIX boards with VGA"
+	prompt "................................ Framebuffer support for ALIX boards with VGA"
 	tristate
 	select ADK_KERNEL_FB
 	select ADK_KERNEL_FRAMEBUFFER_CONSOLE
 	select ADK_KERNEL_FB_GEODE
-	depends on ADK_LINUX_X86_ALIX
-	default y if ADK_HARDWARE_ALIX1C
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
  	default n
  	help
-	 Framebuffer support for ALIX boards.
+	 Framebuffer support for ALIX boards with VGA.
 
-config ADK_HARDWARE_GRAPHICS_INTEL
-	prompt "graphics-intel.................. support for intel graphic cards (AGP/DRM/KMS)"
+config ADK_HARDWARE_GRAPHICS_INTEL_I915
+	prompt "................................ Support for Intel graphic cards (AGP/DRM/KMS)"
 	boolean
 	select ADK_KERNEL_FB
 	select ADK_KERNEL_DRM
@@ -54,9 +45,9 @@ config ADK_HARDWARE_GRAPHICS_INTEL
 	select ADK_KERNEL_FRAMEBUFFER_CONSOLE
 	select ADK_KERNEL_DRM_I915_KMS
 	select ADK_KERNEL_DRM_I915
-	default y if ADK_HARDWARE_IBM_X40
+	default y if ADK_TARGET_SYSTEM_IBM_X40
 	default n
 	help
-          DRM support for intel chipsets.
+          AGP/DRM/KMS support for Intel chipset i915.
 	
 endmenu
diff --git a/target/linux/config/Config.in.input b/target/linux/config/Config.in.input
index 292e46e0f..2241c0ed7 100644
--- a/target/linux/config/Config.in.input
+++ b/target/linux/config/Config.in.input
@@ -3,26 +3,30 @@ depends on ADK_TARGET_WITH_USB || ADK_TARGET_WITH_INPUT
 
 config ADK_KERNEL_INPUT
 	boolean
-	default y if ADK_HARDWARE_IBM_X40
-	default y if ADK_HARDWARE_SHUTTLE_SA76G2
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
+	default y if ADK_TARGET_SYSTEM_IBM_X40
+	default y if ADK_TARGET_SYSTEM_SHUTTLE_SA76G2
 	default n
 
 config ADK_KERNEL_INPUT_KEYBOARD
 	boolean
-	default y if ADK_HARDWARE_IBM_X40
-	default y if ADK_HARDWARE_SHUTTLE_SA76G2
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
+	default y if ADK_TARGET_SYSTEM_IBM_X40
+	default y if ADK_TARGET_SYSTEM_SHUTTLE_SA76G2
 	default n
 
 config ADK_KERNEL_KEYBOARD_ATKBD
 	boolean
-	default y if ADK_HARDWARE_IBM_X40
-	default y if ADK_HARDWARE_SHUTTLE_SA76G2
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
+	default y if ADK_TARGET_SYSTEM_IBM_X40
+	default y if ADK_TARGET_SYSTEM_SHUTTLE_SA76G2
 	default n
 
 config ADK_KERNEL_INPUT_MOUSEDEV
 	boolean
-	default y if ADK_HARDWARE_IBM_X40
-	default y if ADK_HARDWARE_SHUTTLE_SA76G2
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
+	default y if ADK_TARGET_SYSTEM_IBM_X40
+	default y if ADK_TARGET_SYSTEM_SHUTTLE_SA76G2
 	default n
 
 config ADK_KERNEL_HID_SUPPORT
@@ -41,7 +45,6 @@ config ADK_KPACKAGE_KMOD_USB_HID
 	select ADK_KERNEL_HID
 	select ADK_PACKAGE_KMOD_USB_CONTROLLER
 	depends on ADK_TARGET_WITH_USB
-	depends on !ADK_LINUX_CRIS_FOXBOARD
 	default n
 
 config ADK_KPACKAGE_KMOD_KEYBOARD_ATKBD
diff --git a/target/linux/config/Config.in.isdn b/target/linux/config/Config.in.isdn
index e876fd5ef..6dc0d1349 100644
--- a/target/linux/config/Config.in.isdn
+++ b/target/linux/config/Config.in.isdn
@@ -2,43 +2,34 @@ menu "ISDN"
 depends on ADK_TARGET_WITH_USB || ADK_TARGET_WITH_PCI || ADK_TARGET_WITH_MINIPCI
 
 config ADK_KERNEL_ISDN
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_ISDN_I4L
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_ISDN_DRV_AVMB1_VERBOSE_REASON
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_CAPI_AVM
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_CAPI_EICON
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_HFCMULTI_PCIMEM
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_ISDN_CAPI_MIDDLEWARE
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_ISDN_CAPI_CAPI20
 	tristate
-	default n
 
 config ADK_KPACKAGE_KMOD_ISDN_CAPI
 	prompt "kmod-isdn-capi.................... Support for CAPI 2.0"
 	tristate
 	select ADK_KERNEL_ISDN_CAPI_CAPI20
 	select ADK_KERNEL_ISDN
-	depends on !ADK_LINUX_CRIS_FOXBOARD
 	default n
 	help
 	 Kernel support for CAPI 2.0 and /dev/capi20
diff --git a/target/linux/config/Config.in.kernel b/target/linux/config/Config.in.kernel
index 02ddd2d04..988fbabd9 100644
--- a/target/linux/config/Config.in.kernel
+++ b/target/linux/config/Config.in.kernel
@@ -1,97 +1,78 @@
+config ADK_KERNEL_ETRAX_MTD_SIZE
+        hex
+        depends on ADK_TARGET_SYSTEM_FOXBOARD_LX416 || ADK_TARGET_SYSTEM_FOXBOARD_LX832
+        default "0x00400000" if ADK_TARGET_SYSTEM_FOXBOARD_LX416
+        default "0x00800000" if ADK_TARGET_SYSTEM_FOXBOARD_LX832
+
+config ADK_KERNEL_ETRAX_DRAM_SIZE
+        int
+        depends on ADK_TARGET_SYSTEM_FOXBOARD_LX416 || ADK_TARGET_SYSTEM_FOXBOARD_LX832
+        default "16" if ADK_TARGET_SYSTEM_FOXBOARD_LX416
+        default "32" if ADK_TARGET_SYSTEM_FOXBOARD_LX832
+
+config ADK_KERNEL_ETRAX_DEF_R_SDRAM_TIMING
+        hex
+        depends on ADK_TARGET_SYSTEM_FOXBOARD_LX416 || ADK_TARGET_SYSTEM_FOXBOARD_LX832
+        default "0x80608002" if ADK_TARGET_SYSTEM_FOXBOARD_LX416
+        default "0x80008002" if ADK_TARGET_SYSTEM_FOXBOARD_LX832
+
 config ADK_KERNEL_BLK_DEV_INITRD
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_INITRAMFS_COMPRESSION_NONE
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_RD_GZIP
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_KERNEL_GZIP
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_RD_BZIP2
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_KERNEL_BZIP2
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_RD_LZMA
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_KERNEL_LZMA
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_RD_LZO
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_KERNEL_LZO
-	bool
-	default n
+	boolean
 
 config ADK_KERNEL_INITRAMFS_SOURCE
 	string
 	default ""
 
-config ADK_KERNEL_ETRAX_MTD_SIZE
-	hex
-        depends on ADK_LINUX_CRIS_FOXBOARD_CLASSIC || ADK_LINUX_CRIS_FOXBOARD_LX
-	default "0x00400000" if ADK_LINUX_CRIS_FOXBOARD_CLASSIC
-	default "0x00800000" if ADK_LINUX_CRIS_FOXBOARD_LX
-
-config ADK_KERNEL_ETRAX_DRAM_SIZE
-	int
-	depends on ADK_LINUX_CRIS_FOXBOARD_CLASSIC || ADK_LINUX_CRIS_FOXBOARD_LX
-	default "16" if ADK_LINUX_CRIS_FOXBOARD_CLASSIC
-	default "32" if ADK_LINUX_CRIS_FOXBOARD_LX
-
-config ADK_KERNEL_ETRAX_DEF_R_SDRAM_TIMING
-	hex
-        depends on ADK_LINUX_CRIS_FOXBOARD_CLASSIC || ADK_LINUX_CRIS_FOXBOARD_LX
-	default "0x80608002" if ADK_LINUX_CRIS_FOXBOARD_CLASSIC
-	default "0x80008002" if ADK_LINUX_CRIS_FOXBOARD_LX
-
 config ADK_KERNEL_NETWORK_FILESYSTEMS
 	boolean
-	default y
 
 config ADK_KERNEL_IP_PNP
 	boolean
-	default n
 
 config ADK_KERNEL_IP_PNP_DHCP
 	boolean
-	default n
 
 config ADK_KERNEL_NFS_FS
 	boolean
-	default n
 
 config ADK_KERNEL_NFS_V3
 	boolean
-	default n
 
 config ADK_KERNEL_ROOT_NFS
 	boolean
-	default n
 
 config ADK_KERNEL_LOCKD
 	boolean
-	default n
 
 config ADK_KERNEL_NFS_COMMON
 	boolean
-	default n
 
 config ADK_KERNEL_SUNRPC
 	boolean
-	default n
diff --git a/target/linux/config/Config.in.leds b/target/linux/config/Config.in.leds
index 2123458e9..54cda3ceb 100644
--- a/target/linux/config/Config.in.leds
+++ b/target/linux/config/Config.in.leds
@@ -1,13 +1,9 @@
 config ADK_KERNEL_NEW_LEDS
-	bool
-	default n
-	help
+	boolean
 
 config ADK_KERNEL_LEDS_TRIGGERS
-	bool
-	default n
+	boolean
 	select ADK_KERNEL_NEW_LEDS
-	help
 
 menu "LEDS driver support"
 depends on ADK_TARGET_WITH_LEDS
@@ -19,6 +15,14 @@ config ADK_KPACKAGE_KMOD_LEDS_CLASS
 	default n
 	help
 
+config ADK_KPACKAGE_KMOD_LEDS_ALIX2
+	prompt "LED suppport for ALIX2/ALIX3"
+	tristate
+	select ADK_KPACKAGE_KMOD_LEDS_CLASS
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
+	default n
+
 config ADK_KPACKAGE_KMOD_LEDS_TRIGGER_TIMER
 	prompt "LED Timer trigger"
 	tristate
diff --git a/target/linux/config/Config.in.misc b/target/linux/config/Config.in.misc
index 0cf5819a0..b0b3c5782 100644
--- a/target/linux/config/Config.in.misc
+++ b/target/linux/config/Config.in.misc
@@ -1,96 +1,62 @@
-config ADK_LINUX_INITRAMFS_BUILTIN
-	select ADK_KERNEL_BLK_DEV_INITRD
-	select ADK_KERNEL_INITRAMFS_COMPRESSION_NONE
-	boolean
-	default n
-
-config ADK_KERNEL_MISC_DEVICES
-	boolean
-	default n
-
-config ADK_KERNEL_CS5535_MFGPT
-	boolean
-	default n
-
-config ADK_KERNEL_CS5535_CLOCK_EVENT_SRC
-	boolean
-	default n
+#config ADK_LINUX_INITRAMFS_BUILTIN
+#	select ADK_KERNEL_BLK_DEV_INITRD
+#	select ADK_KERNEL_INITRAMFS_COMPRESSION_NONE
+#	boolean
+#	default n
 
 config ADK_KERNEL_RFKILL
  	boolean
- 	default n
- 
-config ADK_KERNEL_WATCHDOG
-	boolean
-	default n
 
 config ADK_KERNEL_I2C
  	boolean
-	default n
  
 config ADK_KERNEL_I2C_CHARDEV
  	tristate
-	default n
 
 config ADK_KERNEL_RTC_CLASS
  	boolean
-	default n
 
 config ADK_KERNEL_RTC_HCTOSYS
  	boolean
-	default n
 
 config ADK_KERNEL_RTC_INTF_DEV
  	boolean
-	default n
 
 menu "Miscellaneous devices support"
 
-config ADK_KERNEL_GEODE_WDT
-	prompt "geode-wdt......................... Geode Hardware Watchdog"
-	tristate
-	select ADK_KERNEL_WATCHDOG
-	select ADK_KERNEL_MISC_DEVICES
-	select ADK_KERNEL_CS5535_MFGPT
-	select ADK_KERNEL_CS5535_CLOCK_EVENT_SRC
-	depends on ADK_LINUX_X86_ALIX
-	default y if ADK_HARDWARE_ALIX2D2
-	default y if ADK_HARDWARE_ALIX2D13
+config ADK_KERNEL_RTC_DRV_AT91SAM9
+	prompt ".................................. RTC support for AT91SAM9 (Fox G20)"
+	boolean
+	select ADK_KERNEL_RTC_CLASS
+	select ADK_KERNEL_RTC_HCTOSYS
+	select ADK_KERNEL_RTC_INTF_DEV
+	default y if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
 	default n
 	help
-	 Geode watchdog.
+ 	  Fox G20 RTC support.
 
 config ADK_KERNEL_RTC_DRV_CMOS
-	prompt "rtc-cmos.......................... RTC support for PC CMOS"
-	tristate
+	prompt ".................................. RTC support for PC CMOS"
+	boolean
 	select ADK_KERNEL_RTC_CLASS
 	select ADK_KERNEL_RTC_HCTOSYS
 	select ADK_KERNEL_RTC_INTF_DEV
-	default y if ADK_TARGET_WITH_RTC
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
+	default y if ADK_TARGET_SYSTEM_IBM_X40
  	default n
  	help
-	 RTC support for ALIX boards.
+	 PC CMOS RTC support.
 	
 config ADK_KPACKAGE_KMOD_SCx200_ACB
 	prompt "kmod-i2c-geode.................... I2C driver for Geode"
 	tristate
 	select ADK_KERNEL_I2C
 	select ADK_KERNEL_I2C_CHARDEV
-	depends on ADK_LINUX_X86_ALIX
 	default n
 	help
 	  I2C driver for Geode boards.
 
-config ADK_KPACKAGE_KMOD_SOFT_WATCHDOG
-	prompt "kmod-softdog...................... Software watchdog"
-	tristate
-	default n
-	select ADK_KERNEL_WATCHDOG
-	help
-	  A software monitoring watchdog. This will fail to reboot your system
-	  from some situations that the hardware watchdog will recover
-	  from. Equally it's a lot cheaper to install.
-
 config ADK_KPACKAGE_KMOD_PARPORT
 	prompt "kmod-parport...................... generic parallel port support"
 	tristate
@@ -131,7 +97,6 @@ config ADK_KPACKAGE_KMOD_FW_LOADER
 	prompt "kmod-fw-loader.................... userspace firmware loading support"
 	tristate
 	default n
-	depends on !ADK_LINUX_QEMU
 	help
 	  This may be necessary when using drivers which require
 	  loading of external firmware files.
@@ -140,7 +105,6 @@ config ADK_KPACKAGE_KMOD_EEPROM_93CX6
 	prompt "kmod-eeprom-93cx6................. 93cx6 eeprom support"
 	tristate
 	depends on ADK_KPACKAGE_KMOD_MAC80211
-	depends on !ADK_LINUX_CRIS_FOXBOARD && !ADK_HARDWARE_LEMOTE_YEELONG
  	default n
  	help
  
diff --git a/target/linux/config/Config.in.multimedia b/target/linux/config/Config.in.multimedia
index c6dd6ed26..bf2fb4879 100644
--- a/target/linux/config/Config.in.multimedia
+++ b/target/linux/config/Config.in.multimedia
@@ -3,48 +3,33 @@ depends on ADK_TARGET_WITH_PCI || ADK_TARGET_WITH_USB
 
 config ADK_KERNEL_MEDIA_SUPPORT
 	boolean
-	default n
 
 config ADK_KERNEL_SND_TIMER
 	boolean
-	default n
 
 config ADK_KERNEL_SND_PCM
 	boolean
-	default n
 
 config ADK_KERNEL_SND_HWDEP
 	boolean
-	default n
 
 config ADK_KERNEL_SND_OSSEMUL
 	boolean
-	default n
 
 config ADK_KERNEL_SND_MIXER_OSS
 	boolean
-	default n
 
 config ADK_KERNEL_SND_PCM_OSS
 	boolean
-	default n
 
 config ADK_KPACKAGE_KMOD_SOUND
 	tristate
-	default n
-	help
-	  Basic support for sound.
 
 config ADK_KPACKAGE_KMOD_SND_RAWMIDI
 	tristate
-	default n
-	help
 
 config ADK_KPACKAGE_KMOD_SND_AC97_CODEC
 	tristate
-	default n
-	help
-	 ALSA AC97 codec support.
 
 menu "Audio devices support"
 
@@ -66,7 +51,7 @@ config ADK_KPACKAGE_KMOD_SND_OSSEMUL
 	select ADK_KERNEL_SND_MIXER_OSS
 	select ADK_KERNEL_SND_PCM_OSS
 	select ADK_KPACKAGE_KMOD_SND
-	default y if ADK_HARDWARE_IBM_X40
+	default y if ADK_TARGET_SYSTEM_IBM_X40
 	default n
 	help
 	 ALSA OSS Emulation
@@ -76,7 +61,7 @@ config ADK_KPACKAGE_KMOD_SND_INTEL8X0
 	tristate
 	select ADK_KPACKAGE_KMOD_SND_AC97_CODEC
 	select ADK_KPACKAGE_KMOD_SND
-	default y if ADK_HARDWARE_IBM_X40
+	default y if ADK_TARGET_SYSTEM_IBM_X40
 	default n
 	help
 	  Driver for intel chipsets.	
@@ -84,7 +69,6 @@ config ADK_KPACKAGE_KMOD_SND_INTEL8X0
 config ADK_KPACKAGE_KMOD_SND_VIA82XX
 	prompt "kmod-snd-via82xx.............. ALSA VIA82XX driver"
 	tristate
-	depends on !(ADK_LINUX_CRIS_FOXBOARD || ADK_LINUX_ARM_FOXG20 )
 	select ADK_KPACKAGE_KMOD_SND
 	default n
 	help
@@ -93,7 +77,6 @@ config ADK_KPACKAGE_KMOD_SND_VIA82XX
 config ADK_KPACKAGE_KMOD_SND_ENS1370
 	prompt "kmod-snd-ens1370.............. ALSA Ensoniq 1370 driver"
 	tristate
-	depends on !(ADK_LINUX_CRIS_FOXBOARD || ADK_LINUX_ARM_FOXG20 )
 	select ADK_KPACKAGE_KMOD_SND
 	default n
 	help
@@ -104,8 +87,8 @@ config ADK_KPACKAGE_KMOD_SND_CS5535AUDIO
 	tristate
 	select ADK_KPACKAGE_KMOD_SND_AC97_CODEC
 	select ADK_KPACKAGE_KMOD_SND
-	default y if ADK_HARDWARE_LEMOTE_YEELONG
-	default y if ADK_HARDWARE_ALIX1C
+	default y if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
 	default n
 	help
 	 ALSA AMD CS5535 driver
@@ -136,7 +119,7 @@ config ADK_KPACKAGE_KMOD_VIDEO_DEV
 config ADK_KPACKAGE_KMOD_USB_VIDEO_CLASS
 	prompt "kmod-usb-video-class............ Kernel driver for USB video webcams"
 	tristate
-	depends on ADK_KPACKAGE_KMOD_USB || ADK_HARDWARE_LEMOTE_YEELONG
+	depends on ADK_KPACKAGE_KMOD_USB || ADK_TARGET_SYSTEM_LEMOTE_YEELONG
 	select ADK_KPACKAGE_KMOD_VIDEO_DEV
 	default n
 	help
diff --git a/target/linux/config/Config.in.netdevice b/target/linux/config/Config.in.netdevice
index a6a274813..c33b10868 100644
--- a/target/linux/config/Config.in.netdevice
+++ b/target/linux/config/Config.in.netdevice
@@ -15,6 +15,84 @@ config ADK_KERNEL_NET_PCI
 config ADK_KERNEL_NETDEV_1000
 	boolean
 
+config ADK_KERNEL_VIA_RHINE_MMIO
+	boolean
+
+config ADK_KERNEL_CPMAC
+	boolean
+	select ADK_KERNEL_NETDEVICES
+	select ADK_KERNEL_NET_ETHERNET
+	select ADK_KERNEL_NET_PCI
+	select ADK_KERNEL_MII
+	default y if ADK_TARGET_SYSTEM_LINKSYS_AG241
+	default n
+	help
+
+config ADK_KERNEL_MACB
+	boolean
+	select ADK_KERNEL_NETDEVICES
+	select ADK_KERNEL_NET_ETHERNET
+	select ADK_KERNEL_NET_PCI
+	select ADK_KERNEL_MII
+	default y if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
+	default n
+	help
+
+config ADK_KERNEL_NATSEMI
+	boolean
+	select ADK_KERNEL_NETDEVICES
+	select ADK_KERNEL_NET_ETHERNET
+	select ADK_KERNEL_NET_PCI
+	select ADK_KERNEL_MII
+	default y if ADK_TARGET_SYSTEM_PCENGINES_WRAP
+	default n
+	help
+
+config ADK_KERNEL_VIA_RHINE
+	boolean
+	select ADK_KERNEL_NETDEVICES
+	select ADK_KERNEL_NET_ETHERNET
+	select ADK_KERNEL_NET_PCI
+	select ADK_KERNEL_MII
+	default y if ADK_TARGET_SYSTEM_MIKROTIK_RB532
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
+	default n
+	help
+
+config ADK_KERNEL_KORINA
+	boolean
+	select ADK_KERNEL_NETDEVICES
+	select ADK_KERNEL_NET_ETHERNET
+	select ADK_KERNEL_NET_PCI
+	select ADK_KERNEL_MII
+	default y if ADK_TARGET_SYSTEM_MIKROTIK_RB532
+	default n
+	help
+
+config ADK_KERNEL_AG71XX
+	boolean
+	select ADK_KERNEL_NETDEVICES
+	select ADK_KERNEL_NET_ETHERNET
+	select ADK_KERNEL_NET_PCI
+	select ADK_KERNEL_MII
+	select ADK_KERNEL_NETDEV_1000
+	default y if ADK_TARGET_SYSTEM_MIKROTIK_RB411
+	default y if ADK_TARGET_SYSTEM_MIKROTIK_RB433
+	default n
+	help
+
+config ADK_KERNEL_B44
+	boolean
+	select ADK_KERNEL_NETDEVICES
+	select ADK_KERNEL_NET_ETHERNET
+	select ADK_KERNEL_NET_PCI
+	select ADK_KERNEL_MII
+	default y if ADK_TARGET_SYSTEM_LINKSYS_WRT54G
+	default n
+	help
+
 menu "Ethernet card support"
 depends on ADK_TARGET_WITH_PCI
 
@@ -78,9 +156,9 @@ config ADK_KPACKAGE_KMOD_E1000
 	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NETDEV_1000
-	default y if ADK_HARDWARE_IBM_X40
-	default y if ADK_HARDWARE_QEMU_X86
-	default y if ADK_HARDWARE_QEMU_X86_64
+	default y if ADK_TARGET_SYSTEM_IBM_X40
+	default y if ADK_TARGET_SYSTEM_QEMU_X86
+	default y if ADK_TARGET_SYSTEM_QEMU_X86_64
 	default n
 	help
 	  This driver supports Intel(R) PRO/1000 gigabit ethernet family of
@@ -95,7 +173,7 @@ config ADK_KPACKAGE_KMOD_SKY2
 	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NETDEV_1000
-	default y if ADK_HARDWARE_SHUTTLE_SA76G2
+	default y if ADK_TARGET_SYSTEM_SHUTTLE_SA76G2
 	default n
 	help
 
@@ -105,7 +183,7 @@ config ADK_KPACKAGE_KMOD_R8169
 	select ADK_KERNEL_NETDEVICES
 	select ADK_KERNEL_NET_ETHERNET
 	select ADK_KERNEL_NETDEV_1000
-	default y if ADK_HARDWARE_OVH_RPS
+	default y if ADK_TARGET_SYSTEM_OVH_RPS
 	default n
 	help
 
@@ -185,7 +263,7 @@ config ADK_KPACKAGE_KMOD_ATH5K
 	select ADK_KERNEL_ATH_COMMON
 	select ADK_KPACKAGE_KMOD_MAC80211
 	depends on ADK_TARGET_WITH_MINIPCI || ADK_TARGET_WITH_PCI
-	default y if ADK_HARDWARE_IBM_X40
+	default y if ADK_TARGET_SYSTEM_IBM_X40
 	default n
 	help
 	  Driver for Atheros 5xxx/24xx cards.
@@ -220,6 +298,7 @@ config ADK_KPACKAGE_KMOD_B43
 config ADK_KPACKAGE_KMOD_RTL8187
 	prompt "kmod-rtl8187................. Realtek RTL8187/RTL8187B wireless cards"
 	tristate
+	depends on ADK_TARGET_WITH_USB
 	default n
 	help
 	  Driver for Realtek RTL8187/RTL8187B wireless chips.
diff --git a/target/linux/config/Config.in.network b/target/linux/config/Config.in.network
index 1cfd5eac5..b7555bd12 100644
--- a/target/linux/config/Config.in.network
+++ b/target/linux/config/Config.in.network
@@ -41,12 +41,12 @@ config ADK_KERNEL_LLC
 	default n
 
 config ADK_KERNEL_IP_MULTICAST
-	prompt "Enable IP Multicasting"
+	prompt ".................................. Enable IP Multicasting"
 	boolean
 	default n
 
 config ADK_KERNEL_IP_MROUTE
-	prompt "Enable IP Multicasting Routing"
+	prompt ".................................. Enable IP Multicasting Routing"
 	boolean
 	default n
 
diff --git a/target/linux/config/Config.in.nls b/target/linux/config/Config.in.nls
index 517f5b5f9..c2a93fa06 100644
--- a/target/linux/config/Config.in.nls
+++ b/target/linux/config/Config.in.nls
@@ -2,6 +2,8 @@ menu "Native Language support"
 
 config ADK_KERNEL_NLS
 	boolean
+	default y if ADK_TARGET_SYSTEM_FOXBOARD_LX832
+	default y if ADK_TARGET_SYSTEM_FOXBOARD_LX416
 	default n
 
 config ADK_KERNEL_NLS_DEFAULT
@@ -557,4 +559,3 @@ config ADK_KPACKAGE_KMOD_NLS_UTF8
 	  the Unicode/ISO9646 universal character set.
 
 endmenu
-
diff --git a/target/linux/config/Config.in.pm b/target/linux/config/Config.in.pm
index 45e674efb..45bf12f37 100644
--- a/target/linux/config/Config.in.pm
+++ b/target/linux/config/Config.in.pm
@@ -35,7 +35,7 @@ config ADK_HARDWARE_ACPI
 	select ADK_KERNEL_ACPI_BUTTON
 	select ADK_KERNEL_ACPI_FAN
 	select ADK_KERNEL_ACPI_DOCK
-	default y if ADK_HARDWARE_IBM_X40
+	default y if ADK_TARGET_SYSTEM_IBM_X40
 	default n
 	help
 	 Enable ACPI support.
@@ -44,7 +44,7 @@ config ADK_KERNEL_SUSPEND
 	prompt "Enable Suspend support"
 	boolean
 	select ADK_KERNEL_PM
-	default y if ADK_HARDWARE_IBM_X40
+	default y if ADK_TARGET_SYSTEM_IBM_X40
 	default n
 	help
 	  Enable Suspend-to-RAM and Suspend-to-Disk support.
diff --git a/target/linux/config/Config.in.systems b/target/linux/config/Config.in.systems
new file mode 100644
index 000000000..40fd80a8c
--- /dev/null
+++ b/target/linux/config/Config.in.systems
@@ -0,0 +1,26 @@
+config ADK_KERNEL_MIKROTIK_RB532
+	boolean
+
+config ADK_KERNEL_AR7
+	boolean
+
+config ADK_KERNEL_BCM47XX
+	boolean
+
+config ADK_KERNEL_ATHEROS_AR71XX
+	boolean
+
+config ADK_KERNEL_AR71XX_MACH_RB4XX
+	boolean
+
+config ADK_KERNEL_ARCH_AT91
+	boolean
+
+config ADK_KERNEL_ARCH_AT91SAM9G20
+	boolean
+
+config ADK_KERNEL_MACH_FOXG20
+	boolean
+
+config ADK_KERNEL_AEABI
+	boolean
diff --git a/target/linux/config/Config.in.usb b/target/linux/config/Config.in.usb
index 9a07efcb7..b805e2b94 100644
--- a/target/linux/config/Config.in.usb
+++ b/target/linux/config/Config.in.usb
@@ -3,37 +3,32 @@ depends on ADK_TARGET_WITH_USB
 
 config ADK_KERNEL_USB_LIBUSUAL
 	tristate
-	default n
 
 config ADK_KERNEL_USB_SERIAL
 	boolean
-	default n
 
 config ADK_KERNEL_USB
 	boolean
-	default n
 
 config ADK_KERNEL_USB_STORAGE
 	boolean
-	default n
 
 config ADK_KERNEL_USB_EHCI_HCD
 	boolean
-	default n
 
 config ADK_KERNEL_USB_UHCI_HCD
 	boolean
-	default n
 
 config ADK_KPACKAGE_KMOD_USB
 	prompt "kmod-usb......................... USB support"
 	tristate
-	default y if ADK_HARDWARE_ALIX1C
-	default y if ADK_HARDWARE_ALIX2D2
-	default y if ADK_HARDWARE_ALIX2D13
-	default y if ADK_HARDWARE_IBM_X40
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
+	default y if ADK_TARGET_SYSTEM_IBM_X40
+	default y if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
 	default n
-	depends on !(ADK_LINUX_CRIS_FOXBOARD || ADK_LINUX_ARM_FOXG20 || ADK_KERNEL_USB)
+	depends on !ADK_KERNEL_USB
 	select ADK_KERNEL_NLS
 	help
 	  Universal Serial Bus (USB) is a specification for a serial bus
@@ -68,7 +63,7 @@ config ADK_KPACKAGE_KMOD_USB_UHCI_HCD
 	prompt   "kmod-usb-uhci................... Support for UHCI controllers"
 	tristate
 	depends on ADK_KPACKAGE_KMOD_USB
-	depends on !(ADK_LINUX_CRIS_FOXBOARD || ADK_KERNEL_USB_UHCI_HCD)
+	depends on !ADK_KERNEL_USB_UHCI_HCD
 	select ADK_PACKAGE_KMOD_USB_CONTROLLER
 	help
 	  The Universal Host Controller Interface is a standard by Intel for
@@ -83,12 +78,12 @@ config ADK_KPACKAGE_KMOD_USB_UHCI_HCD
 config ADK_KPACKAGE_KMOD_USB_OHCI_HCD
 	prompt   "kmod-usb-ohci................... Support for OHCI controllers"
 	tristate
-	default y if ADK_HARDWARE_ALIX1C
-	default y if ADK_HARDWARE_ALIX2D2
-	default y if ADK_HARDWARE_ALIX2D13
-	default y if ADK_HARDWARE_IBM_X40
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
+	default y if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
+	default y if ADK_TARGET_SYSTEM_IBM_X40
 	default n
-	depends on !ADK_LINUX_CRIS_FOXBOARD
 	depends on ADK_KPACKAGE_KMOD_USB
 	select ADK_PACKAGE_KMOD_USB_CONTROLLER
 	help
@@ -105,7 +100,6 @@ config ADK_KPACKAGE_KMOD_USB_ISP116X_HCD
 	prompt   "kmod-usb-isp116x................ ISP116X HCD support"
 	tristate
 	default n
-	depends on !(ADK_LINUX_CRIS_FOXBOARD || ADK_LINUX_ARM_FOXG20)
 	depends on ADK_KPACKAGE_KMOD_USB
 	select ADK_PACKAGE_KMOD_USB_CONTROLLER
 	help
@@ -118,7 +112,6 @@ config ADK_KPACKAGE_KMOD_USB_SL811_HCD
 	prompt   "kmod-usb-sl811.................. SL811HS HCD support"
 	tristate
 	default n
-	depends on !(ADK_LINUX_CRIS_FOXBOARD || ADK_LINUX_ARM_FOXG20)
 	depends on ADK_KPACKAGE_KMOD_USB
 	select ADK_PACKAGE_KMOD_USB_CONTROLLER
 	help
@@ -131,11 +124,11 @@ config ADK_KPACKAGE_KMOD_USB_SL811_HCD
 config ADK_KPACKAGE_KMOD_USB_EHCI_HCD
 	prompt   "kmod-usb-ehci................... Support for USB 2.0 controllers"
 	tristate
-	depends on !(ADK_LINUX_CRIS_FOXBOARD || ADK_KERNEL_USB_EHCI_HCD)
-	default y if ADK_HARDWARE_ALIX1C
-	default y if ADK_HARDWARE_ALIX2D2
-	default y if ADK_HARDWARE_ALIX2D13
-	default y if ADK_HARDWARE_IBM_X40
+	depends on !ADK_KERNEL_USB_EHCI_HCD
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
+	default y if ADK_TARGET_SYSTEM_IBM_X40
 	default n
 	depends on ADK_KPACKAGE_KMOD_USB
 	select ADK_PACKAGE_KMOD_USB_CONTROLLER
@@ -160,7 +153,7 @@ config ADK_KPACKAGE_KMOD_USB_EHCI_HCD
 
 config ADK_PACKAGE_KMOD_USB_CONTROLLER
 	tristate
-	depends on ADK_KPACKAGE_KMOD_USB_UHCI_HCD || ADK_KPACKAGE_KMOD_USB_OHCI_HCD || ADK_KPACKAGE_KMOD_EHCI_HCD || ADK_LINUX_CRIS_FOXBOARD || ADK_LINUX_ARM_FOXG20
+	depends on ADK_KPACKAGE_KMOD_USB_UHCI_HCD || ADK_KPACKAGE_KMOD_USB_OHCI_HCD || ADK_KPACKAGE_KMOD_EHCI_HCD
 	default n
 
 config ADK_KPACKAGE_KMOD_USB_ACM
diff --git a/target/linux/config/Config.in.watchdog b/target/linux/config/Config.in.watchdog
new file mode 100644
index 000000000..914099d0c
--- /dev/null
+++ b/target/linux/config/Config.in.watchdog
@@ -0,0 +1,70 @@
+config ADK_KERNEL_WATCHDOG
+	boolean
+
+config ADK_KERNEL_MISC_DEVICES
+	boolean
+
+config ADK_KERNEL_SCx200
+	boolean
+
+config ADK_KERNEL_CS5535_MFGPT
+	boolean
+
+config ADK_KERNEL_CS5535_CLOCK_EVENT_SRC
+	boolean
+
+menu "Watchdog support"
+
+config ADK_KERNEL_SCx200_WDT
+	prompt ".................................. Natsemi Hardware Watchdog" 
+	boolean
+	select ADK_KERNEL_WATCHDOG
+	select ADK_KERNEL_SCx200
+	default y if ADK_TARGET_SYSTEM_PCENGINES_WRAP
+	default n
+	help
+	  Natsemi Watchdog (scx200)
+
+config ADK_KERNEL_AT91SAM9X_WATCHDOG
+	prompt ".................................. AT91SAM9X Hardware Watchdog" 
+	boolean
+	select ADK_KERNEL_WATCHDOG
+	default y if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
+	default n
+	help
+	  AT91SAM9X Watchdog.
+
+config ADK_KERNEL_AR7_WDT
+	prompt ".................................. AR7 Hardware Watchdog" 
+	boolean
+	select ADK_KERNEL_WATCHDOG
+	default y if ADK_TARGET_SYSTEM_LINKSYS_AG241
+	default n
+	help
+	  AR7 Watchdog.
+
+config ADK_KERNEL_GEODE_WDT
+	prompt ".................................. Geode Hardware Watchdog"
+	boolean
+	select ADK_KERNEL_WATCHDOG
+	select ADK_KERNEL_MISC_DEVICES
+	select ADK_KERNEL_CS5535_MFGPT
+	select ADK_KERNEL_CS5535_CLOCK_EVENT_SRC
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2
+	default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
+	default n
+	help
+	 Geode watchdog.
+
+config ADK_KPACKAGE_KMOD_SOFT_WATCHDOG
+	prompt "kmod-softdog...................... Software watchdog"
+	tristate
+	default n
+	select ADK_KERNEL_WATCHDOG
+	help
+	  A software monitoring watchdog. This will fail to reboot your system
+	  from some situations that the hardware watchdog will recover
+	  from. Equally it's a lot cheaper to install.
+
+endmenu
-- 
cgit v1.2.3