Convert CONFIG_JFFS2_DEV et al to Kconfig

This converts the following to Kconfig:
   CONFIG_JFFS2_DEV
   CONFIG_JFFS2_LZO
   CONFIG_JFFS2_NAND
   CONFIG_JFFS2_PART_OFFSET
   CONFIG_JFFS2_PART_SIZE

Signed-off-by: Tom Rini <trini@konsulko.com>
diff --git a/README b/README
index 9935666..edf801e 100644
--- a/README
+++ b/README
@@ -999,9 +999,6 @@
 		sending again an USB request to the device.
 
 - Journaling Flash filesystem support:
-		CONFIG_JFFS2_NAND
-		Define these for a default partition on a NAND device
-
 		CONFIG_SYS_JFFS2_FIRST_SECTOR,
 		CONFIG_SYS_JFFS2_FIRST_BANK, CONFIG_SYS_JFFS2_NUM_BANKS
 		Define these for a default partition on a NOR device
diff --git a/cmd/Kconfig b/cmd/Kconfig
index 7747ab5..ef82f79 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -2219,6 +2219,27 @@
 	  provide the ability to load files, list directories and obtain
 	  filesystem information.
 
+config JFFS2_DEV
+	string "Default device for JFFS2"
+	depends on CMD_JFFS2
+	default "nor0"
+	help
+	  The default device to use with the jffs2 command.
+
+config JFFS2_PART_OFFSET
+	hex "Default offset within flash to locate the JFFS2 image"
+	depends on CMD_JFFS2
+	default 0x0
+	help
+	  The default offset within flash to locate the JFFS2 image.
+
+config JFFS2_PART_SIZE
+	hex "Default size of JFFS2 partition"
+	depends on CMD_JFFS2
+	default 0xFFFFFFFF
+	help
+	  The default size of the JFFS2 partition
+
 config CMD_MTDPARTS
 	bool "MTD partition support"
 	depends on MTD
diff --git a/cmd/jffs2.c b/cmd/jffs2.c
index 63bd552..6f15b57 100644
--- a/cmd/jffs2.c
+++ b/cmd/jffs2.c
@@ -360,11 +360,7 @@
 		/* id */
 		id->mtd_id = "single part";
 
-#if defined(CONFIG_JFFS2_DEV)
 		dev_name = CONFIG_JFFS2_DEV;
-#else
-		dev_name = "nor0";
-#endif
 
 		if ((mtd_id_parse(dev_name, NULL, &id->type, &id->num) != 0) ||
 				(mtd_device_validate(id->type, id->num, &size) != 0)) {
@@ -382,17 +378,9 @@
 		part->name = "static";
 		part->auto_name = 0;
 
-#if defined(CONFIG_JFFS2_PART_SIZE)
 		part->size = CONFIG_JFFS2_PART_SIZE;
-#else
-		part->size = SIZE_REMAINING;
-#endif
 
-#if defined(CONFIG_JFFS2_PART_OFFSET)
 		part->offset = CONFIG_JFFS2_PART_OFFSET;
-#else
-		part->offset = 0x00000000;
-#endif
 
 		part->dev = current_mtd_dev;
 		INIT_LIST_HEAD(&part->link);
diff --git a/configs/devkit8000_defconfig b/configs/devkit8000_defconfig
index 4017eb6..4034f9c 100644
--- a/configs/devkit8000_defconfig
+++ b/configs/devkit8000_defconfig
@@ -27,6 +27,9 @@
 CONFIG_BOOTP_DNS2=y
 CONFIG_BOOTP_NTPSERVER=y
 CONFIG_CMD_JFFS2=y
+CONFIG_JFFS2_DEV="nand0"
+CONFIG_JFFS2_PART_OFFSET=0x680000
+CONFIG_JFFS2_PART_SIZE=0xF980000
 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)"
@@ -50,4 +53,5 @@
 CONFIG_SYS_NAND_U_BOOT_LOCATIONS=y
 CONFIG_SYS_NAND_U_BOOT_OFFS=0x80000
 CONFIG_CONS_INDEX=3
+CONFIG_JFFS2_NAND=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/ethernut5_defconfig b/configs/ethernut5_defconfig
index e7ebfef..1821b23 100644
--- a/configs/ethernut5_defconfig
+++ b/configs/ethernut5_defconfig
@@ -81,3 +81,4 @@
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_USB=y
+CONFIG_JFFS2_NAND=y
diff --git a/configs/ids8313_defconfig b/configs/ids8313_defconfig
index 4ee97ae..246cc3d 100644
--- a/configs/ids8313_defconfig
+++ b/configs/ids8313_defconfig
@@ -199,4 +199,5 @@
 CONFIG_RTC_PCF8563=y
 CONFIG_SYS_NS16550=y
 CONFIG_WATCHDOG=y
