--- linux-2.6.17-rmk-20jun2006-clock1/arch/arm/mach-s3c2410/clock.c	2006-06-20 18:25:31.000000000 +0100
+++ linux-2.6.17-rc5-2412-r11/arch/arm/mach-s3c2410/clock.c	2006-06-21 23:10:16.000000000 +0100
@@ -210,7 +213,7 @@ EXPORT_SYMBOL(clk_set_parent);
 
 /* base clocks */
 
-static struct clk clk_xtal = {
+struct clk clk_xtal = {
 	.name		= "xtal",
 	.id		= -1,
 	.rate		= 0,
@@ -218,6 +221,11 @@ static struct clk clk_xtal = {
 	.ctrlbit	= 0,
 };
 
+struct clk clk_mpll = {
+	.name		= "mpll",
+	.id		= -1,
+};
+
 struct clk clk_upll = {
 	.name		= "upll",
 	.id		= -1,
@@ -229,7 +237,7 @@ struct clk clk_f = {
 	.name		= "fclk",
 	.id		= -1,
 	.rate		= 0,
-	.parent		= NULL,
+	.parent		= &clk_mpll,
 	.ctrlbit	= 0,
 };
 
@@ -410,6 +418,7 @@ int __init s3c24xx_setup_clocks(unsigned
 	clk_xtal.rate = xtal;
 	clk_upll.rate = s3c2410_get_pll(__raw_readl(S3C2410_UPLLCON), xtal);
 
+	clk_mpll.rate = fclk;
 	clk_h.rate = hclk;
 	clk_p.rate = pclk;
 	clk_f.rate = fclk;
@@ -421,6 +430,9 @@ int __init s3c24xx_setup_clocks(unsigned
 	if (s3c24xx_register_clock(&clk_xtal) < 0)
 		printk(KERN_ERR "failed to register master xtal\n");
 
+	if (s3c24xx_register_clock(&clk_mpll) < 0)
+		printk(KERN_ERR "failed to register mpll clock\n");
+
 	if (s3c24xx_register_clock(&clk_upll) < 0)
 		printk(KERN_ERR "failed to register upll clock\n");
 
--- linux-2.6.17-rmk-20jun2006-clock1/arch/arm/mach-s3c2410/clock.h	2006-06-20 18:25:31.000000000 +0100
+++ linux-2.6.17-rc5-2412-r11/arch/arm/mach-s3c2410/clock.h	2006-06-13 19:49:27.000000000 +0100
@@ -41,7 +42,9 @@ extern struct clk clk_usb_bus;
 extern struct clk clk_f;
 extern struct clk clk_h;
 extern struct clk clk_p;
+extern struct clk clk_mpll;
 extern struct clk clk_upll;
+extern struct clk clk_xtal;
 
 /* exports for arch/arm/mach-s3c2410
  *

