diff --git a/configs/cairo_defconfig b/configs/cairo_defconfig
index c7124cf4259a77a87a4d2991b7d63d5e5a7f0a15..5c64d6970226333d0243986fd663777cb83399e7 100644
--- a/configs/cairo_defconfig
+++ b/configs/cairo_defconfig
@@ -27,6 +27,7 @@ CONFIG_CMD_SPI=y
 CONFIG_CMD_EXT4_WRITE=y
 CONFIG_CMD_MTDPARTS=y
 CONFIG_ENV_IS_IN_NAND=y
+CONFIG_TWL4030_LED=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_NAND=y
 CONFIG_SPL_NAND_SIMPLE=y
diff --git a/configs/cm_t35_defconfig b/configs/cm_t35_defconfig
index f8f1862c3f3d00292eacf96f2a2d87a734bf5c4c..c78aaf93d1dca400fa0a9f5dc0082b819f42c29e 100644
--- a/configs/cm_t35_defconfig
+++ b/configs/cm_t35_defconfig
@@ -39,6 +39,7 @@ CONFIG_LED_STATUS_BIT=186
 CONFIG_LED_STATUS_STATE=2
 CONFIG_LED_STATUS_BOOT_ENABLE=y
 CONFIG_LED_STATUS_BOOT=0
+CONFIG_TWL4030_LED=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD_PARTITIONS=y
 CONFIG_NAND=y
diff --git a/configs/devkit8000_defconfig b/configs/devkit8000_defconfig
index efb682837e6c70176369d45d4c54364d70f10eb2..41642abc8366f512eaeef2ad635809ab5016f8ce 100644
--- a/configs/devkit8000_defconfig
+++ b/configs/devkit8000_defconfig
@@ -25,6 +25,7 @@ CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nand0=nand"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=nand:512k(x-loader),1920k(u-boot),128k(u-boot-env),4m(kernel),-(fs)"
 CONFIG_ENV_IS_IN_NAND=y
+CONFIG_TWL4030_LED=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_NAND=y
 CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig
index b213a1844c85ad5029cb6a89ffef3a20dbfd25d7..fe2ecf6c944038684d5ea997efa0b92c55df0940 100644
--- a/configs/nokia_rx51_defconfig
+++ b/configs/nokia_rx51_defconfig
@@ -22,6 +22,7 @@ CONFIG_CMD_EXT2=y
 CONFIG_CMD_EXT4=y
 CONFIG_CMD_FAT=y
 # CONFIG_NET is not set
+CONFIG_TWL4030_LED=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_CONS_INDEX=3
 CONFIG_SYS_NS16550=y
diff --git a/configs/omap3_beagle_defconfig b/configs/omap3_beagle_defconfig
index f26f5ad28c7428d952a2f7e8200f9e60877626b0..0a402ccf5f5444c912f9bcd72860c3333be52853 100644
--- a/configs/omap3_beagle_defconfig
+++ b/configs/omap3_beagle_defconfig
@@ -50,6 +50,7 @@ CONFIG_LED_STATUS_BOOT=1
 CONFIG_LED_STATUS_GREEN_ENABLE=y
 CONFIG_LED_STATUS_GREEN=2
 CONFIG_LED_STATUS_CMD=y
+CONFIG_TWL4030_LED=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_NAND=y
 CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
diff --git a/configs/omap3_ha_defconfig b/configs/omap3_ha_defconfig
index c39e9717512661b08a2a0bdbcef92fe970ff31d0..6b3fb31aaa63ce619e36cb80ae12849c5ae1256d 100644
--- a/configs/omap3_ha_defconfig
+++ b/configs/omap3_ha_defconfig
@@ -25,6 +25,7 @@ CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nand0=nand"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=nand:512k(x-loader),1920k(u-boot),128k(u-boot-env),4m(kernel),-(fs)"
 CONFIG_ENV_IS_IN_NAND=y
+CONFIG_TWL4030_LED=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_NAND=y
 CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