+CONFIG_JFFS2_NAND=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/nas220_defconfig b/configs/nas220_defconfig
index 259eb2f..7e4e19a 100644
--- a/configs/nas220_defconfig
+++ b/configs/nas220_defconfig
@@ -54,3 +54,5 @@
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_NAND=y
diff --git a/configs/pm9263_defconfig b/configs/pm9263_defconfig
index c755aaa..e8a5b4d 100644
--- a/configs/pm9263_defconfig
+++ b/configs/pm9263_defconfig
@@ -31,6 +31,8 @@
 CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_JFFS2=y
+CONFIG_JFFS2_DEV="nand0"
+CONFIG_JFFS2_PART_SIZE=0x10000000
 CONFIG_MTDIDS_DEFAULT="nor0=physmap-flash.0,nand0=nand"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=physmap-flash.0:256k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),-(rootfs);nand:-(nand)"
 CONFIG_OF_CONTROL=y
@@ -63,3 +65,4 @@
 CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP32 is not set
 CONFIG_LCD=y
+CONFIG_JFFS2_NAND=y
diff --git a/fs/jffs2/Kconfig b/fs/jffs2/Kconfig
index 1b9ecdd..0e79c34 100644
--- a/fs/jffs2/Kconfig
+++ b/fs/jffs2/Kconfig
@@ -5,3 +5,15 @@
 	  Flash File System version 2). JFFS2 is a log-structured file system
 	  for use with flash memory devices. It supports raw NAND devices,
 	  hard links and compression.
+
+config JFFS2_LZO
+	bool "Enable LZO compression in JFFS2"
+	depends on FS_JFFS2
+	help
+	  Enable LZO compression in the JFFS2 filesystem
+
+config JFFS2_NAND
+	bool "Enable JFFS2 support for NAND flash"
+	depends on FS_JFFS2
+	help
+	  Enable support for NAND flash as the backing store for JFFS2.
diff --git a/include/configs/M5329EVB.h b/include/configs/M5329EVB.h
index 16343b5..f96f54e 100644
--- a/include/configs/M5329EVB.h
+++ b/include/configs/M5329EVB.h
@@ -135,10 +135,6 @@
 #	define CONFIG_SYS_NAND_SIZE		1
 #	define CONFIG_SYS_NAND_BASE_LIST	{ CONFIG_SYS_NAND_BASE }
 #	define NAND_ALLOW_ERASE_ALL	1
-#	define CONFIG_JFFS2_NAND	1
-#	define CONFIG_JFFS2_DEV		"nand0"
-#	define CONFIG_JFFS2_PART_SIZE	(CONFIG_SYS_CS2_MASK & ~1)
-#	define CONFIG_JFFS2_PART_OFFSET	0x00000000
 #endif
 
 #define CONFIG_SYS_FLASH_BASE		CONFIG_SYS_CS0_BASE
diff --git a/include/configs/M5373EVB.h b/include/configs/M5373EVB.h
index ccc59eb..b790601 100644
--- a/include/configs/M5373EVB.h
+++ b/include/configs/M5373EVB.h
@@ -137,10 +137,6 @@
 #	define CONFIG_SYS_NAND_SIZE		1
 #	define CONFIG_SYS_NAND_BASE_LIST	{ CONFIG_SYS_NAND_BASE }
 #	define NAND_ALLOW_ERASE_ALL	1
-#	define CONFIG_JFFS2_NAND	1
-#	define CONFIG_JFFS2_DEV		"nand0"
-#	define CONFIG_JFFS2_PART_SIZE	(CONFIG_SYS_CS2_MASK & ~1)
-#	define CONFIG_JFFS2_PART_OFFSET	0x00000000
 #endif
 
 #define CONFIG_SYS_FLASH_BASE		CONFIG_SYS_CS0_BASE
diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h
index d813d92..9282f83 100644
--- a/include/configs/devkit8000.h
+++ b/include/configs/devkit8000.h
@@ -46,15 +46,6 @@
 
 /* TWL4030 */
 
