linux-mips
[Top] [All Lists]

[PATCH] rbtx4938: Provide minimum CLK API implementation

To: linux-mips@linux-mips.org
Subject: [PATCH] rbtx4938: Provide minimum CLK API implementation
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Sat, 07 Jul 2007 23:57:20 +0900 (JST)
Cc: ralf@linux-mips.org
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
Implement a minimum CLK API to pass a base clock to spi_txx9 driver.
This patch also remove old hack (abusing resource framework) which was
only for preliminary version of the spi_txx9 driver.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
---
This patch can be folded into a patch in linux-queue tree titled:
"[MIPS] rbtx4938: Convert SPI codes to use generic SPI drivers"

 arch/mips/tx4938/toshiba_rbtx4938/setup.c |   37 +++++++++++++++++++++++++---
 1 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/arch/mips/tx4938/toshiba_rbtx4938/setup.c 
b/arch/mips/tx4938/toshiba_rbtx4938/setup.c
index 330ee43..361d89a 100644
--- a/arch/mips/tx4938/toshiba_rbtx4938/setup.c
+++ b/arch/mips/tx4938/toshiba_rbtx4938/setup.c
@@ -20,6 +20,7 @@
 #include <linux/pci.h>
 #include <linux/pm.h>
 #include <linux/platform_device.h>
+#include <linux/clk.h>
 
 #include <asm/wbflush.h>
 #include <asm/reboot.h>
@@ -1121,10 +1122,6 @@ static void __init txx9_spi_init(unsigned long base, int 
irq)
                }, {
                        .start  = irq,
                        .flags  = IORESOURCE_IRQ,
-               }, {
-                       .name   = "baseclk",
-                       .start  = txx9_gbus_clock / 2 / 4,
-                       .flags  = IORESOURCE_IRQ,
                },
        };
        platform_device_register_simple("txx9spi", 0,
@@ -1149,3 +1146,35 @@ static int __init rbtx4938_spi_init(void)
        return 0;
 }
 arch_initcall(rbtx4938_spi_init);
+
+/* Minimum CLK support */
+
+struct clk *clk_get(struct device *dev, const char *id)
+{
+       if (!strcmp(id, "spi-baseclk"))
+               return (struct clk *)(txx9_gbus_clock / 2 / 4);
+       return ERR_PTR(-ENOENT);
+}
+EXPORT_SYMBOL(clk_get);
+
+int clk_enable(struct clk *clk)
+{
+       return 0;
+}
+EXPORT_SYMBOL(clk_enable);
+
+void clk_disable(struct clk *clk)
+{
+}
+EXPORT_SYMBOL(clk_disable);
+
+unsigned long clk_get_rate(struct clk *clk)
+{
+       return (unsigned long)clk;
+}
+EXPORT_SYMBOL(clk_get_rate);
+
+void clk_put(struct clk *clk)
+{
+}
+EXPORT_SYMBOL(clk_put);




<Prev in Thread] Current Thread [Next in Thread>