diff --git a/configs/omap3_overo_defconfig b/configs/omap3_overo_defconfig
index 8b4146dccc85b804daf6b3cc49e782242ac26c2f..0c4a021bc5058d4ffd2dff6ca4b3d84bcb82e605 100644
--- a/configs/omap3_overo_defconfig
+++ b/configs/omap3_overo_defconfig
@@ -31,6 +31,7 @@ CONFIG_MTDIDS_DEFAULT="nand0=omap2-nand.0"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=omap2-nand.0:512k(xloader),1792k(u-boot),256k(environ),8m(linux),-(rootfs)"
 CONFIG_CMD_UBI=y
 CONFIG_ENV_IS_IN_NAND=y
+CONFIG_TWL4030_LED=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_NAND=y
 CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
diff --git a/configs/omap3_pandora_defconfig b/configs/omap3_pandora_defconfig
index b0b9444ab54ab99c6dbbbeee7fb9296e5e862211..6dce53834da50bd829946965486e3334ce133084 100644
--- a/configs/omap3_pandora_defconfig
+++ b/configs/omap3_pandora_defconfig
@@ -25,6 +25,7 @@ CONFIG_MTDIDS_DEFAULT="nand0=omap2-nand.0"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=omap2-nand.0:512k(xloader),1920k(uboot),128k(uboot-env),10m(boot),-(rootfs)"
 CONFIG_CMD_UBI=y
 CONFIG_ENV_IS_IN_NAND=y
+CONFIG_TWL4030_LED=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_NAND=y
 CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
diff --git a/configs/omap3_zoom1_defconfig b/configs/omap3_zoom1_defconfig
index 87d72286524c17414683885be6cf46d58c8e041f..48f3391c44187a17aad00b0914f6e79e87304f8f 100644
--- a/configs/omap3_zoom1_defconfig
+++ b/configs/omap3_zoom1_defconfig
@@ -22,6 +22,7 @@ CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nand0=nand"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=nand:512k(x-loader),1920k(u-boot),128k(u-boot-env),4m(kernel),-(fs)"
 CONFIG_ENV_IS_IN_NAND=y
+CONFIG_TWL4030_LED=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_NAND=y
 CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
diff --git a/configs/sniper_defconfig b/configs/sniper_defconfig
index 8ba6bc4030f90d827a55da28598141d2b1c445da..269d59ec539e00fadc49d551b200f404d4c77cf5 100644
--- a/configs/sniper_defconfig
+++ b/configs/sniper_defconfig
@@ -26,6 +26,7 @@ CONFIG_FASTBOOT_BUF_SIZE=0x2000000
 CONFIG_FASTBOOT_FLASH=y
 CONFIG_FASTBOOT_FLASH_MMC_DEV=0
 CONFIG_SYS_OMAP24_I2C_SPEED=400000
+CONFIG_TWL4030_INPUT=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_CONS_INDEX=3
 CONFIG_SYS_NS16550=y
diff --git a/configs/tao3530_defconfig b/configs/tao3530_defconfig
index d70d840b08321877a1b86007de7a9ed212383112..daca05e84bfe551368896e2fd2a9809a75bd850e 100644
--- a/configs/tao3530_defconfig
+++ b/configs/tao3530_defconfig
@@ -25,6 +25,7 @@ CONFIG_CMD_MTDPARTS=y
 CONFIG_MTDIDS_DEFAULT="nand0=nand"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=nand:512k(x-loader),1920k(u-boot),128k(u-boot-env),4m(kernel),-(fs)"
 CONFIG_ENV_IS_IN_NAND=y
+CONFIG_TWL4030_LED=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_NAND=y
 CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
diff --git a/configs/tricorder_defconfig b/configs/tricorder_defconfig
index 98c2cbd8f5fd6bde93d0d5b2e67f8a2ffa7d0c2b..f92d391e3f63e258df50990ff4fc56a158963b0f 100644
--- a/configs/tricorder_defconfig
+++ b/configs/tricorder_defconfig
@@ -34,6 +34,7 @@ CONFIG_LED_STATUS2=y
 CONFIG_LED_STATUS_BIT2=4
 CONFIG_LED_STATUS_STATE2=2
 CONFIG_LED_STATUS_CMD=y