-/* Board NAND Info */
-#define CONFIG_JFFS2_NAND
-/* nand device jffs2 lives on */
-#define CONFIG_JFFS2_DEV		"nand0"
-/* start of jffs2 partition */
-#define CONFIG_JFFS2_PART_OFFSET	0x680000
-#define CONFIG_JFFS2_PART_SIZE		0xf980000	/* size of jffs2 */
-							/* partition */
-
 /* BOOTP/DHCP options */
 #define CONFIG_BOOTP_NISDOMAIN
 #define CONFIG_BOOTP_BOOTFILESIZE
diff --git a/include/configs/ethernut5.h b/include/configs/ethernut5.h
index 75409a4..ccf615e 100644
--- a/include/configs/ethernut5.h
+++ b/include/configs/ethernut5.h
@@ -54,9 +54,6 @@
 #endif
 
 /* JFFS2 */
-#ifdef CONFIG_CMD_JFFS2
-#define CONFIG_JFFS2_NAND
-#endif
 
 /* Ethernet */
 #define CONFIG_NET_RETRY_COUNT		20
diff --git a/include/configs/ids8313.h b/include/configs/ids8313.h
index c88c72d..206a57a 100644
--- a/include/configs/ids8313.h
+++ b/include/configs/ids8313.h
@@ -233,9 +233,6 @@
 #define CONFIG_TIMESTAMP
 #undef	CONFIG_SYS_LOADS_BAUD_CHANGE
 
-#define CONFIG_JFFS2_NAND
-#define CONFIG_JFFS2_DEV		"0"
-
 /* mtdparts command line support */
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
diff --git a/include/configs/imx27lite-common.h b/include/configs/imx27lite-common.h
index c289d69..dffe175 100644
--- a/include/configs/imx27lite-common.h
+++ b/include/configs/imx27lite-common.h
@@ -103,7 +103,6 @@
 #define CONFIG_MXC_NAND_REGS_BASE	0xd8000000
 #define CONFIG_SYS_MAX_NAND_DEVICE	1
 #define CONFIG_SYS_NAND_BASE		0xd8000000
-#define CONFIG_JFFS2_NAND
 #define CONFIG_MXC_NAND_HWECC
 
 /*
diff --git a/include/configs/nas220.h b/include/configs/nas220.h
index a4347ae..815f81f 100644
--- a/include/configs/nas220.h
+++ b/include/configs/nas220.h
@@ -54,12 +54,6 @@
 #endif /* CONFIG_CMD_NET */
 
 /*
- * File system
- */
-#define CONFIG_JFFS2_NAND
-#define CONFIG_JFFS2_LZO
-
-/*
  * EFI partition
  */
 
diff --git a/include/configs/pm9263.h b/include/configs/pm9263.h
index d4f7870..e9eb736 100644
--- a/include/configs/pm9263.h
+++ b/include/configs/pm9263.h
@@ -179,11 +179,6 @@
 
 #endif
 
-#define CONFIG_JFFS2_NAND		1
-#define CONFIG_JFFS2_DEV		"nand0" /* NAND device jffs2 lives on */
-#define CONFIG_JFFS2_PART_OFFSET	0	/* start of jffs2 partition */
-#define CONFIG_JFFS2_PART_SIZE		(256 * 1024 * 1024) /* partition size*/
-
 /* PSRAM */
 #define	PHYS_PSRAM			0x70000000
 #define	PHYS_PSRAM_SIZE			0x00400000	/* 4MB */
diff --git a/include/configs/stmark2.h b/include/configs/stmark2.h
index 1a5cf6b..18a57f2 100644
--- a/include/configs/stmark2.h
+++ b/include/configs/stmark2.h
@@ -41,9 +41,6 @@
 #define CONFIG_RTC_MCFRRTC
 #define CONFIG_SYS_MCFRRTC_BASE		0xFC0A8000
 
-/* spi not partitions */
-#define CONFIG_JFFS2_DEV		"nor0"
-
 /* Timer */
 #define CONFIG_MCFTMR
 
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 9f1a916..38e2c1f 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -461,10 +461,6 @@
 CONFIG_IRAM_STACK
 CONFIG_IRAM_TOP
 CONFIG_IRDA_BASE
-CONFIG_JFFS2_DEV
-CONFIG_JFFS2_LZO
-CONFIG_JFFS2_NAND
-CONFIG_JFFS2_PART_OFFSET
 CONFIG_JFFS2_PART_SIZE
 CONFIG_JRSTARTR_JR0
 CONFIG_KEEP_SERVERADDR