diff -ruNp 811-Kconfig-and-Makefile-for-suspend2-old/kernel/power/Kconfig 811-Kconfig-and-Makefile-for-suspend2-new/kernel/power/Kconfig
--- 811-Kconfig-and-Makefile-for-suspend2-old/kernel/power/Kconfig	2004-12-10 14:27:11.000000000 +1100
+++ 811-Kconfig-and-Makefile-for-suspend2-new/kernel/power/Kconfig	2004-12-14 08:10:31.897374984 +1100
@@ -30,6 +30,8 @@ config SOFTWARE_SUSPEND
 	bool "Software Suspend (EXPERIMENTAL)"
 	depends on EXPERIMENTAL && PM && SWAP
 	---help---
+	  Pavel's original version.
+
 	  Enable the possibility of suspending the machine.
 	  It doesn't need APM.
 	  You may suspend your machine by 'swsusp' or 'shutdown -z <time>' 
@@ -72,3 +74,120 @@ config PM_STD_PARTITION
 	  suspended image to. It will simply pick the first available swap 
 	  device.
 
+menu "Software Suspend 2"
+
+config SOFTWARE_SUSPEND2
+	tristate "Software Suspend 2"
+	depends on PM
+	---help---
+	  Software Suspend 2 is the 'new and improved' suspend support. You
+	  can now build it as modules, but be aware that this requires
+	  initrd support (the modules you use in saving the image have to
+	  be loaded in order for you to be able to resume!)
+	  
+	  See the Software Suspend home page (softwaresuspend.berlios.de)
+	  for FAQs, HOWTOs and other documentation.
+
+config SOFTWARE_SUSPEND2_BUILTIN
+	def_bool SOFTWARE_SUSPEND2
+
+if SOFTWARE_SUSPEND2
+	comment 'Image Storage (you need at least one writer)'
+	depends on SOFTWARE_SUSPEND2_CORE
+	
+	config SOFTWARE_SUSPEND_SWAPWRITER
+		tristate '   Swap Writer'
+		depends on SWAP && SOFTWARE_SUSPEND2
+		---help---
+		  This option enabled support for storing an image in your
+		  swap space. Swap partitions are supported. Swap file
+		  support is currently broken (16 April 2004).
+
+	comment 'Page Transformers'
+
+	config SOFTWARE_SUSPEND_LZF_COMPRESSION
+		tristate '   LZF image compression (Preferred)'
+		select LZF
+		---help---
+		  This option enables compression of pages stored during suspending
+		  to disk, using LZF compression. LZF compression is fast and
+		  still achieves a good compression ratio.
+
+		  You probably want to say 'Y'.
+
+	config SOFTWARE_SUSPEND_DEVICE_MAPPER
+		tristate '   Device Mapper support'
+		depends on BLK_DEV_DM
+		---help---
+		  This option creates a module which allows Suspend to tell the
+		  device mapper code to allocate enough memory for its work while
+		  suspending. It doesn't do anything else, but without it, dm-crypt
+		  won't work properly.
+
+		  This option should be off for most people.
+
+	comment 'User Interface Options'
+
+	config SOFTWARE_SUSPEND_BOOTSPLASH
+		tristate '  Bootsplash support'
+		depends on BOOTSPLASH
+		---help---
+		  This option enables support for Bootsplash (bootsplash.org). Suspend
+		  can set the progress bar value and switch between silent and verbose
+		  modes. (Silent mode is used when the debug level is 0 or 1). 
+
+	config SOFTWARE_SUSPEND_TEXT_MODE
+		tristate '  Text mode console support'
+		depends on VT
+		---help---
+		  This option enables support for a text mode 'nice display'. If you don't
+		  have/want bootsplash support, you probably want this.
+
+	comment 'General Options'
+
+	config SOFTWARE_SUSPEND_DEFAULT_RESUME2
+		string '   Default resume device name'
+		---help---
+		  You normally need to add a resume2= parameter to your lilo.conf or
+		  equivalent. With this option properly set, the kernel has a value
+		  to default. No damage will be done if the value is invalid.
+
+	config SOFTWARE_SUSPEND_KEEP_IMAGE
+		bool '   Allow Keep Image Mode'
+		---help---
+		  This option allows you to keep and image and reuse it. It is intended
+		  __ONLY__ for use with systems where all filesystems are mounted read-
+		  only (kiosks, for example). To use it, compile this option in and boot
+		  normally. Set the KEEP_IMAGE flag in /proc/software_suspend and suspend.
+		  When you resume, the image will not be removed. You will be unable to turn
+		  off swap partitions (assuming you are using the swap writer), but future
+		  suspends simply do a power-down. The image can be updated using the
+		  kernel command line parameter suspend_act= to turn off the keep image
+		  bit. Keep image mode is a little less user friendly on purpose - it
+		  should not be used without thought!
+
+	comment 'Debugging'
+
+	config SOFTWARE_SUSPEND_DEBUG
+		bool '   Compile in debugging output'
+		---help---
+		  This option enables the inclusion of debugging info in the software
+		  suspend code. Turning it off will reduce the kernel size but make
+		  debugging suspend & resume issues harder to do.
+
+		  For normal usage, this option can be turned off.
+
+	config SOFTWARE_SUSPEND_CHECKSUMS
+		tristate '   Compile checksum module'
+		---help---
+		  This option enables compilation of a checksumming module, which can
+		  be used to verify the correct operation of suspend.
+
+		  For normal usage, this option can be turned off.
+endif
+
+endmenu
+
+comment 'Suspend2 depends on EXPERIMENTAL and PM support.'
+	depends on !EXPERIMENTAL || !PM
+
diff -ruNp 811-Kconfig-and-Makefile-for-suspend2-old/kernel/power/Makefile 811-Kconfig-and-Makefile-for-suspend2-new/kernel/power/Makefile
--- 811-Kconfig-and-Makefile-for-suspend2-old/kernel/power/Makefile	2004-11-03 21:55:05.000000000 +1100
+++ 811-Kconfig-and-Makefile-for-suspend2-new/kernel/power/Makefile	2004-12-14 08:10:41.958845408 +1100
@@ -6,6 +6,15 @@ endif
 swsusp-smp-$(CONFIG_SMP)	+= smp.o
 
 obj-y				:= main.o process.o console.o pm.o