+CONFIG_TWL4030_LED=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_NAND=y
 CONFIG_SPL_NAND_SIMPLE=y
diff --git a/configs/tricorder_flash_defconfig b/configs/tricorder_flash_defconfig
index ed851c7267027a17632d7b96d7831d94f73e5b31..b44a76656ef02e52229fb07c71117eede59a6b3e 100644
--- a/configs/tricorder_flash_defconfig
+++ b/configs/tricorder_flash_defconfig
@@ -33,6 +33,7 @@ CONFIG_LED_STATUS2=y
 CONFIG_LED_STATUS_BIT2=4
 CONFIG_LED_STATUS_STATE2=2
 CONFIG_LED_STATUS_CMD=y
+CONFIG_TWL4030_LED=y
 CONFIG_MMC_OMAP_HS=y
 CONFIG_NAND=y
 CONFIG_SPL_NAND_SIMPLE=y
diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig
index b3873c140d054a680d1bb3d39f8f09a5d3ff4fb6..7ffb949f12dced0827bc8a994375019fb0c0f328 100644
--- a/drivers/input/Kconfig
+++ b/drivers/input/Kconfig
@@ -24,3 +24,8 @@ config I8042_KEYB
 	  driver handles English and German keyboards - set the environment
 	  variable 'keymap' to "de" to select German. Keyboard repeat is
 	  handled by the keyboard itself.
+
+config TWL4030_INPUT
+	bool "Enable TWL4030 Input controller"
+	help
+	  Enable TWL4030 Input controller
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 6bcd49a1147e79a319a1059dff7501f7d737ef93..c2b7cc15db155f88759c11fbeb41372c0c0ed8b6 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -195,6 +195,11 @@ config TEGRA186_BPMP
 	  can make requests to the BPMP. This driver is similar to an MFD
 	  driver in the Linux kernel.
 
+config TWL4030_LED
+	bool "Enable TWL4030 LED controller"
+	help
+	  Enable this to add support for the TWL4030 LED controller.
+
 config WINBOND_W83627
 	bool "Enable Winbond Super I/O driver"
 	help
diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
index c7ac8d1fcc3e7f74c8eba2b75f0388316e9fbb2c..4970a16f5fb6b958a0e3106a6317ff3990417dcc 100644
--- a/include/configs/cm_t35.h
+++ b/include/configs/cm_t35.h
@@ -82,7 +82,6 @@
 /*
  * TWL4030
  */
-#define CONFIG_TWL4030_LED
 
 /*
  * Board NAND Info.
diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h
index dae76c3fbd5d3ae3f223203435f42fae3d23a547..1b175be387071442871d86106b31f3693674620f 100644
--- a/include/configs/devkit8000.h
+++ b/include/configs/devkit8000.h
@@ -54,7 +54,6 @@
 #undef	CONFIG_DM9000_DEBUG
 
 /* TWL4030 */
-#define CONFIG_TWL4030_LED		1
 
 /* Board NAND Info */
 #define CONFIG_JFFS2_NAND
diff --git a/include/configs/nokia_rx51.h b/include/configs/nokia_rx51.h
index f0b512c4fb1c82fcd6a8c95611292a97ad732be9..4bc0ecaf09fd9673a6907b2d95ab6a93335c7032 100644
--- a/include/configs/nokia_rx51.h
+++ b/include/configs/nokia_rx51.h
@@ -92,8 +92,6 @@
 /*
  * TWL4030
  */
-#define CONFIG_TWL4030_LED
-#define CONFIG_TWL4030_KEYPAD
 
 #define GPIO_SLIDE			71
 
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
index 1fbe27e1aad9bef4b0b2a6c80a02f62c80aa5538..7698a90c4e98115ec609286c6cbff5fc077e51b4 100644
--- a/include/configs/omap3_beagle.h
+++ b/include/configs/omap3_beagle.h
@@ -60,7 +60,6 @@
 /* DSS Support */
 
 /* TWL4030 LED Support */
-#define CONFIG_TWL4030_LED
 
 /* Environment */
 #define CONFIG_ENV_SIZE                 SZ_128K