+obj-$(CONFIG_SOFTWARE_SUSPEND2_BUILTIN)	+= suspend_builtin.o proc.o
+obj-$(CONFIG_SOFTWARE_SUSPEND2)			+= suspend2_core/
+obj-$(CONFIG_SOFTWARE_SUSPEND_BOOTSPLASH)	+= suspend_bootsplash.o
+obj-$(CONFIG_SOFTWARE_SUSPEND_TEXT_MODE)	+= suspend_text.o
+obj-$(CONFIG_SOFTWARE_SUSPEND_LZF_COMPRESSION)	+= suspend_lzf.o
+obj-$(CONFIG_SOFTWARE_SUSPEND_DEVICE_MAPPER)	+= suspend_dm.o
+obj-$(CONFIG_SOFTWARE_SUSPEND_SWAPWRITER)	+= suspend_block_io.o suspend_swap.o
+obj-$(CONFIG_SOFTWARE_SUSPEND_CHECKSUMS)	+= suspend_checksums.o
+
 obj-$(CONFIG_SOFTWARE_SUSPEND)	+= swsusp.o $(swsusp-smp-y) disk.o
 
 obj-$(CONFIG_MAGIC_SYSRQ)	+= poweroff.o
diff -ruNp 811-Kconfig-and-Makefile-for-suspend2-old/kernel/power/suspend2_core/Makefile 811-Kconfig-and-Makefile-for-suspend2-new/kernel/power/suspend2_core/Makefile
--- 811-Kconfig-and-Makefile-for-suspend2-old/kernel/power/suspend2_core/Makefile	1970-01-01 10:00:00.000000000 +1000
+++ 811-Kconfig-and-Makefile-for-suspend2-new/kernel/power/suspend2_core/Makefile	2004-12-14 07:18:24.000000000 +1100
@@ -0,0 +1,7 @@
+
+suspend_core-objs := io.o pagedir.o prepare_image.o \
+		extent.o suspend.o plugins.o utility.o \
+		driver_model.o pageflags.o ui.o proc.o
+
+suspend_core-$(CONFIG_SOFTWARE_SUSPEND_DEBUG)	+= debug.o
+obj-$(CONFIG_SOFTWARE_SUSPEND2)			+= suspend_core.o