diff --git a/include/configs/omap3_cairo.h b/include/configs/omap3_cairo.h
index 481cad5523141001d410d9ad198d9f360d5babbb..01334168af456ea5fe622630a29b14af5220f3aa 100644
--- a/include/configs/omap3_cairo.h
+++ b/include/configs/omap3_cairo.h
@@ -46,7 +46,6 @@
 /*
  * TWL4030
  */
-#define CONFIG_TWL4030_LED		1
 
 /*
  * Board NAND Info.
diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
index ebbde7852048af2e4c3d463761afd19fb745a371..35f3af4ae9ab7d631ea81f7e3eb0c00644e7c728 100644
--- a/include/configs/omap3_overo.h
+++ b/include/configs/omap3_overo.h
@@ -29,7 +29,6 @@
 /* I2C Support */
 
 /* TWL4030 LED */
-#define CONFIG_TWL4030_LED
 
 /* USB EHCI */
 #define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO	183
diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h
index 81c243203fc2c8a337b5ea14142a21b6b54c9c11..4e2eaa9952c4c826f12612cd18908c09c208fa32 100644
--- a/include/configs/omap3_pandora.h
+++ b/include/configs/omap3_pandora.h
@@ -24,7 +24,6 @@
  */
 
 /* TWL4030 LED */
-#define CONFIG_TWL4030_LED
 
 /*
  * NS16550 Configuration
diff --git a/include/configs/omap3_zoom1.h b/include/configs/omap3_zoom1.h
index 8d35efd7462f296933b9d0c1598a8fc1e14108d9..0a02ecdc149767b98fa69fbbf2bd618750f43d31 100644
--- a/include/configs/omap3_zoom1.h
+++ b/include/configs/omap3_zoom1.h
@@ -48,7 +48,6 @@
 /*
  * TWL4030
  */
-#define CONFIG_TWL4030_LED		1
 
 /*
  * Board NAND Info.
diff --git a/include/configs/sniper.h b/include/configs/sniper.h
index 7af035c3da2b8bdfb11703c9c62dc109139fb35a..aa78684b02fcfdb7070044ed5425af89ac937427 100644
--- a/include/configs/sniper.h
+++ b/include/configs/sniper.h
@@ -60,8 +60,6 @@
  * Input
  */
 
-#define CONFIG_TWL4030_INPUT
-
 /*
  * SPL
  */
diff --git a/include/configs/tao3530.h b/include/configs/tao3530.h
index 556219bd9f925f86cbcb38e08f8aead7c3e46f63..1384a35c0cfe6c4c675f898ee771f82e604cd86d 100644
--- a/include/configs/tao3530.h
+++ b/include/configs/tao3530.h
@@ -63,7 +63,6 @@
 /*
  * TWL4030
  */
-#define CONFIG_TWL4030_LED
 
 /*
  * Board NAND Info.
diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h
index 5fce1c634da5b25aa38b0edeadb8cc388343e8fd..cba49033a9a016fafb77ee88cd4f8856f2eebb34 100644
--- a/include/configs/tricorder.h
+++ b/include/configs/tricorder.h
@@ -60,7 +60,6 @@
 #define CONFIG_SYS_EEPROM_BUS_NUM	1
 
 /* TWL4030 */
-#define CONFIG_TWL4030_LED
 
 /* Board NAND Info */
 #define CONFIG_SYS_NAND_BASE		NAND_BASE	/* physical address */
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 83d9793a26bc4ce56c96fd23c96d0b49341ccdb7..63dd154c82c55031d8081bdacc2706e6a3c69d2d 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -4497,9 +4497,6 @@ CONFIG_TULIP_FIX_DAVICOM
 CONFIG_TULIP_SELECT_MEDIA
 CONFIG_TULIP_USE_IO
 CONFIG_TUXX1
-CONFIG_TWL4030_INPUT
-CONFIG_TWL4030_KEYPAD
-CONFIG_TWL4030_LED
 CONFIG_TWL6030_INPUT
 CONFIG_TWL6030_POWER
 CONFIG_TWR